Close

Design of the dock

A project log for ESP32 Bit Pirate Dock

Turn an ESP32-S3 into an USB hardware tools compatible with applications such as flashrom, PulseView, AVRDUDE, OpenOCD

fdufnewsfdufnews 06/10/2026 at 12:310 Comments

The Dock has been designed to be compatible with the Bus Pirate ecosystem but not limited to. The 10 pins connector can be hooked to devices with 1.8, 3.3 and 5V signals. In additon to the 10 pins connector, all the IOs of the DevKit are exposed to the user but with the limitation of the 3.3V compatibility.

Also, the design took the economic aspect into account in order to make the product accessible to as many DIYers as possible.

How we did it

We had some design constraints:

In order to take all theese constraints into account we choose the TXS0108 as it ticks all the boxes. It is a Bi-Directional, Level-Shifting, Voltage Translator for Open-Drain and Push-Pull Applications. And the TXS0108 switches from input to output by itself.

The only drawback is that one side of the level shifter must manage signal with a voltage level higher than the other. So you can't have a side managing 3.3V and the other 1.8 to 5V. We had to put two level shifters so one can manage signals from 3.3 to 5V and the other signals less than 3.3V. This led to another complication, the obligation to add a multiplexer to direct the signals to one level shifter or the other. We selected the TMUX1574.

A VTARGET is generated locally to power the level shifters and the device/module under test providing it does not consume too much current. To keep it simple a mechanical switch is used to select VTARGET and the direction of the multiplexer.

Hence the synoptic below

As the design is Open Hardware, all the files are on github (schematics and layout made with Kicad, Gerber files, pdf of schematic), there is also the 3D models of a 2 parts case to protect the dock.

Discussions