The bench board

Augur One

Augur One is everything your firmware expects to find around it: sensors that answer, loads that push back, buses that respond, and faults that arrive when the agent decides they should.

The rig you would have built by hand

Testing a control loop means having a plant to close it against, so someone builds one: a sensor breakout on a jumper harness, a motor with a load on it, a bench supply, a logic analyzer, and a person to power-cycle the whole thing when the DUT locks up.

Augur One is that bench as one board. Your DUT board plugs in, and the world your firmware reads is generated in hardware and driven from the network.

210 x 130 mmone base board
One Cat-6power and network
148 I/O + 40 analogto the DUT

Will your chip fit

Your DUT board carries the part under test and whatever it needs to boot. The connectors bring it everything else.

148digital I/O on adjustable 1.2–3.3 V banks. Any pin can be SPI, I2C, UART, CAN, PWM or an encoder.
+ up to 40analog channels on top of the 148, in 10 slots of 4, high-speed or medium-speed
1.8–5 VDUT supply, Kelvin-sensed
Dual-rangecurrent sense: 250 µA/LSB up to 8.19 A on the high range, 31 nA/LSB on the sleep range
SWD or JTAGonto any I/O pin. No fixed debug pinout to design around.
3 x Ethernetplus 2 x USB OTG and a Wi-Fi/BLE peer, all reaching the DUT
We meet your board at the controller boundary. Your power stage stays off the bench, and your firmware still sees the signals it would see in the product.

Where each job runs

Emulating a world is two kinds of work, and they want different silicon.

Sensor register models, bus slaves, PWM and encoder decode, fault injection, capture Lattice ECP5 FPGA Timing is decided in gateware, so the DUT's bus is answered at the DUT's clock
Plant models, closed-loop state, physics integration STM32N657, Cortex-M55 State advances between the DUT's samples
The agent, test authoring, verdicts, evidence Your bench computer None of it is real-time, so none of it can stall the plant

The first two rows are Augur One. The third is a Linux machine with gigabit Ethernet that you supply: we do not sell it, and nothing about it is special, so a lab that already has machines does not buy another one.

One cable

Power over Ethernet is standard, 802.3bt Type 4: one run of Cat-6 carries both, so a bench is a switch port. USB-C is the backup link and the recovery path when there is no PoE switch on hand.

Benches multiply. One per pull request, one per agent, as many as the team runs at once. A rack of one-cable benches is something a lab can operate. A rack where each board needs a brick, a hub, and a hand on a button is not.

It comes back without you

A dedicated supervisor MCU, an STM32H563, sits on its own rail and owns recovery and DUT power. The board is built around one rule: Ethernet must not drop while something is being recovered. So the FPGA and the real-time MCU are always powered, and every recovery path is a reset.

DUT wedged
supervisor cuts and restores DUT power, the case the bench exists to stop you walking over for
Real-time MCU wedged
supervisor asserts its reset line
FPGA misconfigured
supervisor pulses PROGRAMN and the FPGA reloads from NOR
Bitstream corrupt
supervisor owns the FPGA's JTAG: SRAM-load a known-good image, or reprogram the config flash through it
Switch hangs
the one case that drops the link: the supervisor resets the switch and the host reconnects

Watch an agent run a task on the bench.

Neither the FPGA nor the real-time MCU has a power switch anywhere on the board, so half-powered states do not exist to get stuck in. That comes from the schematic, not from firmware discipline.

What runs today

Closed loop on real silicon
running today on Oracova development hardware: BLDC plant and hall encoder against an STM32F411
Fault library
running: hall faults scored FAIL on the unguarded build, PASS with the guard patch
Unmodified Betaflight
running: full control loop in FPGA fabric at 8 kHz
Augur One
in fabrication, first article pending. Everything above runs today on development hardware; Augur One puts it on one board.

Every figure above, part by part.

See the full specification