Skip to content

DEF CON 34 talks are here: 354 talks, summarized and searchable.

Browse DEF CON 34

Building and Hacking USB with FPGAs

Michael Ossmann

HardwareTalks47 minAdvancedOpen on YouTube ↗

Where

Talks
ShmooCon 2025

Duration

47 min

Walks through open-source FPGA tools for building USB devices, analyzing USB traffic, and emulating hardware.

Summary

The talk revisits the USB hardware work of Great Scott Gadgets, tracing how the earlier Daisho project, a super speed USB board, led to the smaller Cynthion analyzer. The speaker explains that Cynthion pairs an FPGA with open-source gateware, and that the Luna library, written in Amaranth HDL, provides the USB logic. Python scripts drive the build flow, so a new bitstream can be generated and loaded onto the board in seconds.

A large part of the talk covers Packetry, a Rust-based USB analyzer. Using live demos, the speaker compares it with Wireshark while capturing from a HackRF. The comparison shows that Linux usbmon exposes host controller requests rather than the traffic on the wire, and that Wireshark slows badly once a capture reaches millions of packets. An upcoming interleaved hierarchical view is previewed as a way to keep both protocol hierarchy and chronological order.

The later sections cover Facedancer, which lets a host Python script act as a USB device for a target computer, so the target sees a real device. A live example reverse engineers the board ID and version requests of a HackRF using the suggest feature. The closing part lists ways to build USB devices in software, gateware, or added hardware, and points listeners to the open-source projects and documentation behind them.

Related talks