Run real-device checks in CI.
Run real-device validation on pull requests, nightly builds, and releases.
Unit tests and builds don't prove that firmware works on the device. You only find out after merge — or worse, after release.
Firmware regressions escape to release because there's no cheap way to exercise real hardware in CI. Teams build ad-hoc test rigs that break under maintenance, or skip hardware validation entirely and hope nightly builds catch the problem.
Embroid lets CI jobs reserve hardware, flash firmware, run validation sequences, capture logs, and block or approve releases based on physical behavior.
CI reserves an Embroid-managed device, flashes the build, runs the same sequence developers run on their benches, and attaches an evidence record to the run. Gating a PR on hardware behavior becomes as normal as gating it on lint.
How CI Hardware Testing works with Embroid
- 01A pull request opens.
- 02CI builds the firmware artifact.
- 03CI requests an Embroid device lease tagged for this workflow.
- 04Embroid flashes the target with the new build.
- 05Embroid runs a validation sequence (serial assertions, power checks, GPIO triggers).
- 06Serial logs and assertions are captured as the run proceeds.
- 07An evidence record is attached to the CI run.
- 08CI passes, fails, or flags for human review — the device returns to the queue.
What teams get from CI Hardware Testing
- Gate PRs on real-device behavior, not just build success
- Add on-target tests to nightly and release pipelines
- Fail loudly and early — with reproducible evidence
- Feed structured failure data back to the author (human or agent)
Which Embroid product fits this workflow
The sweet spot for one always-on CI bench — local queue, one active lease.
Explore BasicFor shared validation labs with parallel jobs, scheduling, and resource locks.
Explore ProBuilt on these parts of the platform
What the record looks like
Every CI run produces a signed session record: firmware hash, target tag, operator (the CI actor), all commands, all log lines, and pass/fail per assertion. Pin it to a release tag and you have reproducible proof of what shipped.
A realistic rollout
Install Basic on one validation bench and verify local runs.
Wire GitHub Actions or GitLab CI to request Embroid leases; port one smoke test.
Add parallel validation, nightly sequences, and release gates. Consider Pro for shared labs.
Related services
Keep exploring
Remote Hardware Access
Reach boards and fixtures from anywhere without shipping hardware or screen-sharing benches.
Firmware Bring-Up
Turn flashing, reset, serial capture, and setup steps into repeatable workflows.
Shared Lab Management
Reserve scarce hardware, prevent conflicting access, and preserve audit trails.
Make this workflow real on your hardware.
Share your setup. We'll help you pick the right Embroid product and get you to a first working run.