Browser Not Supported
This tool requires Chrome, Edge, or Opera on desktop.
Web Serial API is not available in this browser.
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.
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 Studio reads the NVS partition before
flashing and writes it back after — so your battery gauge stays accurate across every update.