Pack voltage
--V
INA219 -- V
Current
--mA
--
Power
--W
0.000 Wh this session
State of charge
--%
State of health
--%
--
Max temperature
--°C
avg -- °C
Cell voltages
unknownTemperatures
Relays
Runtime estimate
Live (from INA219 current)
--h
Remaining capacity
--mAh
Estimated runtime (manual)
--h
Regression insights
--- SOC trend
- --
- Time to empty (trend)
- --
- Time to full (trend)
- --
- Temperature trend
- --
- Time to temp limit
- --
- Imbalance drift
- --
- Internal resistance (pack)
- --
- Open-circuit voltage (fit)
- --
- SOH model prediction
- --
Least-squares fits over the recent history window. The resistance estimate needs at least 100 mA of load swing.
Cell voltages (live)
Pack current (live)
Temperatures (live)
Controller
- Firmware
- --
- ESP32 IP
- --
- Transport
- --
- Mega link
- --
- Wi-Fi RSSI
- --
- Free heap
- --
- ESP32 uptime
- --
- Last packet
- --
Pack voltage & SOC
Cells
Current & power
Temperatures
Statistics
--| Metric | Min | Avg | Max |
|---|
Battery health
learning--
%
Waiting for data…
Real capacity
--mAh
of 6600 mAh new
Capacity lost
--mAh
since new
Learned from
0
charge / discharge stretches
How it works
Nothing to set up. The server learns the battery health from its own data:
- Each time the charge level moves by 5%, it counts the mAh used.
- That gives the real capacity. Health = real ÷ new capacity.
- Every minute it updates the model and sends it to the ESP32.
Just use the battery normally. The more it is charged and discharged, the more accurate this gets.
Health over time
Advanced
regression details
Model running on the ESP32
SOH = 100
Active alarms
No active alarms
Event log
| Time | Level | Source | Message |
|---|