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.