Real radio, real timing
Mesh formation, OTA flows, multi-node timing and soak, sleep-current regressions: the failures that only happen with an antenna in the air and a clock that is not simulated.
Firmware for an ESP32 either works on the metal or it does not. These are the benches that find out: real boards on real radio, flashed and run and watched, by people who keep them running.
Compile-only CI cannot see a mesh that will not form, an OTA that bricks a node, or a sleep current that doubled. A rig can, and writes down what it saw.
WHAT YOU GET
A run flashes the bundle your CI built onto real boards and runs your suite there. What comes back is evidence, not a green tick.
Mesh formation, OTA flows, multi-node timing and soak, sleep-current regressions: the failures that only happen with an antenna in the air and a clock that is not simulated.
Every board gets its own verdict. The serial console is captured for the whole run, the JUnit report names each test, and the firmware is named by the commit it was built from.
Which boards a rig has, what it is set up to do, whether it is up, how busy it was this week. A rig is private until its owner shows it, and then it shows exactly this and nothing of theirs.
HOW A RUN HAPPENS
The same stages every time, so a failure says where it happened before it says what.
The rig finds its boards by silicon identity on the hub's ports and checks the wiring both ways, so a board that is present but miswired is found before it can be blamed on your firmware.
The bundle your CI built goes onto every board the run asked for, one immutable artifact per family. The farm does not build firmware; it flashes what you shipped.
Your suite runs on the metal. Power, serial and radio stay visible the whole time, and the console of every board is captured as it happens.
A JUnit report, a verdict per board, the log and the evidence are kept with the run. Nothing is lost if the farm was unreachable when it finished: the rig writes to disk first.
The long version, with what is public and what is not: how it works.
WHAT YOU SEE
The same pages on the rig and here: its boards and health, its week, the run in progress, and who asked for each run.
Pictures of a demo rig: the boards and runs are made up. Every page, with a picture of each: a tour of the dashboard.
A rig is a Raspberry Pi, a powered hub and a handful of boards, running open software that only ever talks outward. It joins with one command and a token that works once, and it is yours: its runs, its events, and who may see it.