Skip to content
GUIDE0% read

Firmware Flashing

Flash the ESP32 gateway over USB using the browser flasher — no CLI tools needed for a published release.

  1. On a desktop Chrome or Edge machine, open jkbmsr.com/flash.
  2. Sign in to the account that should own the gateway.
  3. Connect the ESP32 with a USB data cable; close any serial monitors.
  4. Click Connect and install, pick the port, and watch the live progress bar and serial console while it flashes.
  5. Enter the target Wi‑Fi credentials in the flasher. The browser sends them to the gateway over the same USB connection.
  6. 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 115200

Then 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.

One JKBMSR domain. Every guide, right where you need it.