Custom page
Firmware Lab
A living map between intent and evidence. Use it as a spine when you translate datasheets into routines your hardware teammates can trust.
Device control flow
Start from power domains, not from HAL typedefs. Sequence enables, wait for ready bits with timeouts that log state, and only then arm interrupts. The flow below is a conversation piece for design reviews — not a vendor promise.
Debugging process
- Freeze binaries + tag hardware revision with a photo.
- Write the smallest hypothesis that fits the symptom.
- Choose one trace surface (SWO, UART, GPIO bit) — not all three at once.
- Collect five minutes of continuous evidence before refactoring.
- End with a postmortem stub even if the bug was “only” a swapped pin.
Test bench checklist
- Interlocks verified, current limit dialed, LED fault path lit once on purpose.
- Return braid continuity checked before sensitive ADC work.
- UART bridges on powered hubs — flaky hosts rejected early.
- Fixture serial logged beside firmware git SHA.
- Teardown order taped to the bench leg — no improvisation during brown-outs.
- Async mentor upload folder opened before midnight panic sets in.