Run CI on real hardware with the BenchPod
Practical guides for taking embedded testing from the bench into CI with the BenchPod — flashing, UART, sensor emulation, analog capture, and GitHub Actions. Building your own rig instead? The DIY HIL guides cover the concepts from scratch.
Meet the BenchPod: A Networked Instrument for Hardware CI
The BenchPod folds power control, flashing, a logic analyzer, and a 16-bit analog front-end into one networked box — so the hardware your tests need stops being the thing that lives on one engineer's desk.
Jun 5, 2026 · 4 min read
Filter:
The BenchPod
Drive a real bench from pytest, an AI agent, or GitHub Actions.
Replaying the Fault: Simulating Stepper-Motor Failures with the DAC
The follow-up to our stepper-motor HIL article: retire the motor from the test rig entirely. The BenchPod's DAC replays a recorded coil-current waveform with a power failure baked in — phase-locked to the logic analyzer in the iCE40 fabric — so you can measure exactly how many milliseconds your firmware takes to notice the fault and stop stepping, on every commit.
Jul 21, 2026 · 6 min read
One Trigger, Two Domains: Mixed-Signal HIL Testing for Stepper-Motor Faults
Hardware-in-the-loop (HIL) testing for stepper-motor firmware: sample the digital STEP/DIR lines on a logic analyzer and the analog coil current on the same clock, drive the motor over UART, and turn stall detection into a repeatable CI regression test — on hardware cheap enough to leave permanently wired to your target.
Jul 14, 2026 · 7 min read
Analog Calibration Against a 34401A, With Claude Doing the USB Reverse-Engineering
The BenchPod's DAC and ADC need a real reference to be trustworthy — so we wired up an Agilent 34401A precision multimeter and a GPIB adapter, hit a dead end in the official driver stack, and had Claude write a user-space GPIB driver from scratch to get around it.
Jul 1, 2026 · 5 min read
Build Your Own HIL, or Buy a Pod?
You can absolutely build a hardware-in-the-loop rig from a Pi, some relays, and an MCU — many teams should. Here's where that path leads, and where a BenchPod saves you the detour.
Jun 23, 2026 · 3 min read
Building an On-Pod CMSIS-DAP Probe
Why the BenchPod carries its own debug probe instead of just wiring out SWD, and how a DAP session travels from pytest in GitHub Actions to a chip on someone else's bench.
Jun 23, 2026 · 3 min read
Driving the BenchPod with Claude
Connect Claude to the BenchPod MCP server and ask it, in plain English, to flash a board, power-cycle it, watch the UART, and emulate a sensor — the agent drives real hardware.
Jun 22, 2026 · 3 min read
No Secrets: How a Pod Behind NAT Runs in CI
The BenchPod lives in your lab, behind NAT; your CI runs on GitHub's cloud. They meet in the middle with a GitHub OIDC token and a device key — and nothing long-lived is ever stored.
Jun 20, 2026 · 3 min read
Power Sequencing and Brown-out Testing
Controlled power is the foundation of HIL. The BenchPod gates the target through protected eFuses, schedules power-on pod-side, monitors current per rail, and can sag the supply on purpose to test brown-out handling.
Jun 18, 2026 · 3 min read
Recording and Replaying Analog Signals with the BenchPod
Capture a real-world analog input with the 16-bit front-end, replay it through the DAC to feed your DUT in CI, and inject faults the field would eventually throw at it — solar arrays, motor feedback, current loops.
Jun 17, 2026 · 5 min read
Catching Boot Regressions: UART Assertions in CI
The boot log is the firmware's first chance to tell you it's healthy. With an event-based UART session the BenchPod listens before the board powers on, asserts on the banner, then drives the console live.
Jun 15, 2026 · 3 min read
Emulating an I2C Sensor — and Asserting on the Bus
Have the BenchPod pretend to be a BMP280, capture the DUT's UART, then decode SDA/SCL to prove what the firmware actually did on the wire — present, absent, and everything in between.
Jun 13, 2026 · 3 min read
A Pod Per Board: Cover Your Whole Test Matrix Without Rewiring
One debug probe means constant cable-swapping. BenchPods are cheap enough to leave one wired to every target — so CI fans out across your whole board matrix and nobody touches the bench.
Jun 11, 2026 · 3 min read
From CLI Prototype to pip install embeddedci
The moment BenchPod stopped being a tool you drove by hand and became a pytest fixture: putting the SDK on PyPI, and the five-step loop it was built to unlock.
Jun 9, 2026 · 2 min read
Running Hardware CI with GitHub Actions
Build firmware on a GitHub runner, then flash and test it on a real board over the cloud — no BenchPod on the runner, no secrets, just the workflow's GitHub OIDC token.
Jun 9, 2026 · 3 min read
Your First HIL Test in 15 Minutes
From pip install to a green hardware-in-the-loop test: wire a board to a BenchPod, flash it, and assert on its boot output — the whole loop, start to finish.
Jun 7, 2026 · 3 min read
The Making of the BenchPod
From an 8-bit validation board to a 16-bit, Ethernet-native instrument: the design story behind the BenchPod, the dead ends, and the decisions that shaped it.
Jun 3, 2026 · 5 min read
DIY HIL essentials
Rolling your own hardware-in-the-loop rig? The concepts behind reliable hardware CI.
DIY HIL - Orchestrating HIL Tests in CI
From a first UART-driven test on the bench to self-hosted CI runners flashing real hardware on every push.
Apr 21, 2026 · 3 min read
DIY HIL - Signal Routing and Peripheral Simulation in HIL
Why a Raspberry Pi alone struggles with cycle-accurate buses, and how a small MCU between the Pi and the DUT closes the gap.
Apr 20, 2026 · 2 min read
DIY HIL - Power Control Is the First HIL Problem
Why a hardware test lab starts with controlled power, and when relays give way to protected power channels.
Apr 18, 2026 · 2 min read
DIY HIL - Booting Devices from a Known Image in CI
How netboot and OpenOCD keep each hardware test run from inheriting state from the last one.
Apr 17, 2026 · 2 min read
DIY HIL - Console Access for Multi-Board HIL
A UART hub and stable device names turn serial logs from a bench habit into CI infrastructure.
Apr 16, 2026 · 1 min read
DIY HIL - Why Hardware CI Needs Real Devices
Docker, mocks, and emulators are useful, but some embedded failures only appear when real hardware is in the loop.
Apr 15, 2026 · 1 min read
DIY HIL - Getting Started with Hardware-in-the-Loop
What hardware-in-the-loop CI is, why embedded teams move to it, and where to start when you're building your first rig.
Apr 14, 2026 · 3 min read