BambuHelper v3.7.7 - Release Notes
Firmware Builds
| Build Target | Board / Hardware | Display | OTA Update File | Full Flash File |
|---|---|---|---|---|
esp32s3
| ESP32-S3 Super Mini | ST7789 240x240 | BambuHelper-esp32s3-v3.7.7-ota.bin
| BambuHelper-esp32s3-v3.7.7-Full.bin
|
esp32s3_round
| ESP32-S3 Super Mini | GC9A01 1.28" round 240x240 | BambuHelper-esp32s3_round-v3.7.7-ota.bin
| BambuHelper-esp32s3_round-v3.7.7-Full.bin
|
esp32s3_zero
| Waveshare ESP32-S3-Zero | external ST7789 240x240 | BambuHelper-esp32s3_zero-v3.7.7-ota.bin
| BambuHelper-esp32s3_zero-v3.7.7-Full.bin
|
esp32s3_zero_320
| Waveshare ESP32-S3-Zero | external ST7789 240x320 | BambuHelper-esp32s3_zero_320-v3.7.7-ota.bin
| BambuHelper-esp32s3_zero_320-v3.7.7-Full.bin
|
esp32c3
| ESP32-C3 Super Mini | ST7789 240x240 | BambuHelper-esp32c3-v3.7.7-ota.bin
| BambuHelper-esp32c3-v3.7.7-Full.bin
|
esp32c3_round
| ESP32-C3 Super Mini | GC9A01 1.28" round 240x240 | BambuHelper-esp32c3_round-v3.7.7-ota.bin
| BambuHelper-esp32c3_round-v3.7.7-Full.bin
|
ws_lcd_200
| Waveshare ESP32-S3-Touch-LCD-2 | ST7789 240x320 | BambuHelper-ws_lcd_200-v3.7.7-ota.bin
| BambuHelper-ws_lcd_200-v3.7.7-Full.bin
|
ws_lcd_154
| Waveshare ESP32-S3-Touch-LCD-1.54 | ST7789 240x240 | BambuHelper-ws_lcd_154-v3.7.7-ota.bin
| BambuHelper-ws_lcd_154-v3.7.7-Full.bin
|
ws_lcd_280
| Waveshare ESP32-S3-Touch-LCD-2.8 | ST7789 240x320 | BambuHelper-ws_lcd_280-v3.7.7-ota.bin
| BambuHelper-ws_lcd_280-v3.7.7-Full.bin
|
es3n28p
| QD ES3N28P 2.8" | ILI9341V 240x320 | BambuHelper-es3n28p-v3.7.7-ota.bin
| BambuHelper-es3n28p-v3.7.7-Full.bin
|
sc05_x
| Panlee SC05_X (ZX2D80CE02S) 2.8" | ST7789 240x320 (8-bit parallel) | BambuHelper-sc05_x-v3.7.7-ota.bin
| BambuHelper-sc05_x-v3.7.7-Full.bin
|
ws_lcd_350
| Waveshare ESP32-S3-Touch-LCD-3.5 | ST7796 320x480 | BambuHelper-ws_lcd_350-v3.7.7-ota.bin
| BambuHelper-ws_lcd_350-v3.7.7-Full.bin
|
wt32_sc01_plus
| Panlee WT32-SC01 Plus 3.5" | ST7796 320x480 | BambuHelper-wt32_sc01_plus-v3.7.7-ota.bin
| BambuHelper-wt32_sc01_plus-v3.7.7-Full.bin
|
jc3248w535
| Guition JC3248W535 (ESP32-S3-N16R8, 16MB flash / 8MB PSRAM) | AXS15231B QSPI 320x480 | BambuHelper-jc3248w535-v3.7.7-ota.bin
| BambuHelper-jc3248w535-v3.7.7-Full.bin
|
cyd
| ESP32-2432S028 (CYD / Cheap Yellow Display) | ILI9341 240x320 | BambuHelper-cyd-v3.7.7-ota.bin
| BambuHelper-cyd-v3.7.7-Full.bin
|
tzt_2432
| TZT ESP32-2432S028 (CYD variant) | ILI9341 240x320 | BambuHelper-tzt_2432-v3.7.7-ota.bin
| BambuHelper-tzt_2432-v3.7.7-Full.bin
|
OTA is for updating an already working device from the BambuHelper web UI.
Full is for first-time flashing, recovery, or ESP Web Flasher use.
First-time flashing? Easiest path is the hosted web flasher at keralots.github.io/BambuHelper - pick your board in the dropdown, click Install, and the browser handles bootloader + partitions + firmware in one go (no downloads, no flash offsets). The
-Full.binfiles below are only needed if you prefer the generic ESP Web Flasher or are flashing one of the community / beta boards that the hosted flasher doesn't list yet.
Setting up Cloud mode? Optional, but it saves the fiddliest part: the Companion Tool signs into your Bambu account, finds your BambuHelper on the network, and sends the access token and serial number to it directly - no digging a token out of browser cookies and no mistyped serials. This release turns it into a proper app window. You can still do it all by hand; see the cloud token page for both routes.
Updating from v3.7.6? OTA the matching
-ota.binfor your board. Settings are preserved.
Changes
New features
- Check AMS drying during a print - a button tap now brings the drying screen up for a few seconds and then returns on its own, so you no longer have to wait for the printer to go idle to see drying temperature and remaining time. A second tap closes it early, and the tap is only offered when the printer on screen actually has an AMS drying, so it keeps its old behaviour otherwise. On boards with a camera tile it becomes the next stop in the tap cycle (printing -> camera -> drying -> printing); with more than one printer connected, tapping out of the peek advances to the next printer. With several units drying, the peek starts at the first one and stays up long enough to show them all. (#150)
- Time display: finish time, remaining time, or both - the old "Show remaining time instead of ETA" checkbox becomes a three-way picker, with a new option that shows both values on a single line (e.g.
18:42 | 2h 05m). Each option in the web UI spells out the format you will actually see on the panel. Existing devices keep their current choice on update. The round Speedo/dial skins also gain the finish-time line the square layouts have always had. (#152) - Custom-wired displays - a hand-wired SPI panel that matches none of the supported boards no longer needs C++ changes. A new generic build target takes the driver, pins and geometry from build flags, so a new wiring is a new
boards/*.inifile. Supported drivers: GC9A01, ST7789, ILI9341, ST7796. Starter envs are included for a round GC9A01 on an ESP32-C3 Super Mini and on a classic ESP32 DevKitC, plus a fully commented template. Mismatched flags (wrong layout for the driver, a pin that collides with the display bus, an out-of-range offset) fail at build time with a message naming the flag to change. These builds are user-compiled and are not in the hosted web flasher - seeboards/DIY-DISPLAY-HOWTO.mdand the "Custom-Wired Displays" section of the README. (#153, #151)
Fixes
- Buzzer silent on ESP32-S3 240x320 boards - the default buzzer pin was picked from the display layout rather than the actual board pinout, so every ESP32-S3 board using the 240x320 layout inherited the CYD's GPIO 26 - a flash/PSRAM bus pin on the S3. The buzzer never sounded and enabling it drove a bus line. Defaults are now per board:
ws_lcd_200uses GPIO 4,esp32s3_zero_320GPIO 5, andws_lcd_280ships disabled (it has no free safe pin - GPIO 5 is the backlight, GPIO 4 the touch interrupt). A stored value of exactly 26 on these boards is migrated to the board default on update; a pin you chose yourself is left alone. Buzzer and status-LED wiring for these boards is now documented in the README. (#156) - Reserved pins rejected for button, buzzer and LED - on
ws_lcd_200andws_lcd_280the button setting accepted pins belonging to the flash/PSRAM bus, USB or the display, which were then driven as GPIOs. All three inputs now refuse reserved pins on these boards. - Display stayed lit after a second printer finished - with "turn display off after finish" enabled, a finish on another printer woke the backlight but nothing turned it back off, leaving a lit panel over a black screen.
- ETA line overrunning its band - the split dual-printer view never applied the width fit-down, so a long cross-day value in the new combined mode ran into the neighbouring band and the longest valid string was truncated. The round Speedo skin left ghost pixels behind the ETA before NTP had synced, which is exactly the state the device boots into. Both are fixed.
- Status LED during a drying peek - the LED dropped out of its printing animation for as long as the peek was up.
Companion Tool
The helper that sets up a device and captures diagnostics is no longer a terminal program.
- It's an app window now. Double-click it and you get a normal interface - sidebar, forms, buttons, light and dark theme - styled to match the web flasher and the device's own config page. No numbered menus, no typing answers at a prompt. The old terminal wizard is still in the same exe behind
--cliif you prefer it. - It finds your BambuHelper for you. A Scan my network button sweeps your network and lists every BambuHelper it finds, with a note on whether each one is set up yet. Reading an IP address off a small display and typing it in was the step people got wrong most often.
- The diagnostic runs in front of you. Output streams into the window as the test happens instead of appearing all at once, and finishes with a pass/fail summary plus a plain-English explanation of what the result means.
- Dumps save where you put them. The diagnostic files used to land in whatever folder Windows happened to consider current, which meant people often could not find
pushall_dump.jsonto send. There's now a Save button with a normal file dialog. - Cloud login fixed. Bambu added CSRF protection to the sign-in endpoints on bambulab.com, which broke the tool at the 2FA step with
Verification failed: HTTP 403. It now sends the required token, keeps one session across the cloud calls, and reports the server's own error message instead of a bare status code.
Windows: download BambuHelper-CompanionTool.exe - same name and place as before. Windows 11 has everything it needs; on Windows 10 the app opens in your browser instead unless you have Microsoft's WebView2 runtime installed. Mac and Linux: run python tools/companion/bambu_companion.py from a clone for the same interface.
Documentation
- Cloud token setup page - the flasher site now has a dedicated cloud token page covering both ways to get a token onto the device: the Companion Tool, which logs in and pushes the token and serial over the LAN, and the manual browser-cookie copy for Chrome, Firefox and Safari. It also lists what quietly breaks cloud mode - a server region that doesn't match the account, using the printer name instead of the serial number, a lowercase serial, and what an expired token looks like. The token help inside the device's web UI now points at the tool and at this page.