Awesome Open Source
Awesome Open Source


Build Status

DirtyJTAG is a JTAG adapter firmware for $2 ST-Link clones and generic STM32 development boards ("blue pill"/"black pill" STM32F101 and STM32F103 based ARM boards). The DirtyJTAG project was meant to be an alternative to the obsolete (but cheap) LPT Wiggler cables, and other expensive USB JTAG probes.

DirtyJTAG is dirty and dirt cheap, but is not fast nor a perfect implementation of the JTAG protocol. Yet it is around 500 sloccount lines, therefore it is easily understandable and hackable.

If you prefer OpenOCD to UrJTAG, I suggest using Zoobab's fork of Versaloon firmware, which is available on his GitHub repository.

Build your DirtyJTAG adapter

Bluepill ST-Link v2 clone (dongle) ST-Link v2 clone (white case) "Baite" ST-Link v2 clone
Bluepill icon ST-Link v2 dongle ST-Link v2 Baite dongle
Instructions Instructions Instructions Instructions
Olimex STM32-H103
STM32-H103 icon
No instructions yet

Software compatible with DirtyJTAG


All DirtyJTAG-flashed devices appear with the following USB VID=0x1209/PID=0xC0CA (which belongs to "InterBiometrics") :

$ lsusb
Bus 002 Device 003: ID 1209:c0ca InterBiometrics

The PID was obtained through, which is a registry of USB PID codes for open source hardware projects. More infos:

Dmesg also give some output where you can see the Manufacturer field as "DirtyJTAG":

$ dmesg
[55444.904830] usb 1-3: new full-speed USB device number 12 using xhci_hcd
[55445.033099] usb 1-3: New USB device found, idVendor=1209, idProduct=c0ca, bcdDevice= 1.10
[55445.033105] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[55445.033108] usb 1-3: Product: DirtyJTAG
[55445.033111] usb 1-3: Manufacturer: Jean THOMAS
[55445.033114] usb 1-3: SerialNumber: 55FF6E064980515631491787

Some docs

Inspiration & links

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
c (14,351
arm (206
firmware (139
usb (105
stm32 (92

Find Open Source By Browsing 7,000 Topics Across 59 Categories