You finally decided it's time to get a 3D Printer. It's love at first sight, the power of taking things you see and seeing them materialize in front of your very own eyes in shiny PLA plastic. Great, isn't it?
That is... until you get past your first 2 or 3 prints, then the horrible routine sets in:
- Find a file to print
- Slice it
- Go find your SD card from the printer
- Where the SD adapter again? Right, plug it in
- Save STL the the card
- Safely remove it from windows
- Go back to the printer
- The print fails 50% of the way and you're met with a mess of spaghetti.
"There must be a better way!" - You say as if reading from an As Seen on TV script.
Sound familiar? Well, Octoprint is here to save the day.
"OKAndrei,butwhere do I find a Pi without selling an arm and a leg?"
There are other Single Board Computers out there, and some don't even require dumb things like an SD card to boot. BeaglePlay is one such board, with 16GB of rugged, fast eMMC on-board to the rescue!
This shiny new SBC from the BeagleBoard Foundation lets you do everything a Pi can do and doesn't try to force you into buying a bunch of accessories just to get it booted up. Just plug in power and off you go!
Accessories Required:- A 3D Printer (Marlin Compatible - Creality Ender 3 Pro shown)
- The titular BeaglePlay
- USB-C Power Supply for the Beagle, Micro-USB cable for 3D printer
- USB Hub (2 total USB ports needed for Printer + Camera)
- USB Camera (Logitech C920 used) → CSI camera also works
The first step is to install a magical piece of software called Docker. It's like a virtual machine, but instead of virtualizing a whole operating system, it runs locally and just gives you all the bits and pieces needed for a complex application.
curl -sSL https://get.docker.com | shStep 2- Install the Octoprint Docker Container
Now let's get octoprint
docker volume create octoprint
docker run -d -v octoprint:/octoprint --device /dev/ttyACM0:/dev/ttyACM0 --device /dev/video0:/dev/video0 -e ENABLE_MJPG_STREAMER=true -p 80:8002 --name octoprint octoprint/octoprint
docker volume create octoprint
First we create the volume that will contain our octoprint install.
docker run -d -v octoprint:/octoprint --device /dev/ttyACM0:/dev/ttyACM0 --device /dev/video0:/dev/video0 -e ENABLE_MJPG_STREAMER=true -p 80:8002 --name octoprint octoprint/octoprint
This next command is important, so let's look at the syntax.
The command above calls docker, tells it to run a container it pulls from the octoprint/octoprint repository, and passes two devices to it: the first is the serial COM port that comes from the 3D printer, on BeaglePlay it should enumerate as /dev/ttyACM0 and the second is a USB Webcam, in this case a Logitech C920 which shows up at /dev/video0.
Note that we have to type the devices twice with a ":" between them because in this case we are binding a physical device on the board to a virtual device we create within the Docker container.
The last important bit comes after the -p because it forwards port 80 of the container to a port 8002 that is accessible from a remote computer, so for example, if the Beagle IP adress is 192.168.1.12, the web UI for octoprint will be accessible by navigating to 192.168.1.12:8002 from a computer on the same network.
Technical jargon out of the way though... that was easy, wasn't it?
There are many more options that can be configured, for more please see https://hub.docker.com/r/octoprint/octoprint
Step 3- Setup Octoprint.Simply follow the Web based setup wizard, if you need help, the 30 seconds or so in the next video should get you going - Shoutout to Thomas for the great 3D printing content.
Step 4- BONUS - Setup OctolapseOctolapse is an Octoprint plugin that enables the user to create buttery-smooth time-lapses like the one shown above.
TeachingTech has a great guide for getting started and customizing it here:
Step 5- Drag and drop a Pre-Sliced G-Code file, hit print and watch the magic!Congratulations! You just went from Zero to a working 3D Printer controller!Want to take it further? Install a 3rd party Octoprint app on your iOS or Android device and monitor and control your print remotely and make sure to check out the Octoprint add-on store to truly make the experience your own.
Comments