github Keralots/BambuHelper v2.7

latest releases: v2.9, v2.8
19 days ago

BambuHelper v2.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-v2.7-ota.bin BambuHelper-esp32s3-v2.7-Full.bin
cyd ESP32-2432S028 (CYD / Cheap Yellow Display) ILI9341 240x320 BambuHelper-cyd-v2.7-ota.bin BambuHelper-cyd-v2.7-Full.bin
ws_lcd_200 Waveshare ESP32-S3-Touch-LCD-2 ST7789 240x320 BambuHelper-ws_lcd_200-v2.7-ota.bin BambuHelper-ws_lcd_200-v2.7-Full.bin
esp32c3 ESP32-C3 Super Mini ST7789 240x240 BambuHelper-esp32c3-v2.7-ota.bin BambuHelper-esp32c3-v2.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.

Note for older CYD and ESP32-C3 releases: OTA may not work correctly yet, and ESP32-C3 may report that the OTA file is too large. If OTA fails, export your settings first, then flash the matching Full binary, and finally import your settings back.

Bug Fixes

  • Fix: H2 cloud / H2C partial AMS updates no longer cause filament indicator and AMS active tray highlight to flicker back to WiFi during prepare/calibration - cached AMS state is now preserved until a real tray snapshot arrives
  • Fix: Static network DNS parsing no longer fails silently - invalid custom DNS is now logged and falls back to the configured gateway; invalid static IP/gateway/subnet settings fall back to DHCP
  • Fix: Tasmota power display flickering on Ready screen when "Alternate" mode was enabled - watts now always visible on Ready screen (alternation only applies during printing where layer count exists)
  • Fix: OTA upload rejected firmware over 1.25MB - raised JS limit to match actual partition size (1.75MB)
  • Fix: ETA date format inconsistent - day was missing leading zero and trailing dot (e.g. "7.04" instead of "07.04.") (closes #57)
  • Fix: AMS drying screen not activating from "Print Complete" state - screen now transitions to drying view when AMS drying starts regardless of printer state
  • Fix: AMS HT (id=128) tray data not displaying - raw unit id overflowed tray array, now uses sequential indexing
  • Fix: AMS trays/units that disappear from MQTT payload no longer linger on screen - state is reset before each parse
  • Fix: Dual-nozzle (H2D/H2C) active tray lost for external spool - snow sentinel 0xFEFF now correctly maps to external spool indicator
  • Fix: Waveshare display showing incorrect colors (blue instead of yellow) - corrected RGB byte order (BGR) for ST7789V2 panel
  • Fix: AMS label text overflowing screen edge when narrow groups (e.g. AMS HT with 1 slot) are near the right side

New Features

  • Add: AMS drying status screen - when AMS drying is active, the idle screen automatically switches to a dedicated drying view showing temperature, remaining time, humidity (%), ETA, and a progress bar. Multiple drying AMS units rotate every 60 seconds. Display stays awake during drying. (closes #58)
  • Add: Red triangle marker on active AMS tray slot for better visibility with light-colored filaments (closes #62)
  • Add: New build target ws_lcd_200 - Waveshare ESP32-S3-Touch-LCD-2 (2.0" ST7789 240x320) with capacitive touch support (CST816D over I2C)
  • Add: New configurable gauges - AMS Humidity (1-4), AMS Temperature (1-4), and Layer Progress. Selectable per-slot in web UI. AMS humidity shows raw percentage with color-coded arc (green/yellow/red). Layer gauge auto-sizes font for large layer counts. (addresses #63)
  • Add: "Keep printing screen" option - keeps the print status dashboard (gauges, temperatures, progress) visible after print completes instead of switching to idle/finish screen. AMS drying screen still takes priority. Configurable in "After Print Completes" section.
  • Add: Filament remaining % - AMS tray bars now show fill level proportional to remaining filament (Bambu-branded spools only, third-party shows full bar)
  • Add: AMS tray visualization on idle and finished screens (240x320 portrait mode) - shows loaded filament colors at a glance without needing to start a print

Improvements

  • UI polish: cleaned up wording across the web panel for display, hardware, backup, and firmware update sections - labels are now more consistent and less ambiguous without changing behavior. Added basic ARIA metadata for collapsible sections and live status messages. Gauge Colors is now collapsed by default inside Display to reduce scrolling before applying display changes.
  • Startup: reduced the optional "Show IP on startup" screen from 3.0s to 1.5s so boot feels snappier while still leaving enough time to read the address.
  • OTA: auto-update asset selection now requires an exact board-variant filename match before installation starts, reducing the risk of pulling the wrong .bin for another board.
  • OTA: update checks now understand patch-style versions like v2.6.1 instead of treating them like pre-release suffixes.
  • Web UI: improved validation and error messages for printer save, WiFi save, settings import, and manual OTA upload flows.
  • Cleanup: removed dead cydExtraMode setting path from display settings and web apply handler - the project now consistently uses AMS in that area without carrying unused config state
  • Refactor: critical printer gcode_state handling now uses an internal enum in state logic while preserving the raw MQTT text for UI and compatibility - reduces risk from string-based comparisons in screen transitions, refresh logic, and error buzzer handling
  • Refactor: split main.cpp loop() into smaller internal helpers without changing runtime behavior - startup, wake button handling, screen state selection, sleep timeouts, recovery, and buzzer transitions are now easier to follow and maintain
  • CYD: enabled auto-update (check + download from GitHub), previously only manual OTA upload was available
  • Add: "Always show time remaining" option in display settings - shows remaining time (h:mm) instead of calculated ETA (contributed by @noliran, PR #61)
  • Improved AMS HT support - single-slot AMS HT now renders correctly as 1 tray bar instead of 4 (portrait and landscape)
  • Finished screen (240x320) - layout vertically centered, kWh and AMS strip positioned without overlap
  • Renamed internal DISPLAY_CYD to DISPLAY_240x320 - reflects that CYD and Waveshare share the same layout profile

Upgrade Notes

  • C3/CYD users on v2.6 or older: if OTA upload fails with "file too large", use the Full .bin via ESP Web Flasher (one-time). After that, OTA will work for future updates.

Don't miss a new BambuHelper release

NewReleases is sending notifications on new releases.