Source: https://mokxi.com/learn/path/firmware-capstone
Updated: 2026-11-11

All paths

# Firmware capstone: your own device

Take your own device from an idea to a tagged release: a brief, testable requirements, a layered architecture, a driver from the datasheet, self-tests and unit tests, a watchdog and a power budget, then the write-up.

ESP32-C3-DevKitM-1 Free 7 lessons 8 h 4 chapters 3,600 XP Embedded engineering · Expert +400 XP

0 of 7 done

Start the course free Pick a device Lesson plan for teachers

What you will build

## 3 projects, built step by step

7 lessons in 4 chapters, about 8 hours on a simulated ESP32-C3-DevKitM-1. Free, in your browser, every step checked by the simulator.

Chapter 1 project

### Requirements

Five numbered requirements, each one testable: an alarm above a limit, hysteresis so it does not chatter, a button that silences the buzzer, and a change request handled by editing one constant.
Open it in the simulator

Chapter 2 project

### Drivers

A BME280 temperature driver written straight from the datasheet: registers, calibration, the integer compensation formula, error codes instead of wrong numbers, a configurable address and a plausibility check that catches a chip that reset.
Open it in the simulator

Chapter 3 project

### Power and reliability

A task watchdog that reboots a stuck loop and says why, a FAULT state that recovers by itself when the sensor comes back, and a battery budget worked out from the firmware's own measured awake time.
Open it in the simulator

The map

## Chapter by chapter

Each lesson opens when the one before it is done, and each chapter ends in a project.

Chapter 1

## Plan it

Choose the device, prove the parts, and write requirements you can test.

Open 350 XP

### Pick a device

The brief, the reference device and the bring-up: scan the I2C bus, check the chip id, predict a reading, and prove the LED, the buzzer and the button all work before writing a single feature.

0 of 6 steps

Start What is in it

Project Locked 800 XP

### Requirements

Five numbered requirements, each one testable: an alarm above a limit, hysteresis so it does not chatter, a button that silences the buzzer, and a change request handled by editing one constant.

0 of 7 steps

Chapter 2

## Build it

Layers, a state machine, a command shell and a driver from the datasheet.

Locked 350 XP

### Architecture

Three layers that only talk downward: drivers, a state machine with IDLE, ALARM and FAULT, and a serial command shell with a table of commands you extend with one of your own.

0 of 6 steps

Project Locked 700 XP

### Drivers

A BME280 temperature driver written straight from the datasheet: registers, calibration, the integer compensation formula, error codes instead of wrong numbers, a configurable address and a plausibility check that catches a chip that reset.

0 of 6 steps

Chapter 3

## Prove it

Self-tests, unit tests, a watchdog, recovery and a power budget.

Locked 350 XP

### Tests

Self-tests at boot that print PASS or FAIL, a test command for the bench, and unit tests of a pure state machine function that run on the chip, catch a real hysteresis bug, and grow by one case.

0 of 6 steps

Project Locked 700 XP

### Power and reliability

A task watchdog that reboots a stuck loop and says why, a FAULT state that recovers by itself when the sensor comes back, and a battery budget worked out from the firmware's own measured awake time.

0 of 6 steps

Chapter 4

## Ship it

A version, release notes, a demo and the write-up for your portfolio.

Locked 350 XP

### Release and write-up

Greenhouse guard 1.0.0: a version string, a version command, release notes with known issues, a version bump, a demo run, and the README, demo script and shared project link that make it a portfolio piece.

0 of 6 steps

Syllabus

## Every lesson in the course

All 7 lessons, in order, each with what it covers. Any of them opens in the editor right away.

Chapter 1

### Plan it

- Pick a device The brief, the reference device and the bring-up: scan the I2C bus, check the chip id, predict a reading, and prove the LED, the buzzer and the button all work before writing a single feature.
- Requirements Five numbered requirements, each one testable: an alarm above a limit, hysteresis so it does not chatter, a button that silences the buzzer, and a change request handled by editing one constant.

Chapter 2

### Build it

- Architecture Three layers that only talk downward: drivers, a state machine with IDLE, ALARM and FAULT, and a serial command shell with a table of commands you extend with one of your own.
- Drivers A BME280 temperature driver written straight from the datasheet: registers, calibration, the integer compensation formula, error codes instead of wrong numbers, a configurable address and a plausibility check that catches a chip that reset.

Chapter 3

### Prove it

- Tests Self-tests at boot that print PASS or FAIL, a test command for the bench, and unit tests of a pure state machine function that run on the chip, catch a real hysteresis bug, and grow by one case.
- Power and reliability A task watchdog that reboots a stuck loop and says why, a FAULT state that recovers by itself when the sensor comes back, and a battery budget worked out from the firmware's own measured awake time.

Chapter 4

### Ship it

- Release and write-up Greenhouse guard 1.0.0: a version string, a version command, release notes with known issues, a version bump, a demo run, and the README, demo script and shared project link that make it a portfolio piece.

Kits

## Build it on your bench too

Every lesson runs in the simulator with nothing to buy. When you want the real thing, these kits have the parts.

Have a kit already?

### Find your kit

Pick the starter kit you own and run every lesson in its manual with the same parts on the same pins.
See every kit

Questions

## About Firmware capstone: your own device

Is Firmware capstone: your own device free?

Yes. All 7 lessons of Firmware capstone: your own device are free and run in your browser, with nothing to install and no parts to buy before you start.

Do I need a real ESP32-C3-DevKitM-1?

No. Every lesson runs on a simulated ESP32-C3-DevKitM-1 with its parts on the canvas, and the simulator checks each step as you go. When you want to build it for real, the same wiring and code work on a real board.

How long does Firmware capstone: your own device take?

About 8 hours: 7 lessons in 4 chapters, each one a few short steps. Your progress is kept, so you can stop after any lesson and pick up where you left off.

What will I build?

Each chapter ends in a project that puts it together: Requirements, Drivers and Power and reliability.

Where do I start?

With "Pick a device", and each lesson builds on the one before it. New to circuits? Electronics basics is the course that starts from zero.
