Where it started
A connected cycling computer needs more than a way to receive a file. The phone and device must agree on ownership, the device must accept an authentic release, and an unsuccessful update needs a safe way back.
The boundary that matters
Treat the update as a verified state transition. Bind commands to authenticated ownership, verify signed releases, and keep a known-good firmware slot until the new firmware is confirmed.
- 01PairAuthenticated ownership
- 02VerifySigned release
- 03UpdateInactive firmware slot
- 04ConfirmKeep or roll back
What I worked on
- An Android companion and ESP-IDF firmware connected through BLE.
- Authenticated device ownership and Ed25519-signed firmware updates.
- An A/B update path with durable confirmation and a known-good rollback target.
What was verified
Hardware acceptance on 20 August 2026 completed signed OTA updates, authenticated reconnection, confirmation, and a forced rollback while preserving device ownership and data.
Based on the project’s dated acceptance records. Diagrams show the design; they are not a live demo.
The next questions
The OTA milestone is verified on hardware. Recorder parsing, journal recovery, BLE sync, and GPX export have build and automated checks, while the physical recorder acceptance remains open. This is an ongoing hardware experiment.
What I take from it
The most useful question is what happens after the happy path fails. Working across Android and firmware makes those boundaries visible.