The debug probe your agent drives
probe0 emulates a whole embedded system in software and hands it to your agent over MCP. Snapshot a running board, fork it a thousand ways, and read back why each branch died.
Boards and buses we target
ESP32STM32nRF52RP2040Cortex-MRISC-VI²CSPIUARTCANZephyrESP-IDFESP32STM32nRF52RP2040Cortex-MRISC-VI²CSPIUARTCANZephyrESP-IDF
- Week 0
Design the PCB
Route it, send it to fab, wait.
- Week 4
It hardfaults
Board lands. Flash it. It dies in driver init.
- Week 4+
It won't reproduce
One sensor value, one microsecond, gone.
- Week 8
Spin a revision
Guess, respin, wait again. Repeat.
- !
An assertion fails
A typed failure carrying the expression that blew up and the line it blew up on.
imu_ready @ drivers/imu.c:212
- 1
The bus said no
At t=1.204 an I²C read to 0x68 came back NACK. First observable symptom.
- 2
The peripheral was asleep
The BMI270 model was in SUSPEND, so it was never going to answer.
- 3
A register was never written
Register 0x7D, the wake command, was never issued to the device.
- 4
The init path skipped a call
bmi270_wake() gets branched around whenever BOOT_FAST=1. That is the root cause.
- →
And how to reproduce it
The trace carries the fork handle and the mutation, so replay is a single call.
fork cycle_88231 · set BOOT_FAST=1
get_trace(run_id)
{
"failure": { "type": "assert",
"expr": "imu_ready",
"loc": "drivers/imu.c:212" },
"cause_chain": [
{ "t": 1.204, "event": "i2c1_read",
"result": "NACK", "addr": "0x68" },
{ "reason": "BMI270 model in SUSPEND state" },
{ "reason": "register 0x7D never written" },
{ "reason": "init skipped bmi270_wake()
when BOOT_FAST=1" }
],
"minimal_repro": { "fork": "cycle_88231",
"set": { "BOOT_FAST": 1 } },
"suggested_inspect": ["0x7D", "PWR_CTRL"]
}
4 machine states at depth 1.
Bring the bug that won’t reproduce
Early access is small and hands-on. We want the failure you have already burned two board spins on.
- 01A board we support
- 02A failure you can describe
- 03Thirty minutes to wire it up