Friday, February 13, 2015

3D printer remote control

Let's keep Whatsapp aside for a while... This time I will offer you a short post about a useful Raspberry Pi application if you own a 3D printer.

3D printers are becoming more and more affordable. Still high in price, but today you can buy them for less than €600. They are not really easy to use, but they can be quite useful in many situations. Also for creating cases for your RPi!

One of the biggest problems about 3D printing is the time needed for producing the objects. Printing could easily take several hours and you cannot be always beside your printer to check for any issue that could arise.

I found a nice solution using a Raspberry Pi, a PiCamera and a nice software named OctoPrint. This allows to control a 3D printer with just a browser.

The website for this nice software has a quite good wiki for installation, with a specific section  for RPi, so I will not describe how to install it, but just my impressions about its use.

Here you can see my 3D printer installation:

On the left, beside the light, you can see the PiCamera mounted on a printed case. The Raspberry Pi is instead on a commercial case (just below the camera). Here a detail of RPi installation:

Initially the RPi was connected to my LAN using wi-fi, but now, as you can see in the photo, I'm using a cable, so the connection is much more stable and faster and webcam streaming is better.

In the next photo you can see the USB hub that provides the connection to the printer and also powers the RPi. This (powered) hub is needed as the printer needs some power from USB and RPi ports cannot provide enough.

Now a couple of screenshots of OctoPrint:

Temperature graphs and control

Webcam and motors control

If you are planning to use this software to control your 3D printer from outside your LAN, it's a must to enable the authentication system (it will be asked during the installation). This way without a password nobody can control the printer, even if no login is required to see the webcam streaming, so if you are worried about your privacy, remember to place the webcam in a proper place and direction.
Also, for WAN controlling, remember that you need to open two ports in your router: one for OctoPrint and one for webcam streaming.

For installing you could use a ready-made image called OctoPi, but I preferred doing by myself to have more flexibility.

You could also install a slicing software (Cura engine), so that you could upload .stl files, but I won't suggest it. There is often a need to tweak models a bit when slicing and just relying on an engine with fixed parameters is not a good idea. It would be much better to slice on a pc where you can eventually reorientate the model and set the right parameters for supports and other features and then upload the g-code to the printer. This will save you from many problems!

Another nice feature is the ability to take timelapse videos of the printing process just like this:

Since the installation, a couple of months ago, I've always used OctoPrint to control my 3D printer and I'm really satisfied. It's a free software and it's done quite well.

I think this will be my definitive choice for 3D printing!


  1. Have you tried 3D printing Raspberry Pi remote control case in this rubber-like filament? I’d like to know the result. I’m not at ease printing with plastic for electronic gadget cases because it might just easily break. TPE flexible material seems a good match for the Raspberry Pi cases, what do you think?

  2. I never tried flexible filaments, just pla and abs, but I can assure you that there are no problems with these materials. Abs is enough strong and flexible to be used for RPi case. Of course if the RPi shoul be placed where it can take several hurts and shokcs, a flexible material would provide much more protection...

  3. It is extremely nice to see the greatest details presented in an easy and understanding manner.Informative industry news