Warning to KiCad Users: Avoid all links to kicad - pcb.org – Use kicad.org

Starting Electronics needs your help! Please make a donation to help cover our hosting and other costs. Click the donate button to send a donation of any amount.

Donations Received:

Amontec JTAGkey USB JTAG Tool

Created on: 18 January 2013
Updated on: 26 April 2015

The JTAGkey is a USB JTAG tool from the Swiss company Amontec. It can be used to program JTAG microcontrollers, CPLDs and FPGAs. The JTAGkey can also be used for debugging on ARM microcontrollers and boundary scan testing on JTAG devices.

The JTAGkey is plugged into a PC USB port and is powered by the USB port power.

JTAGkey Information

Web Page

The web page for the Amontec JTAGkey has documentation on the JTAGkey as well as drivers and software for the JTAGkey.

There is also a JTAGkey2 available that is compatible with the JTAGkey, but is faster.

JTAGkey and Accessories

The JTAGkey is supplied with a USB cable, a flying-lead cable and a 20-pin header ARM ribbon cable.

The image below shows the JTAGkey without any cables attached.

The Amontec JTAGkey USB JTAG device

The Amontec JTAGkey and USB Cable

In this image, the flying lead cable is used to connect the JTAGkey to a CPLD board for programming the CPLD.

Programming a Xilinx CPLD using the JTAGkey

Programming a Xilinx CPLD using the JTAGkey

The 20-pin ARM cable is used to connect the JTAGkey to the ARM microcontroller board for programming and debugging in the image below.

Programming and Debugging an ARM Microcontroller using the JTAGkey

Programming and Debugging an ARM Microcontroller using the JTAGkey

Devices Supported

The JTAGkey is a generic JTAG tools, so theoretically it should support any target device that uses JTAG. Practically, however, the number of devices that the JTAGkey supports is limited by the software available for the JTAGkey that supports the devices.

The JTAGkey is mainly targeted to ARM microcontroller programming and debugging. The Amontec documentation for the the JTAGkey mainly promotes use on ARM targets and FPGA / CPLD devices second to that.


FPGAs and CPLDs can be programmed in-system by the JTAG key. This is done by generating a SVF file from the FPGA or CPLD software tools (e.g. Xilinx ISE software) and then using the Amontec SVF Player software to configure the FPGA or CPLD using the SVF file.

Altera, Atmel, Cypress, Lattice and Xilinx FPGA / CPLD devices can be configured using SVF files and the SVF player software.

ARM Microcontrollers

OpenOCD is open source software for programming and debugging microcontrollers. OpenOCD supports the JTAGkey on a number of different ARM cores from the ARM7, ARM9, Cortex-M3 and XSCALE families.

ARM Toolchain

A GNU ARM toolchain such as YAGARTO can be used with the JTAGkey.

Other Uses of the JTAGkey

The JTAGkey can also be used as a USB-SPI link cable and USB-I²C link cable.

Books that may interest you:

C Programming with Arduino Book Ultimate Arduino MEGA 2560 Hardware Manual Ultimage Arduino Uno Hardware Manual