Start here
The BenchPod runs your tests on real hardware: flashing, power, UART, sensor emulation, and analog capture, driven from pytest or CI. Cloud builds bring the firmware your GitHub Actions workflow builds onto embeddedci.com, so it can be flashed onto a pod from the web app.
BenchPod (hardware-in-the-loop)
Test firmware on a real board, locally or over the cloud from CI. This is our main product.
Cloud builds
Build in GitHub Actions, upload the .elf, .hex and .bin files, and flash them from the web app.
Quickstart: a HIL test
The fastest path is the pytest library: install it, wire one board to a pod, and point a test at it.
pip install "embeddedci[pytest]" # Python 3.10+ # point a test at a pod on your LAN, a pod on USB, or a cloud device: pytest --benchpod-connection=192.168.1.213 --benchpod-firmware=build/app.elf
The board's I/O voltage is set once in conftest.py rather than on the command line; see the pytest docs. Without a connection the hardware fixtures skip, so the suite stays green on runners with no pod. For a guided walkthrough, see the article Your First HIL Test in 15 Minutes.
New to hardware CI?
The Resources hub explains the concepts: what a BenchPod is, recording and replaying analog signals, running CI from GitHub Actions, and a DIY HIL series if you'd rather build your own rig.