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.
Writing
Integrating an old Mitsubishi Electric HVAC system into a Matter smart home using an Arduino Nano Matter.
A practical introduction to reverse engineering Bluetooth GATT devices, using a Domyos EL500 elliptical trainer as an example by leeching notifications, spoofing the device with an ESP32, and building a man in the middle to log its protocol.
A trial and error account of learning to decapsulate integrated circuits at home using nitric acid deposition, an acetone syringe, and an ultrasonic cleaner, including safety precautions and microscope photos of exposed silicon dies.
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.