Your firmware builds on your machine, on your day, with your cable plugged in. The project: build the machine that builds it, a real CI/CD pipeline around the occupancy-sensor product from Course 1 (supplied as a finished snapshot). A pinned Docker toolchain, a Jenkins pipeline that tests, signs and ships every commit, and a hardware-in-the-loop rig where CI touches real silicon. The guided lessons are the vehicle; the pipeline is what you keep.
Preview build: the full course is readable here; checkout opens at launch.
The pipeline wraps the occupancy sensor from Zigbee, Engineered: the same nRF52840 firmware, the same signed OTA packages. You containerise its toolchain, stand up Jenkins in Docker, grow the pipeline stage by stage (build → test → sign → release), finish with hardware-in-the-loop flashing on a native agent, then translate the whole thing to GitHub Actions and compare the two homes honestly.
Checkout, containerised build, archived artifacts. (Chapter 5)
Host tests, gates, and what runs where. (Chapter 6)
The HIL agent: flash, boot, assert over serial. (Chapter 10)
A pipeline is a thing that moves. Stages run, gates stop the line, image layers stack. The lessons animate those flows and hand you the controls. These three are the actual chapter animations, untouched: press play, or step through them frame by frame.
Eleven chapters, one growing pipeline. Total: about 28 to 33 hours of building, depending on your pace. Chapter 1 starts with the ideas (what embedded DevOps is, what it buys an embedded team, and why learning it early compounds for a whole career), before any tooling appears.
What embedded DevOps actually is, what it buys an embedded team, and why learning it early compounds, then the manual baseline: one firmware build, done by hand and measured, that every later chapter automates.
Docker from an embedded angle: images, containers, volumes and Compose, with the toolchain treated as a deliverable, not a workstation accident.
The pinned toolchain image, production grade: layered, reproducible, and byte-checked against the host build, including the honest +8-byte exception and how it was proven innocent.
Jenkins stood up the Docker way: a pinned controller, a frozen 70-plugin set, and configuration that survives restarts because it lives in files, not clicks.
Your first declarative pipeline: checkout, build inside the image, archive the artifacts, a Jenkinsfile that lives with the product and answers to code review.
The test pyramid on a chip: refactor the LD2410 parser into a host-testable unit, Twister on native_sim/64, and quality gates that can actually stop a line.
Versioning that means something: one git truth stamped into BOTH version knobs, a build matrix, and a manifest that lists every artifact the run produced.
Secrets and signing: the product key lives in the credential store, the pipeline signs what it ships, and imgtool verification proves it. Wrong key and corrupt image included.
Release pipelines: tag it and it ships. The bundle assembles itself (signed images, the .zigbee OTA package, manifest, checksums) behind an approval gate.
Hardware-in-the-loop: a native Linux agent with real silicon. Flash, boot, and assert over the serial transcript. CI touches the product itself.
The same pipeline in GitHub Actions: the Jenkinsfile translated stage for stage, GHCR for the image, and an honest comparison of the two homes.
Placeholder price for this preview build. Secure checkout opens at launch; the refund policy (14 days, no questions) will apply from day one.
You do not need Course 1 first: the product repo supplied with this course contains the finished Course 1 firmware snapshot, and the pipeline is built around that snapshot. Course 1 is recommended background; if you built the product yourself there, yours is the same code. You need a machine that runs Docker, and a free GitHub account for Chapter 11. Jenkins, Docker and every other tool in the course is free. The only paid item at launch is your own domain, if you want one.
Buying the course is the start, not the whole deal. This is what's included with it, and the headline is a human being on the other end of an email.
Pipeline red at midnight, or a gate you don't trust? Email your question about the course to [email protected] and a working engineer answers, within 1 to 2 working days. Support covers questions about the course material and its labs. It is not general consulting, and it does not extend to debugging projects unrelated to the course. For as long as you own the course: no support tiers, no expiry, no ticket bot.
The moving parts (stages flowing, gates stopping the line, image layers stacking, a signature being checked), are taught as animations you play, pause and step through.
Every chapter ends in a self-check quiz with full answers, so you find the gaps while they're still cheap to fix.
When it breaks. The field guide to the failures this build actually produces: symptom, cause, fix. Kept open beside the labs, it earns its place in the first week.
One real product repo (the firmware, its Jenkinsfile, its tests and its release tooling), growing a verified step at a time, chapter by chapter.
Owning a course here will keep getting better. More owner perks are in the works, and when they land, owners get them, free.
No. The pipeline is built around the occupancy-sensor product, and a finished snapshot of that firmware is supplied in this course's own repo, so you can start here. Course 1 is recommended background: it explains how the firmware was built. The DevOps concepts themselves are taught from zero.
Docker and Docker Compose from Chapter 2, Jenkins 2.580.1 LTS (pinned, run in Docker) as the anchor, Twister for tests, imgtool for signing, and GitHub Actions + GHCR for the final translation. Everything is free tooling; no paid CI minutes are required to follow along.
Yes. Chapter 10 flashes a real nRF52840 DK from a Jenkins agent. Everything up to the physical flash is verified in the course's own build log; the flash itself is a desk step with exact expected output, like Course 1's hardware checks.
Access doesn't expire. Buy once, build at your pace, come back whenever, including course updates.