Octoprint Controller Box- 3D Printer

November 11, 2018 - 3D Printing, Raspberry Pi
Octoprint Controller Box- 3D Printer

In this post you will find all the material and instructions necessary to build your own 3d printer octroprint controller box. This case will allow you to take full advantage of octoprint and raspberry pi with the ultimate goal of making your daily prints easier and hassle free. Since starting to use OctoPrint, I can’t imagine how I was coping with the old 3D printer interface.

Firstly, It took a while to complete this project. Furthermore, any suggestions or ideas for further improvement are more than welcome.

The final result will give you the ability to:


Octroprint Controller Box

To complete the project you must have some basic soldering skills, and the ability to follow simple electronic schematics.


Required Material

These are the required materials i used, you can replace them with what you have in hand.

Raspberry Pi 3x155$eBay
2 channel relay with optocoupler x12$eBay
GX16 8 Pin Connectorx11$eBay
Toggle Switchx10.8$eBay
Female Panel Mount Connector 2.1x5.5mmx10.5$eBay
Male 12v DV Connectorx10.5$eBay
ATX fan screwsx162$eBay
Wires 22awg (or less)--
Optional Components
Raspberry Pi 3 Camerax1~6$ Chinese
~23$ Original
IRFZ44N Power Mosfet x1~0.2$eBay
1K Resistorx10.01$eBay
10K Resistorx10.01$eBay
16v 1000uf Capacitor (or smaller) x10.5$eBay


STL Files

All the STL files of the octroprint controller box are designed by me, except the camera mount which I edited to fit my needs. It is based on the designs of by giacomo30196 and JasonDentler.

Basic Settings


All the parts are connecting together with standard fan screws. Additionally, pointy screws are preferred.


In the future I will try to design a different camera bracket for more stability.

The ball joints can give you a hard time to print. Slow down the print speed and crank up the fan speed. 

Download files

Octoprint controller box files

stl files


All the stl pictures obtained from my post in thingiverse


Circuits and Schematics

The following circuits and schematics for the octoprint controller box are designed with Fritzing and are not perfect. I will add some instructions along with them, and if there are any questions I will be try to help.


A soldering Iron, a multi meter, heat Shrink Tubes to protect the cable connections and a few jumper wires (female to female) for the connection of the relays with the raspberry.

Octroprint Controller Box Schematics

12v Input

Before connecting any cable, use the multi meter in order to find the polarity of your power supply and of the input connector.


12v Switch



Each relay be apart of three ports, one input and two outputs:

  1. Normally open port
  2. Common (input)
  3. Normally closed port

Connect the output of the switch to both of the common ports, and the output cables to the normally open ports.

This way the printer and the strip wont turn on when the raspberry is powering up.

Just to be clear I use the second relay to control the lights attached to the printer, not the camera strip. Similarly, you can choose to connect whatever you wish on the second relay, as long as it runs at +12v.

Octroprint Controller Box electronics

Printer connector

You must solder the following cables to the connector:

Please be careful here to avoid any short circuits and make sure that all the cables are in align with the female connector.

You can connect the Gnd wire of the led strip directly to the Gnd of the printer inside the chassis.

Octroprint Controller Box cables

PWM control of your fans (optional)

If you want to have PWM control on your fans from the octroprint controller box you must connect the following cables:

pwm modulepwm module back

Octroprint Controller Box diagram

All the schematics are created with fritzing

Octoprint Controller Settings

Install the “Enclosure Plugin” and the “Temperature Failsafe” plugins in octoprint and copy the setup from the screenshots. Bellow you will find the octoprint controller settings i’m using.

Change the IO numbers based on the pins of the Raspberry that you used.

I have not configured the “Temperature Failsafe” yet. So, when I do I will post an update.

Octroprint Controller Box enclosure plugin settingsOctroprint Controller Box enclosure plugin settings 2

Octroprint Controller Box enclosure plugin settings 3


Final Result