DIY read-only ESP32 status display for Bambu printers - BambuHelper v3.8.0

Hi everyone,

I wanted to share BambuHelper v3.0, an unofficial open-source ESP32-based status display for Bambu Lab printers.

It is a read-only companion device: it shows live printer status on a small dedicated screen, but it does not send print/control commands, G-code, or modify printer settings. It is not a replacement for Bambu Studio or Bambu Handy, just a small desk/printer-side dashboard.

What it shows:

  • Print progress
  • Printer state
  • Nozzle and bed temperatures
  • Fan speeds
  • ETA / time remaining
  • Current layer info
  • AMS / filament status where available
  • Optional buzzer notifications
  • Optional external LED print-state effects

v3.0 supports several ESP32 display boards:

  • ESP32-S3 Super Mini + 1.54" ST7789 240x240 display
  • CYD / ESP32-2432S028
  • Waveshare ESP32-S3-Touch-LCD-1.54
  • Waveshare ESP32-S3-Touch-LCD-2
  • Waveshare ESP32-S3-Zero
  • ESP32-C3 Super Mini builds

Connection modes:

  • LAN direct status monitoring for supported printers
  • Optional cloud status mode for printers or setups where LAN access is not suitable

The project started as a tiny desk monitor for my own printer, but it has grown into a more complete firmware with a web configuration portal, browser-based flashing, OTA updates, multi-printer display rotation on supported ESP32-S3 boards, display themes, buzzer alerts, LED effects, and several printable cases.

Project / firmware / wiring:

MakerWorld cases:

I would be happy to get feedback from people using different Bambu printer models, especially if you try it with X1E, P2S, H2 series, A1/A1 mini, or multi-printer setups.

Disclaimer: this is an unofficial community project and is not affiliated with or endorsed by Bambu Lab.

6 Likes

If I remember right, getting access to the MQTT server is a challenge - TLS?

Yes, it uses MQTT over TLS, but BambuHelper handles that internally.

In LAN mode you only enter the printer IP serial number and LAN access code. The device stays read-only.

Well done, looks great.
Been thinking of doing something like this, but mainly to track humidity overtime.
Is it possible to track humidity of connected AMSes this way?
Or is that not part of the available API?

Yes, AMS humidity is available in the MQTT status data and BambuHelper already parses/displays it per AMS unit. Right now it is live status only rather than historical logging, but humidity tracking over time would be a great future feature.

1 Like

That’s great, thanks for letting me know.
In my (future)project, I would parse the data and link it as a sensor to my home automation system to do the historical logging. I just couldn’t find info online if it was even available in the MQTT from Bambu. Good to know that it is.

How is the ESP32 communicating with bambulab printers? By which communication protocol? UART? SPI or something else?

MQTT over WiFi and it depends if you are using LAN or Cloud mode.

1 Like

Hi, this is a great project, is there any way of getting this to work on a Waveshare esp32-s3-touch-lcd-3.5?

the web installer doesn’t have this particular model.

thanks.

Time for an update - this thread still says v3.0, and the project is on v3.8.0 now. Short version of what changed since:

Setup no longer needs a computer

  • Flash from the browser. The hosted flasher at BambuHelper Web Flasher handles bootloader, partitions and firmware in one click. No PlatformIO, no esptool, no flash offsets.

  • Sign in to your Bambu account on the device. Cloud mode used to mean digging a token out of browser DevTools. Now you sign in from the device’s web page - with a password, or with a 6-digit code Bambu emails you if you would rather not type one. 2FA and authenticator codes work too.

  • My printers lists every printer on the account with its model and serial, so you pick yours instead of typing a serial by hand.

  • Scan local network finds LAN printers automatically, IP and serial included.

  • Pasting a token still works, and so does the Companion Tool.

Printer errors:

BambuHelper now reads the printer’s HMS codes and print errors and shows what they actually mean: a red ERR badge coloured by severity on every screen, the decoded sentence for the fault, and a link into the Bambu wiki page for that code from the web UI.

Hardware

16 ready-to-flash builds in the release now, up from the single ESP32-S3 + 1.54" panel this thread started with:

  • CYD (ESP32-2432S028) and TZT clones - the cheap yellow display half of us already have in a drawer
  • Guition JC3248W535 3.5" 320x480 IPS
  • Waveshare Touch-LCD 1.54" / 2" / 2.8" / 3.5"
  • 1.28" round GC9A01 on both S3 and C3 SuperMini, with a dashboard designed for the circle and 3 print skins
  • Panlee WT32-SC01 Plus, Panlee SC05_X, QD ES3N28P
  • Custom-wired DIY panels - a hand-wired SPI display that matches none of the above no longer needs C++ changes, just build flags (GC9A01 / ST7789 / ILI9341 / ST7796)

Dashboard

  • Split dual-printer view - both printers on screen at once instead of rotating between them
  • Configurable gauge grid - 8-slot landscape or 9-slot portrait, pick which gauges appear, rename any label, set each arc’s full-scale range
  • Per-nozzle temperature gauges for dual-nozzle printers (H2D / H2C / X2D)
  • Edge glow - animated light border on print complete or failure, visible across the room (Sweep / Pulse / Storm)
  • P1/A1 chamber camera tile on the bigger boards
  • Chamber light control - manual, or automatic per printer
  • Redesigned web config with sidebar navigation and light/dark themes

Power monitoring

Per-printer smart plug support for Tasmota, Shelly Gen2/Gen3 and TP-Link Kasa (KP115 / HS110 over local TCP). Live watts, per-print kWh, a Power gauge, on/off from the web UI or from the device itself, and optional auto-off after a print finishes.

Still read-only

Unchanged since v3.0: BambuHelper reads printer status. It does not send print commands, G-code, or change printer settings. The only things it can act on are the chamber light and a smart plug, and only when you ask it to.


Repo: GitHub - Keralots/BambuHelper: ESP32 desk monitor for Bambu Lab printers. Real-time MQTT dashboard on a color TFT - temps, progress, fans, AMS, HMS errors. LAN or Cloud, dual printers, OTA, web config portal. Flash from the browser. · GitHub
Flasher: BambuHelper Web Flasher
Updating an existing unit: OTA from the device’s web page, settings are kept.