
Product
A compact embedded system that remembers, updates, verifies, and recovers.
Built across firmware, touch UI, hook LEDs, Wi-Fi, Node-RED cloud flows, signed release tooling, fallback recovery, and board-level validation.


Installed prototype
Whiteboard-mounted Velo with the product surface visible.A/B
Release model - Slot-aware inactive-slot release flow
Ed25519
Manifest security - Signed manifest and payload hash binding
V1.0.26
Frozen baseline - Signed tool-generated release with reset proof

Product

Release

Security

Recovery

Cloud
More than a UI demo
The project is deliberately built as a complete engineering story: the device has a product surface, a release pipeline, a security policy, and negative tests that prove the system refuses unsafe updates.
Touch UI, weather context, Wi-Fi setup, reminder state, and hook LEDs work as one door-side experience.
The desktop tool builds slot A and slot B packages, signs manifests, uploads to cloud, and verifies both latest endpoints.
Bad signatures, bad payloads, fallback, reset persistence, network timeout, and the LED/OTA interaction fix are documented.
Validation as a feature
It also shows what happens when a release is wrong: a forged manifest is rejected, a modified payload fails install, and a trial image can fall back to the confirmed slot.
See proof pageTeam
A two-person embedded systems team turned the project from board bring-up into a validated product-style system with firmware, cloud release flow, OTA recovery, and presentation evidence.
Led the system from board bring-up to final release proof
Supported the physical build and enclosure path