I build awesome products for a living — firmware, hardware, the cloud bits behind them, and the unglamorous work of actually getting them out the door. Along the way I collect a lot of hard-won lessons. This is where I'll write some of them down.
What to expect
Practical, field-tested notes — not think-pieces. A few things I keep coming back to:
- Firmware that survives contact with production — bare metal to Embedded Linux, and the trade-offs in between.
- Board bring-up — schematic to layout to letting the smoke out during first power-up.
- Shipping at volume — supply-chain substitutions, test fixtures, and keeping the line running.
- Using AI without fooling yourself — what it really speeds up in embedded work, and where it still gets things wrong.
- Experimenting with new tools — the ones that actually make a difference, and the ones that don't.
That last one is a big part of why I'm writing now. I've spent a lot of the past year putting AI to work on real firmware — analysis, testing, code review — and there's a fair amount of hype to cut through. I'd rather share what actually holds up.
Sadly, all of my clients have NDAs or other privacy restrictions, so I can't share all the details of what I'm working on. I'll still share what I can, and the lessons that are broadly applicable.
Why I'm doing this
Most of what I know came from someone else being generous with their time and what they knew. This is me doing the same.
Also, I frequently get asked for advice on how to approach a problem or what tools to use. So instead of repeating myself, I can point people here.