How To Add WiFi to Your Resin 3D Printer & Manage it with OctoPrint
Introduction
Resin 3D Printing has come a long way in such a short time. Devices that used to cost thousands and not really available for consumers are now available and you can pick up a decent enough SLA resin printer for around $100/£130.
What's not available is a good resin printing OctoPrint clone, there is Mariner3d but i have not had success as of yet. On the other hand, OctoPrint has a plugin for Chitu based boards. It is fairly basic but it does work and you can send your files over by SSH/SCP or by uploading from OctoPrint web interface. You can literally leave the resin printer and start prints from anywhere within your local network. You could make it accessible remotely but unless its something you really need I would advise against opening up your 3D printer to the internet.
I will be using the Voxelabs Proxima but this is known to work on many different SLA 3D printers. For the Elegoo Mars, there is a great guide wrote by the creator of Mariner3d
If you have just got into resin printing and would love to do this guide but think it is too difficult please just give it a go, I will try to go into as much detail as possible and it is not as complicated as it seems. All you need is a Raspberry Pi and some basic knowledge.
Compatibility List
- Any Printer Controlled by Chitu Board (Most are a variation on Chitu Board L V3)
- Anycubic Photon
- Voxelabs Proxima 6 - (Chitu Board L V3 without ethernet port)
- Elegoo Mars
- Elegoo Mars Pro
- Elegoo Mars 2
- Elegoo Mars 2 Pro
- Elegoo Saturn
- Phrozen Sonic Mighty 4K
- Phrozen Sonic Mini 4K
- Creality LD-002H
- Creality LD-002R
- Peopoly Phenom L
- EPAX E10/X10
Requirements
- Raspberry Pi 2/3/4 B+ or
- Raspberry Pi Zero W 1/2 (the zero w v1 struggles but can be done, better to use v2)
- MicroSD Card (8GB+)
- Pin Headers (Optional, if you need them. Chitu Board V3 has headers pre soldered)
- Jumper Wires for powering the Pi4 plus for connecting to the printer motherboard.
Here is an image of the motherboard on the Voxelabs Proxima using the Raspberry Pi Zero W.
Updating Firmware for Voxelabs Proxima & Chitu Board L V3
Certain types of printer have firmware that is outdated (but not all) and does not provide the new features that are present in ChituBox Basic 1.9. The new features include Two Stage Motion Control (TSMC) plus a wait/rest time feature. There has been some controversy around the new version of Chitubox because of some issues with community developers.
TSMC is so that there is a slower time when peeling your print from the FEP sheet then a faster time to raise to the top then as it goes back down it slows down again to give you more stable prints and in some cases faster prints. Anyway if you want to know the details you can to the ChituBox Official Website for all the info.
Downloading the firmware
Before i go into anything i have to give credit to u/Lissanro on the Voxelabs Proxima subreddit for this guide as he was the one to work out that the Proxima was just a Creality LD-002H in disguise so thanks to him. He wrote a really good guide on how to do the firmware upgrade and the reasons for doing so.
The Voxelab Proxima is the printer i have and will be using for this mod. Most resin 3D printers use some form of Chitu Board. Just open it up and have a look to see what model you have. You may not need to update but if your printer manufacturer has not released any updates recently you will likely need to use firmware from a different printer brand, In my case I will be using the Creality LD-002H firmware version 4.4.3. You can use this firmware as well just make sure you have a copy of the original firmware in case you want to change back.
Here is a image of the motherboard for the Voxelabs Proxima i have
Flashing The Firmware
To flash the firmware all you need to do is "print" the files then reboot the printer with the USB stick in and it will beep to say that the flashing process is complete.
Here's a picture of the menu after flashing the Creality Firmware.
Once complete you should be on version 4.4.3.
Once firmware is successfully flashed we can move onto setting up the MicroSD card with OctoPrint.
If for any reason you need to or want to go back to stock firmware here is the official firmware files for the Proxima https://dazeb.dev/Voxelabs-Proxima-Firmware-20-11-2021.zip as they do not currently provide them on the website. Reverting to stock is easy just flash the files in the right order there is an image with full instructions inside the zip. The firmware is also provided by Lissandro over on the Voxelabs subreddit.
Preparing the SD Card
I will be using Imager from the Official Raspberry Pi website to install OctoPrint. Use the link to download for your system and open it.
Click choose OS and scroll to "Specific Purpose OS" to find OctoPrint (Actually called OctoPi but i wont confuse things, it is still OctoPrint).
Select your SD card and flash it with OctoPi. Once completed put the SD card back in to the Pi and boot it up. Let OctoPrint do its initialisation and it may reboot a couple of times.
Once it has completed and OctoPrint is loaded in the terminal we need to do a couple of changes so that we can use the plugin for OctoPrint.
In the terminal, on the Raspberry Pi type the commands below. We are going to download a script that will set up the Raspberry Pi for us and enable the USB-OTG functionality so the printer can see the Pi as a USB stick.
wget https://raw.githubusercontent.com/rudetrooper/Octoprint-Chituboard/main/Chituboard.sh
Now we need to enable execution of the script with
sudo chmod +x ./Chituboard.sh
Then we run the script to prepare the Pi, the Pi will reboot
sudo bash ./Chituboard.sh
Once the device reboots we run the script one last time
sudo bash ./Chituboard.sh
You can find all this information and more on the GitHub page for Chituboard Plugin
Now we need to install the plugin from OctoPrint GUI
Open the web interface for your OctoPrint UI and then select
Settings --> Plugin Manager --> Get More --> Search "Chituboard".
Once the plugin installs you will be asked to reboot the Pi. After reboot your pi will be ready for the connection to the printer.
Powering the Raspberry Pi 4
There are two ways this can be done, or should i say you can use two types of Pi to control the printer but the Raspberry Pi Zero W while it is possible to use it is not really recommended because it is so slow. if you have a Raspberry Pi Zero W 2 that is ideal and will work well using the exact same process and wiring.
Differences between Pi 4 B+ and Pi Zero W
- Pi Zero W has two micro USB ports making USB-OTG easy.
- Using the Pi4 B+ you will need to power the pi using the header pins because the USB-C port will be used for USB-OTG.
- To power the Pi4 you can use a charger and any USB cable, cut the end off and strip the wires. we only need two, red and black if there are other colours just tie them down with tape. Attach some female header wires see pic below.
Here is a wiring diagram for powering the pi from header pins and the orientation of the USB-C cable.
Right click and "open in new tab" for larger image.
Wiring the Raspberry Pi 4 to the Printer
Now we have taken care of powering the Pi4 B+ we need to do the wiring from the Raspberry Pi to the printer motherboard. The diagram below shows what wires need connecting.
- TX from Raspberry Pi goes to RX on printer.
- RX from Raspberry Pi goes to TX on printer.
- GND goes to GND or - on printer.
- The USB cable that is plugged into the printer needs to have the 5V covered more information here
Covering the 5v Pin on the USB Cable
Here you need to put a piece of tape over the 5v pin as shown. This is to avoid the printer powering the Pi. If the printer powers the Pi through the USB-OTG port you could cause problems and even kill your Pi.
Using Raspberry Pi Zero W 1/2 (version 2 preferred)
The method with the Raspberry Pi Zero is almost exactly the same. The only difference is that you do not need to power the Pi because you can supply power using the normal micro USB port and the other micro USB port is for the USB-OTG.
Make sure that when you connect the USB cable to the printer that the cable is capable of data and power not just power. Not all USB cables are the same, in this case you need a cable that enables data for the USB-OTG to work.
Here is a wiring diagram for the Zero W and Zero W 2
Once you have all your wiring set up boot the printer first then boot the Raspberry Pi, whichever one you chose.
Connecting to the Raspberry Pi and Transferring Files Over SCP
Download WinSCP if you are using Windows. If you are using Linux or Mac you likely know how to connect through the terminal already. Once you have opened WinSCP enter the IP, user and password for the Pi and click connect.
Once logged in navigate to /home/pi/.octoprint/uploads/resin
where you can upload your CTB files and they will display in OctoPrint.
You don't have to upload over SCP you can upload over the web interface also.
Final step
Finally! We are nearly there all we need to do is edit one file, while we are logged in over SCP we can edit the file /home/pi/.octoprint/config.yaml
.
Add the code below to the file, save it close it then reboot your Raspberry Pi.
serial:
abortHeatupOnCancel: false
additionalPorts:
- /dev/ttyS0
baudrate: 115200
blacklistedBaudrates:
- 9600
- 19200
- 57600
- 230400
capabilities:
autoreport_sdstatus: false
autoreport_temp: false
disconnectOnErrors: false
externalHeatupDetection: false
firmwareDetection: false
helloCommand: M4002
ignoreErrorsFromFirmware: true
logPositionOnCancel: true
maxCommunicationTimeouts:
long: 0
printing: 0
neverSendChecksum: true
port: /dev/ttyS0
sanityCheckTools: false
sdAlwaysAvailable: true
timeout:
sdStatus: 3.0
sdStatusAutoreport: 0.0
temperature: 2.0
temperatureAutoreport: 0.0
temperatureTargetSet: 5.0
triggerOkForM29: false
unknownCommandsNeedAck: true
useParityWorkaround: never
Complete!
Now we are done and you can get on to printing remotely. This mod is not only functional but also is a great practice for limiting your time around the resin. No need to breathe in the fumes when checking your prints you can just see it from the webcam!
Credits
A lot of this guide came from various sources I just compiled it for my printer specifically the Voxelabs Proxima but the same rules should apply for a wide range of SLA printers. Here is some of the links where i got my information/inspiration from.
- https://github.com/rudetrooper/Octoprint-Chituboard
- https://l9o.dev/posts/controlling-an-elegoo-mars-pro-remotely/
- https://plugins.octoprint.org/plugins/Chituboard/
- https://www.reddit.com/r/Voxelab_Proxima/comments/ot4mvy/how_to_update_firmware_to_v443_on_voxelab_proxima/
- https://github.com/luizribeiro/mariner
Member discussion