These are Custom Componenets for ESPHome to control 3D-Printers with GCode over a ESP32. There are also some Lovelace Cards for Home Assistant provided for better integration.
❗❗❗
This project is still under development. There is no stable release yet!
I am no responsible for any possible damage! Use it on your own risk!
❗❗❗
The goal of this project is to create an alternative to Octoprint which runs on a Raspberry Pi. ESP32s are way cheaper than Raspberry Pis and should provide enough computational power to handle simple GCode communication. Most functions that are solved with plugins in Octoprint like switching plugs and led strips can be handled with automations in Home Assistant.
Here are the firmware features in the Marlin which have to be enabled:
- AUTO_REPORT_TEMPERATURES
Optional:
- ADVANCED_OK
- HOST_ACTION_COMMANDS
- Install Python and ESPHome
- Change configuration in espprint.yaml, secrets.yaml and config folder
- Flash your ESP32
esphome espprint.yaml run
- Use free UART-Pins of you printers mainboard to connect the ESP32. The ESP needs more power than a typical printer mainboard can supply with the 5V pins therefore you should use a Buck Converter.
- Add the ESP to Home Assistant as an ESPHome device
- Add the custom cards in the cards directory to your Home Assistant Dashboard
At the moment only Prusa Slicer is supported. The setup is the same as with octoprint except that the API Key is not required.
The following Boards and ESPs are tested but other Hardware should work too.
- MKS Robin Nano V1.2
- BTT SKR 1.4
- FYSETC S6
- Marlin 2.0
- AI-Thinker ESP32 Cam Module
- ESP32 D1 Mini