Dragon Isolator

Warning: This project is deprecated and JTAG support was never tested. Please invest in a USB isolator instead!

PCB

PCB

Top

Top

USB port at the Dragon

USB port at the Dragon

Target connector

Target connector

I own an AVR Dragon, which is a really cheap programmer and debugger for almost all of of Atmel’s AVR microcontrollers. But to make this device cheap, the level converter / voltage buffer lacks any protection against overcurrent, reverse voltage or static discharge. Finally, connecting the target’s ground to your computer’s ground should be optional, not mandatory.

So I decided to combine multiple designs into one circuit that provides galvanic isolation for the Dragon with ISP, JTAG and debugWire protocols. Isolating PDI requires more effort, as it uses the data lines bidirectionally. This is done for debugWire, which is much slower than PDI and only works with open collector logic. So, isolated PDI is not implemented. And unfortunately, debugWire doesn’t work reliably. I still don’t know why. But ISP does work.

Ironically, using JTAG with the AVR Xplain’s ATxmega128a1 only works with the Dragon Isolator, but not directly without it.

Schematic

The PCB above to the left shows the first version where the optocouplers are scattered over the board. The current layout uses a more straight alignment.

The five suppressor diodes (top right, below the connector) have a capacance that is too large to let ISP/dW/JTAG work. They should only be populated with low-capacitance diodes (300V variant perhaps?). Instead, only the much smaller double-schottky diodes on the backside are used. They also limit overvoltage, but can only absorb little amounts of energy.

The Dragon circuit is connected via plug connectors to the case. On the top resides a ZIF socket and the other replicated pin headers.

Files
iso-dragon-r503.tar.bz2

Sources

Many thanks to the authors of those schematics!