Building Secure OTA Updates for ESP32 Over BLE with Rust

Earlier I wrote about BikeSafe Watchman, I have been busy building firmware that has to survive the real world (gloves on, cold hands, spotty RF, and a phone that is trying its best), I kept learning the same lesson: your protocol is part of your product. For BikeSafe Watchman (an ESP32-C3 BLE device), I wanted a protocol that is: cheap to parse (no JSON, no allocations, no decoding adventures) easy to extend without breaking older apps compact on the wire boring enough to debug at 11pm I kept landing on the same pattern: TLV (Tag, Length, Value). ...

December 11, 2025 · 12 min · Harry Gill  |    

My quest to make motorcycle riding that tad bit safer

It began with a spark—a dormant passion reignited after many years away from motorcycling. Life had steered me in different directions, away from the saddle, but something deep inside pulled me back to the thrill and freedom that only riding offers. Returning to motorcycling after such an extended hiatus was daunting yet exhilarating. I vividly recall my first CBT session: the nerves, the good-natured laughter at my clumsy mistakes, and the sheer joy when everything finally clicked into place. It was during this session that a critical moment of inspiration occurred. My instructor casually suggested lightly applying the brakes during engine braking to alert drivers behind that I was slowing down. Given motorcycles’ inherent lightweight design and strong engine braking, the risk of being rear-ended was significant. ...

April 30, 2025 · 5 min · Harry Gill  |