How to add a smartphone-controlled brain to your 3D printer for about fifty bucks

Ready for some buzzword salad? David Gewirtz combines OctoPrint with OctoPi on the Raspberry Pi to drive his LulzBot Mini 3D printer. It's actually harder to say than to do. Read on to learn how.
Written by David Gewirtz, Senior Contributing Editor

The entry fee to 3D printing has been dropping like a rock. Powerful, multi-filament printers like the LulzBot Mini are available for a little over a thousand dollars. Inexpensive, fully-built 3D printers are now widely available for under $500. There are even a few under $200. But as prices drop, so do available features.

One way vendors have been able to keep costs down is by requiring buyers to dedicate a PC to driving the printer. Because it can take hours, or even days, for a print to complete, it can become quite inconvenient to have to leave a laptop sitting next to the printer, merely to make sure the motors on the printer keep running.

When I got the LulzBot Mini, a very powerful little printer which relies entirely on a computer controlling it over USB, I had to dig up an old spare PC, update it, and connect it. I didn't like the fact that it took up space on my workbench next to the printer, either.

I guess I'd gotten spoiled with the MakerBot, which, admittedly, is a lot more expensive. It provides network control and a smartphone monitoring interface. This allows me to sit at my comfy desk and check on the print, rather than going back and forth into the hot garage.

As it turns out, with a little tinkering, much of that capability is possible with an inexpensive Raspberry Pi. Last week, I provided a brief introduction to the Raspberry Pi. This week, it was time to put it to work.

The key to this is a piece of software called OctoPrint. It's an open source, volunteer effort by Gina Häußge, a developer in Obertshausen, Germany. OctoPrint runs as a server on the Raspberry Pi and provides a Web interface for commanding and controlling the printer. Another developer, Guy Sheffer, created a custom distribution of Raspbian (itself a customized distribution of Debian), which is called OctoPi.

So, if you've been taking notes, OctoPrint runs on OctoPi, which itself runs on the Raspberry Pi. And all of that runs the 3D printer. It's actually easier than it sounds.

As the video above shows, all you need to do is download the distribution to a computer, write a bootable image to a microSD card, move that microSD card to the Raspberry Pi, plug that bad boy into your printer, and let it boot. Then connect to it via either its local IP address or at octopi.local, and you're all set.

Yeah, I know. It's a Linux distro, so there will be some fuss. Even so, it's easy enough for anyone who can follow basic directions (and I'm including a bunch of helpful tutorials at the end of this article).

Ah, but once installed, you get a wonderment. Seriously. When I fully considered that I had set up a machine controller, Web server, and smartphone interface on a computer that costs about fifty bucks, I had to spend a moment appreciating how far technology has come, and how much the open source environment has contributed to the maker movement.

In addition to my video, two great tutorials are available from Thomas Sanladerer and DIY3DTech. They are definitely worth checking out if you want to make this work.

Finally, I'm including a video plea from Gina Häußge. She's asking for support to continue working on OctoPrint. In my opinion, OctoPrint is really the secret sauce that makes low cost printers usable and convenient. If you want to see 3D printing continue to reach out and change the world, it's probably worth helping to support one of its more mission-critical developers.

You may have noticed that the Raspberry Pi is still sitting out on the workbench with wires running from it. Next week, we'll remedy that by putting it into a case. As I'll show you, that wasn't quite as easy as I expected, but all's well that ends well. Stay tuned.

You can follow my day-to-day project updates on social media. Be sure to follow me on Twitter at @DavidGewirtz, on Facebook at Facebook.com/DavidGewirtz, on Instagram at Instagram.com/DavidGewirtz, and on YouTube at YouTube.com/DavidGewirtzTV.

Editorial standards