Browser Not Supported
This tool requires Chrome, Edge, or Opera on desktop.
Web Serial API is not available in this browser.
USB not supported on mobile
This tool uses the Web Serial API, which requires a desktop browser (Chrome, Edge, or Opera). It will not
work on iOS, and is unreliable on Android.
Flashing Firmware
- Connect KB1 via USB-C cable before clicking Connect
- Battery calibration data is automatically backed up and restored* — steps 2 and 4 in the progress
tracker
- Do not disconnect the device during the update process
- The device will restart automatically when the update is complete
- Requires Chrome, Edge, or Opera on desktop
* ☑ Clear device data on
update will skip steps 2 & 4
Device Information
Shows hardware details read directly from your KB1 over USB when connected — chip type, MAC address,
flash size, and the latest firmware version available on GitHub.
What is NVS?
NVS (Non-Volatile Storage) is a small 20 KB partition on the ESP32’s flash memory, separate from
the firmware itself. It persists across reboots and retains its data even after a firmware update.
What’s stored here?
KB1 uses NVS to store the battery calibration model — a set of values built up over real
charge/discharge cycles that lets the firmware accurately report battery percentage. The key fields are:
- Battery Percentage — last known state of charge
- BLE On / Off Time — cumulative radio-on/off durations used in the capacity model
- Discharge Time — total measured discharge time
- Calibration Time — timestamp of the last successful calibration
Why does the flash tool preserve it?
A standard firmware flash erases the entire flash partition, which would wipe out weeks of calibration data
and reset the battery indicator to a rough estimate. KB1 Flash Tool reads the NVS partition before
flashing and writes it back after — so your battery gauge stays accurate across every update.