Doug Brown Builds Alex Taradov's $50 Open Source USB Sniffer — and Documents the Whole Journey
Jul 13, 2023
Embedded software engineer Doug Brown has built an open source USB 2.0 sniffer, based on a design released earlier this year by Alex Taradov — proving that the design can be replicated, while also documenting the mistakes he made along the way as a lesson for anyone looking to build one of their own.
"Normally, USB sniffers like this can cost thousands of dollars, especially if you’re paying for fancy protocol decoding and also want high-speed 480Mbps support," Brown explains in a post brought to our attention by Adafruit. "This one costs about $50 in parts to assemble yourself, although it will take hours to solder and you will need some experience with hot air (or reflow oven) soldering since the USB PHY is a QFN chip with an exposed pad underneath."
The device in question is a design released by Alex Taradov two months ago, designed to sit between a USB 2.0-compatible device and a host PC and monitor the traffic between the two — either using a dedicated command-line package or a plugin for Wireshark. It's an invaluable tool for debugging or reverse-engineering USB devices, and as Brown points out it's a lot cheaper than commercial alternatives — but only if it's actually possible to build one from the files Taradov released.
Armed with the Gerbers and a bill of materials, Brown set about doing exactly that — documenting the process in a detailed video, complete with the "learning opportunities" he encountered on the way — including having to solder a quad flat no-lead (QFN) package, alongside drag-soldering the legs of the Cypress CY7C68013A microcontroller and Lattice LCMXO2 FPGA which drive the device.
Some of those challenges were self-inflicted — "ideally you'd use solder paste [here]," Brown explains while soldering the QFN package, "but I'm not going to do that, what I'm going to do is put solder on all the pads, especially that center pad, because that's ground so you really need that solder" — while others are simply the challenges associated with compact surface-mount devices.
While some of the soldering needed a little touch-up post-assembly, Brown's version of Taradov's USB sniffer does indeed work — and even fits in the 3D-printed case Taradov released for it, proving that the project is replicable for anyone looking for a budget-friendly USB sniffer.
More information on the project is available on Brown's website, while the USB sniffer Gerbers, bill of materials, and source code are available on Taradov's GitHub repository under the permissive BSD three-clause license.