Embedded Firmware Implementation
8 weeks · 0 milestones
Implement firmware for a real or simulated embedded system, demonstrating correct hardware control and documented test coverage. The firmware must: control at least 2 distinct hardware peripherals (e.g. read a sensor over I2C and drive an actuator over PWM), handle at least one interrupt-driven event (timer, external interrupt, or serial receive) with documented rationale for the interrupt strategy, implement a defined state machine with at least 4 states and documented transition conditions, and include a documented unit test or hardware-in-the-loop test for each peripheral driver with pass/fail criteria. Code must be readable and documented — variable names, function names, and inline comments must enable a reviewer to follow the logic without running the code. Preferred proof: firmware running on physical hardware (Arduino, ESP32, STM32, or equivalent) with oscilloscope or serial monitor evidence of correct operation. Accessible alternative: firmware implementation and simulation in Wokwi (free, browser-based) with simulation waveform or serial output evidence of correct operation; GitHub public repository with commit history. Proof artifacts: the firmware source code with state machine implementation (design artifact) and the test results or simulation evidence (analysis artifact). Verification: an embedded firmware engineer reviews 'what happens if this interrupt fires while the state machine is in state X?' and 'how does this driver behave if the hardware does not respond to the I2C address?' — requiring you to reason about your own interrupt and error-handling logic.
What you'll achieve
Milestone map coming soon
We're building a detailed step-by-step guide for this outcome.
Sign in to start this outcome and track your progress publicly.
Sign in to start this outcome →