USBSnifferPIO_RP2040

Passive USB 1.1 packet sniffer using the RP2040 PIO coprocessor.

Author
Ângelo Moisés Alves
Website
https://github.com/angeloINTJ/USBSnifferPIO_RP2040
Category
Communication
License
MIT
Library Type
Contributed
Architectures
rp2040

Captures Low-Speed (1.5 Mbps) and Full-Speed (12 Mbps) USB packets passively through high-impedance GPIO tapping. Uses a single PIO state machine for deterministic 8x oversampled line sampling, DMA ping-pong buffering for zero-copy data transfer, and a full software decoder implementing clock recovery, NRZI decoding, bit-unstuffing, packet framing, and CRC5/CRC16 verification. Delivers structured USBPacket objects through a callback API. Dual-core ready. Ideal for protocol analysis, HID device monitoring, and USB debugging.

Downloads

Filename Release Date File Size
USBSnifferPIO_RP2040-1.0.0.zip 2026-03-28 53.12 KiB