Embedded · 2025
A handheld tool that identifies the protocol and pinout of unknown UART, I²C and SPI devices by sniffing or fuzzing, and decodes the traffic live.
0x55 0x41 0x52 0x540x49 0x32 0x43 0x000x53 0x50 0x49 0xFF
Sniff& Fuzz
UART · I²C · SPIRP2040 / PICO W
Ever found a circuit board and had no idea how its chips talk to each other? This handheld tool figures it out. Built on a Raspberry Pi Pico W, it identifies the protocol (UART, I²C or SPI) and the pinout of an unknown device, then decodes the traffic live.
Three modes, three buttons
- Sniff: listens passively on the probe pins to work out which protocol is in use and how it’s wired.
- Fuzz: actively probes the target by injecting signals, to find devices that stay quiet until spoken to.
- Decode: a live logic analyser that turns bus traffic into readable hex and ASCII, using the configuration found in the first two modes.
An RGB LED shows which mode it’s in, so you can use it without a screen.
Under the hood
- A finite state machine keeps the modes (idle, sniff, fuzz, decode) cleanly separated.
- High-speed capture uses the RP2040’s PIO state machines, so signals are sampled in hardware rather than in software loops.
- A Wi-Fi web dashboard hosted on the Pico itself lets you change settings, read wiring guides and view live logs from a browser.
- Logging streams in real time over UDP and saves to an SD card, with mutex-protected writes so nothing gets corrupted.

