Full-stack embedded engineer. I own the whole path — MCU firmware, multi-board and dual-core architecture, the embedded Linux host layer, secure OTA, and the production test tooling that gets a device out the factory door. Not just one layer of the stack.
Unclear requirements are the normal starting condition, so I don’t wait for a spec — I write down the three numbers the product actually has to hit and get you to disagree with them. Before I write firmware I want the hardware in my hands, a schematic, and one measurable definition of done; if a number can’t be measured on a bench, I’ll tell you so rather than quietly hope. You get a written note every Friday: what moved, what I measured, what I got wrong, and what I need from you next week. When I think the plan is wrong I say it early, in writing, with the alternative attached.

I read the firmware, the schematic and the failure reports, then tell you where this design will break — timing, state ownership, update safety, production testability — and what I would change first.
I design the system and write the decisions down — where state lives, what each board owns, transport and framing, update and recovery behaviour — so your team can build it without guessing.
Defined firmware work against an architecture that already exists: board bring-up, drivers written from the datasheet, one subsystem, the secure update path, or the production test tool.
30 minutes. I’ll tell you whether the timing budget is realistic, where I think the state should live, and what I’d architect differently — whether or not you hire me.
Send the shape of the system and the constraint that worries you. Five fields, no funnel.
Project brief form →