Vision

Firmware testing is a decade behind software testing.

Web and app teams take CI for granted. Firmware teams mostly don't — not because they don't care, but because testing firmware has always meant wrangling physical hardware. We're closing that gap.

The mission

Make firmware CI as normal as web CI.

When the only way to test a build is to flash a board on someone's desk, testing becomes manual, rare, and easy to skip. Bugs slip to hardware, then to the field, where they're expensive to find and fix.

EmbedCI starts from a simple idea: boot the real firmware in an emulator on every pull request — so build breaks, boot failures, regressions, and budget overruns are caught in minutes, by the same automated check your software counterparts already rely on.

That's the foundation. The goal is to make automated, meaningful firmware testing the default for every embedded team — not a luxury reserved for those with a hardware lab.

Where we're going

The roadmap, honestly

Behavioral coverage, not just boots

Go beyond "does it boot" toward rich assertions on peripherals, timing, and state machines — the things that actually break in the field.

Signal-aware verification

For sensor, audio, and biosignal devices, verify the DSP itself: feed a known input waveform into the emulated device and assert the filter, FFT, or detection output. This is where deep firmware testing gets genuinely hard — and valuable.

Any team, any stack

Meet teams where they are — broaden beyond a single RTOS and board set so more of the embedded world can get real CI without buying a hardware farm.

Compliance as a byproduct

Footprint, stack, MISRA, and test evidence are already produced on every run. Turn that into audit-ready artifacts for the teams that need them.

EmbedCI is early. These are directions we're building toward — not finished features. Today, the build → emulate → test → gate pipeline works end-to-end on stm32f4_disco; the rest is where we're headed.

Building embedded firmware? Let's talk.

We want to hear how your team tests today — what works, what's painful, and what you wish existed. Try it on a repo, or just reach out.