Parent: #49
Summary
Add an industry-standard battery icon at the top of the Ready screen. Its fill level should represent the estimated battery percentage, and a lightning bolt should be drawn through the icon whenever USB/external power is detected.
User experience
- Use the familiar horizontal battery outline with a positive-terminal nub.
- Fill the inner body from left to right according to a clamped 0–100% estimate.
- Overlay a clearly visible lightning bolt when RP2040 VBUS is present.
- Keep the complete graphic above, and visually separate from, the centered
Ready heading. - Preserve the current Ready-screen settings summary and start prompt.
Hardware behavior
The supported Waveshare board exposes the divided VSYS rail on GP29 (BAT_ADC). This permits a battery estimate when battery-powered. When USB is present, VSYS is supplied from VBUS and does not expose the isolated cell voltage, so firmware must not present the USB rail reading as an exact battery charge. It should use the last valid battery-only estimate when available, otherwise show a documented powered/charging fallback fill with the lightning bolt.
Acceptance criteria
Relationship
This is a focused deliverable beneath #49. Low-battery warnings and broader power-saving behavior remain tracked by the parent issue.
Parent: #49
Summary
Add an industry-standard battery icon at the top of the Ready screen. Its fill level should represent the estimated battery percentage, and a lightning bolt should be drawn through the icon whenever USB/external power is detected.
User experience
Readyheading.Hardware behavior
The supported Waveshare board exposes the divided
VSYSrail on GP29 (BAT_ADC). This permits a battery estimate when battery-powered. When USB is present,VSYSis supplied from VBUS and does not expose the isolated cell voltage, so firmware must not present the USB rail reading as an exact battery charge. It should use the last valid battery-only estimate when available, otherwise show a documented powered/charging fallback fill with the lightning bolt.Acceptance criteria
Readyheading at all fill levels.Relationship
This is a focused deliverable beneath #49. Low-battery warnings and broader power-saving behavior remain tracked by the parent issue.