Round ESP32-S3 printer companion for Bambu Lab: live status, progress ring, camera snapshots, cloud + LAN sync, and touch setup on a circular display.
PrintSphere is the native ESP-IDF rebuild and the better successor to
big-printsphere.yaml, not just a subproject of it.
- ESP-IDF
v5.5.x - LVGL
v9.4.0 - ESP32-S3 Touch AMOLED 1.75
- no Home Assistant required
- direct Bambu LAN status client in LAN Mode
- only LAN Mode is not needed on the printer
- official Waveshare BSP for display, touch, and LVGL
- AXP2101 PMU integration via
XPowersLib - NVS-based configuration storage
AP+STAWi-Fi manager- local setup portal on
esp_http_server - local Bambu MQTT status client via
device/{serial}/report
- The ESP always starts a setup AP with SSID
PrintSphere-Setupand passwordprintsphere - In setup AP mode, the portal only asks for:
- Wi-Fi SSID
- Wi-Fi password
- Save Wi-Fi and let the ESP reboot
- After the ESP joins your home network, reopen the portal on its new IP
- Connect Bambu Cloud with:
- Bambu email
- Bambu password
- optional email code or 2FA code if Bambu requests verification
- It is recommended to connect the local printer path for LAN MQTT and camera snapshots with:
- printer IP or hostname
- printer serial number
- LAN-Mode access code
Cloud and local printer credentials are applied live from the web portal without another reboot.
The current screen already shows:
- print progress
- lifecycle status
- job name
- temperatures
- layer information
- remaining time
- Wi-Fi status
- battery and USB status
- camera and MJPEG decoding are not fully finished yet
- MQTT TLS is working, but is not yet pinned to dedicated Bambu certificate handling
- as a owner of a P1S I build and tested it for P1S / P1P series, feel free to test also for other models
/release/firmware.bin can be flashed on emtpy devices via known methods
via webflasher like the one from ESPHome https://web.esphome.io/ connect USB - choose COM Port dont prepare for first use, just Install with firmware.bin
or espboards.dev https://www.espboards.dev/tools/program/ flash the bin to 0x0 as the bootloader is included in this merged bin
alternative clone the repo and open in vscode. from VSCode:
idf.py -p PORT flashAlternatively, the merged initial-flash image can be written directly with esptool:
esptool.exe --chip esp32s3 --port PORT write_flash 0x0 release/firmware.bin
