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:
- Control your printer remotely
- Manage the power supply of your printer and leds
- Control the fan speed of more fans
- Capture time lapses
- Monitor your 3d prints
Automatically, turn off your printer in case of a critical failure, such as an overheat or temperature sensors failure.
- Anything else you can accomplish with a Raspberry Pi
To complete the project you must have some basic soldering skills, and the ability to follow simple electronic schematics.
These are the required materials i used, you can replace them with what you have in hand.
|Raspberry Pi 3||x1||55$||eBay|
|2 channel relay with optocoupler||x1||2$||eBay|
|GX16 8 Pin Connector||x1||1$||eBay|
|Female Panel Mount Connector 2.1x5.5mm||x1||0.5$||eBay|
|Male 12v DV Connector||x1||0.5$||eBay|
|ATX fan screws||x16||2$||eBay|
|Wires 22awg (or less)||-||-|
|Raspberry Pi 3 Camera||x1||~6$ Chinese |
|IRFZ44N Power Mosfet||x1||~0.2$||eBay|
|16v 1000uf Capacitor (or smaller)||x1||0.5$||eBay|
- Brim: 25-30
- Infill: 20%
- Retraction: yes
- Material: PLA
- Walls: 3
- Alternate extra wall: enabled
- Supports: yes
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.
Octoprint controller box 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.
Before connecting any cable, use the multi meter in order to find the polarity of your power supply and of the input connector.
- The Gnd cable (black) goes directly to the printer’s connector.
- The Vcc cable (red) must be connected to the 12v switch.
- If you use the camera led strip you have to connect the Gnd cable to the strip directly.
- The output of the switch must be connected to the relays and to the positive lead of the capacitor (only if you use the fan control module).
- If you use the camera led strip you must connect the switch output to the the led’s switch input.
Each relay be apart of three ports, one input and two outputs:
- Normally open port
- Common (input)
- 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.
You must solder the following cables to the connector:
- Two vcc cables for the relays
- One vcc cable for led strip of the camera
- One Gnd cable from the 12v switch
- One Gnd cable from the fan speed controller (optional)
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.
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:
- The gate of the mosftet to a GPIO of the raspberry.
- The source to the Gnd of the 12v input, and to the Gnd of the raspberry (the last one is not included on the schematic).
- The drain to the Gnd of the Printer’s connector and to the Gnd of the capacitor.
All the schematics are created with fritzing
Octoprint Controller Settings
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.