Firmware Flashing
Flash the ESP32 gateway over USB using the browser flasher — no CLI tools needed for a published release.
Browser (recommended for published releases)
- On a desktop Chrome or Edge machine, open jkbmsr.com/flash.
- Sign in to the account that should own the gateway.
- Connect the ESP32 with a USB data cable; close any serial monitors.
- Click Connect and install, pick the port, and watch the live progress bar and serial console while it flashes.
- Enter the target Wi‑Fi credentials in the flasher. The browser sends them to the gateway over the same USB connection.
- Keep the page open while the gateway registers and is added automatically to the signed-in account, then select Open gateway.
Field fallback (no USB): hold BOOT ~5s, join SoftAP JKBMSR-Setup-XXXX (password = claim code), submit Wi‑Fi from a phone, then claim manually at jkbmsr.com/onboard. This fallback remains available for already-flashed field hardware without USB.
Local PlatformIO (dev boards / pre-release)
Use this when the CDN build is older than provisioning, or you are testing main before tagging a release:
bash
cd jkbmsr-firmware
pio run -e dev -t upload
pio device monitor -b 115200Then either:
- Re-open jkbmsr.com/flash and connect to flash a newer published build over the same USB session, or
- Watch serial for the SoftAP name + claim code and provision from a phone.
Encrypted prototypes: see jkbmsr-firmware/docs/secure-bringup.md (pio run -e idf-secure -t upload).
Safety
Disconnect the JK-BMS UART cable while flashing if you are unsure about wiring. Do not power the ESP32 directly from battery pack voltage.