How To Add WiFi to Your Resin 3D Printer & Manage it with OctoPrint

Budget resin printers are more available than ever this year. Here's how to add WiFi functionality so you can run prints remotely using 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.

RPi Zero W connected to Voxelabs SLA printer
Voxelabs Proxima Motherboard – Chitu Board L V3

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

Voxelabs Proxima Motherboard Chitu Board V3
Voxelabs Proxima Motherboard

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.

Voxelab with Creality firmware
Voxelabs Proxima with Creality Firmware

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.

Raspberry Pi Imager Main GUI
Imager GUI

Click choose OS and scroll to “Specific Purpose OS” to find OctoPrint (Actually called OctoPi but i wont confuse things, it is still OctoPrint).

Raspberry Pi Imager install OctoPi
OctoPi on RPi Imager

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”.

OctoPrint install Chituboard Plugin
OctoPrint install Chituboard Plugin

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.
Cable mod for powering the Raspberry Pi using header pins
Powering the Pi from Header Pins Cable Mod

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.

Powering RPi with pin headers

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
Wiring diagram for RPi 4 B+ to Voxelabs SLA printer
Wiring diagram for RPi 4 B+ to Voxelabs SLA printer

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.

Covering 5v line Pin
Covered USB 5v Pin

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

Raspberry Pi Zero 1/2 Wiring to Printer
Raspberry Pi Zero 1/2 W

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.

WinSCP startpage
WinSCP connect to Raspberry Pi over SCP

Once logged in navigate to /home/pi/.octoprint/uploads/resin where you can upload your CTB files and they will display in OctoPrint.

WinSCP resin folder
OctoPrint resin folder for uploads

You don’t have to upload over SCP you can upload over the web interface also.

Upload files to OctoPrint UI
Upload over UI OctoPrint

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!

banksy rat
Banksy Rat from ThingyVerse

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.

Share This Guide!