See what happened on the device.
Capture the data you actually need: logs, events, power states, tool output, debug traces, and a session timeline you can share.
A failing device without context is an expensive debugging session.
When hardware fails intermittently, the difference between a ten-minute fix and a three-day hunt is whether someone captured the right data the first time. Embroid captures it by default.
What you get
- Serial logs
- Timestamped events
- Power state
- Device metadata
- Firmware version
- Tool output
- Debug traces
- Crash output
- Session timeline
Anatomy of a captured run.
Every Embroid session ties together the commands that ran, the firmware that was flashed, the logs the device produced, and the assertions that passed or failed.
- 01Session opens with firmware hash, target device, and operator recorded.
- 02Each command (flash, reset, power, serial) is timestamped into the timeline.
- 03Serial output streams into the session log with capture offsets for replay.
- 04Power transitions and GPIO events are captured alongside logs.
- 05Assertions resolve as the sequence runs — each with pass/fail and the matched log line.
- 06The session closes with exit status and can be exported as an evidence record.
{
"session_id": "s-7f21",
"firmware_sha256": "c4a1…",
"target": "nrf52-04",
"operator": "nick@embroid.co",
"started_at": "2026-04-20T14:03:17Z",
"events": [
{"t": "+0.2s", "kind": "power.cycle"},
{"t": "+1.1s", "kind": "flash.ok", "bytes": 184320},
{"t": "+1.3s", "kind": "serial.match", "rule": "boot_ok=1"}
],
"assertions": [{"rule": "boot_ok=1", "ok": true}],
"exit": "passed"
}Which product do you need?
Observability ships on every product. Pro adds richer local history and longer retention.
Captures logs, commands, and assertions against local sessions on the workstation.
Retains session history on the node with optional cloud sync for remote review.
Adds broader timeline capture, more retained history, and accessory event streams.