Files
overland-controller/docs/CHANGELOG.md
T

4.2 KiB

Changelog

Unreleased

  • Added standalone XIAO ESP32-C6 BNO086/MAX-M10S sensor-node firmware and a versioned RS485 telemetry contract without changing Cargo /api/v1 or JBD/NimBLE behavior.
  • Added XIAO-side persistent level calibration with stability checking and RS485 start/clear commands; no dashboard behavior changed.
  • Prevented echoed or oversized RS485 frames from starving the XIAO sensor loop.
  • Silently discard malformed partial RS485 echoes instead of emitting recursive invalid_json responses.
  • Replaced sensor auto-detection with the verified installation settings: BNO086 address 0x4B and MAX-M10S UART at 38400 baud.

Unreleased

Added

  • Cargo ESP local OTA firmware upload page at /ota.
  • Cargo ESP OTA API endpoint at POST /api/v1/system/ota.

Unreleased

Fixed

  • Cargo ESP starts AP and Web UI/API before attempting STA WiFi reconnects.
  • STA reconnect attempts now service the web server during short connection windows so AP mode remains usable when no saved WiFi is available.

Unreleased

Changed

  • Reworked ESP32-S3 dashboard page navigation to use screen-wide LVGL swipe gestures.
  • Removed failed temporary double-tap and transparent hitbox navigation experiments.
  • Kept the temporary Cargo ESP WiFi boot-screen bypass for Battery Detail testing.

Unreleased

Added

  • ESP32-S3 dashboard Battery Detail screen to the left of the main dashboard.
  • Swipe navigation between Battery Detail and Main Dashboard pages.

0.5.0 - 2026-06-08

Added

  • WPA2 AP configuration API and WebUI controls.
  • AP reset recovery action with regenerated password.
  • Status API field filtering for smaller dashboard/WebUI payloads.
  • Config page subtabs for General, WiFi/AP, Relays, Temperatures, BMS, and Maintenance.
  • Relay button state/command feedback in the WebUI.
  • Optional Cargo OLED display scaffold.
  • GPIO plan assigning OLED I2C to GPIO 21/22 and setup button to GPIO 25.

Changed

  • Dashboard communication direction is now WiFi/HTTP API.
  • Retired active dashboard UART pin usage.
  • Improved WebUI visual styling, mobile temperature settings layout, and config form behavior during polling.
  • Removed vehicle-specific branding from active project docs/examples.

Fixed

  • Config inputs no longer get overwritten while typing during polling.
  • Temperature config lookup remains available outside disabled UART code.
  • Misleading WebUI connection badge text.

0.4.0 - 2026-06-04

Added

  • Embedded tabbed WebUI.
  • Overview, Battery, and Config tabs.
  • Estimated runtime display.
  • Battery detail page with BMS status, cell voltages, cell delta, capacity, remaining Ah, cycles, and battery temperature.
  • WebUI setup workflow.
  • Device name configuration from WebUI.
  • Relay name configuration from WebUI.
  • Temperature sensor name and enabled-count configuration from WebUI.
  • Temperature probe scan and assignment workflow from WebUI.
  • BMS enable/disable controls from WebUI.
  • BMS reconnect action from WebUI/API.
  • System restart action from WebUI/API.
  • WiFi AP + STA mode.
  • Multiple saved STA WiFi networks.
  • WiFi priority and runtime reconnect behavior.
  • HTTP/UART/USB serial command parity documentation.
  • DS18B20 configurable temperature probe support.
  • Preferred relay command endpoint: POST /api/v1/relay/set.

Changed

  • ESP32 remains the controller/source of truth.
  • WebUI is now the preferred initial configuration workflow.
  • Waveshare ESP32-S3 is the primary physical dashboard target.
  • ESP32 relay board outputs are treated as control/trigger outputs for external fused automotive relays/contactors on major loads.
  • BMS source now reports configured JBD BMS even when disconnected.

Fixed

  • Restored default NimBLE connection behavior after custom timeout caused BMS connection failures.
  • Trimmed WiFi credentials from setup inputs.
  • Improved WebUI organization by moving setup/configuration controls to the Config tab.

Known Notes

  • BMS connection can still temporarily block the ESP32 while attempting BLE connection if the BMS is out of range.
  • WebUI BMS disable/enable controls are intended to make bench testing easier.
  • DS18B20 multi-probe final install should use a proper terminal/distribution board rather than temporary Wago wiring.