Introduction: OctoPrint Mod for FlashForge Creator Pro
If you're not familiar with OctoPrint, its a web interface for your 3D printer. Meaning you can control your printer wirelessly! With the additional perks of a Raspberry Pi, you are now also able to make timelapses and even physically shut off the printer with a relay. This instructable is for the FlashForge Creator Pro, but the same principles apply to any other printer that's supported.
I did this project awhile back and posted on Imgur, but I noticed that OctoPrint is losing their sponsorship. By posting this I hope would bring some exposure. If you would like to ongoing development for OctoPrint please support Gina, the creator of OctoPrint, through Patreon.
Step 1: Bill of Materials
- 1 x Raspberry Pi (preferably the Pi3)
- 1 x DC-to-DC buck converter (24v to 5v in this case)
- 1 x 3.3V Relay Module
- 1 x Push Button Switch
- 1 x C270 Logitech Webcam or compatible alternative camera
- 1 x USB Type A to USB Type B cable
- 1 x USB WiFi Dongle*
- 1 x USB cable extension*
- 4 x M2.5-0.45 nylon spacers and screws
- Wires
- Double sided mounting tape
Tools
- Drill
- Drill punch
- Flush cutters
- # 30 Drill bit
- Screwdriver
- Allen Wrenches
- Soldering Iron
- Wire Stripper
- Painter's Tape
- Scotch Tape
* Not needed if using Raspberry Pi 3
Step 2: Mounting the Pi
- Print out a Raspberry Pi mounting template from here.
- Unscrew the bottom panel with the allen wrenches provided with the printer.
- In the top corner above the power supply, place your template for where you're going to mount the Pi.
- Cover up any holes/slots on the power supply where debris can get into while you're drilling.
- With the drill punch, mark the center of the mounting holes. The sheet metal you'll be drilling into is actually surprisingly fairly thick, so you will need good guide dimples so the drill bit doesn't drift on you.
- After drilling, clean up the metal burrs around the hole as best as you can with some flush cutters along with cleaning up any metal debris.
- Place a nylon screw on the inside hole of the printer and screw it on with the spacer. Do this for the 4 holes.
- If your eyecrometer measurements were correct your are now able to mount the Pi on the printer. Yay! It's almost as if it was made to be there.
Step 3: Wiring
- +24 VDC on PSU --> Input on buck converter**
- Output on buck converter (set at roughly +5.14V) --> +5V pin on the Pi*
Relay**:
- +24VDC on PSU --> COM on Relay
- NC on relay --> +24VDC plug on Mightyboard
- +3.3VDC on Pi --> VCC on relay (using 3.3VDC relay)
- GPIO on Pi --> IN on relay
- GND on Pi --> GND on relay
I recommend to setup your relay as Normally Closed in case your Pi is down, otherwise your printer is at the mercy of the Pi in order for it to be on. Funny downside of having it Normally Closed is if you power down the printer from the Pi and then turn off the Pi it'll turn the printer back on. Can you guess why? :)
Reset Button:
- See guide here on how to wire up a reset button. Make sure you put it somewhere easily accessible because it is a pain in the butt to access the Pi once you are done!
* By the book it is recommended to have reverse polarity and fuse protection if powering the Pi from +5V pin, but it is not done in this instructable.
** The relay and buck converter were mounted on the Pi using double sided tape.
Step 4: Finishing Up
Software:
- Instructions for setting up OctoPrint on the Raspberry Pi can be found here.
- Instructions for how to trigger the relay through OctoPrint can be found here.
Camera Mount:
- All the information for the camera mount setup I made is on my Thingiverse page.
Connect the USB cable from the Pi to the printer, along with the webcam, and WiFi dongle. Make sure everything is fully functional before screwing back on the printer's bottom cover plate because it is a pain having to continuously unscrew the bottom plate each time there is a problem. But once you are all done and everything is working properly, the only time you will ever need to touch the printer again is for pre-prep and removing the print!
Happy printing!