Firmware Development
From board bring-up to production, in C and Python.
DetailIndependent embedded engineering practice
Firmware development, reverse engineering, and networking on constrained hardware. I work at the layer below the application: bring-up, drivers, boot chains, protocols, and the security of all four.
Demux Labs is one engineer. The person you scope the work with is the person who writes the code.
What I do
Most projects need two of these. A few need all four. They are listed separately because they are priced and scoped separately, and there are three more on the services page.
From board bring-up to production, in C and Python.
DetailThe blueprint, before anyone writes a line of firmware.
DetailThe unglamorous half that decides whether you ship on time.
DetailUnderstanding hardware and firmware that came without source.
DetailLooking for a one-stop shop?
Most engagements are one or two of these. Some are all seven. The sequence below is how an embedded product usually gets built; you can join it wherever you currently are.
Turning an idea into something an engineer can cost. What the device must do, what it must never do, and which constraints are real.
Silicon selection, system topology, security model, and the interfaces between subsystems, all written down.
The fastest honest answer to 'does this work at all'. Development boards, throwaway firmware, and one real end-to-end path.
Firmware on your own hardware, doing the actual job. Good enough to demo, pilot, and put in front of users.
QA rigs, debug tooling, key generation, provisioning and association flows, so your team can run the product without me.
Secure boot, key storage, updates with rollback, certified module integration, and the failure paths nobody enjoys writing.
Extending hardware that is already in the field (new protocols, new back ends, new platforms) without bricking the installed base.
Working knowledge
Languages
Targets
Runtimes
Buses & interfaces
Networking
Reverse engineering
Security
Engineering
This is a baseline, not a ceiling. Whatever hardware platform, runtime, protocol, or toolset a project actually needs, I will pick it up, just as everything above got picked up in the first place. What stays constant is fluency across the stack, from register-level firmware to the abstractions built on top of it.
A short description of the hardware and its current stage is enough to start. I will come back with an approach, availability, and a rate, or an honest no.