Espressif ESP32 processor was initially designed for cost-sensitive IoT projects thanks to its built-in WiFi & Bluetooth connectivity and low price, but the WiSoC’s fairly powerful two Xtensa cores found other uses such as face detection and audio applications among others.
But a few people are now collaborating to bring ESP32 to the world of 3D printers with an open source hardware RepRap 3D printer controller board that has beta support in Marlin 2.0 RC1 firmware.
There’s no commercially available ESP32 3D printer controller board right now, so only prototypes from the community are available. There are mainly two version of the boards: R1 and R2 designed by Simon Jouet, and at least one member – Felixstorm – made his own R2 board from the MIT licensed KiCad based design. R2 is a better design leveraging ESP32’s I2S interface to have more output pins and improve stepping.
Felixstorm connected the board to its Creality Ender 3 3D printer, and most features do work:
- SD card – OK
- TMC SPI and UART driver – Not in use or tested
- LCD – OK with Ender 3 stock display)
- BLTOUCH – OK
- EEPROM – OK
- USB serial – OK
- Fans – OK. Hotend, part cooling, and controller controlled separately
- Heater – OK (1 in use)
- Heated Bed – OK
- WiFi – Not really used yet
WiFi can be used as an alternative serial port. Felixstorm plans to try out ESP3D firmware specifically designed for ESP8266/ESP32 hardware and providing a bridge between Wifi and serial, as well as a web UI to configure WiFi and monitor the 3D printer. I assume that eventually using a board such as ESP32-CAM or ESP-EYE would also allow the platform to monitor 3D prints via the built-in camera, although we’ll have to see if it conflicts with other parts of the firmware since the camera is normally also connected to I2S. The upcoming ESP-S2 processor should be better suited to those type of applications thanks to built-in USB, DVP camera, RGB LCD, and I2S interfaces.
Thanks to Andreas for the tip.