Using an FTDI Mini Module as a JTAG Controller for the UrJTAG project.

We review what is needed to use an FTDI FT2232H Mini Module as a JTAG controller when using UrJTAG.

Note: this is a legacy article that is no longer being maintained and may be stale or inaccurate. However, if you have a question or comment about it, please submit it below.

An FTDI FT2232H Mini Module can be used as a readily available, low cost JTAG controller when using UrJTAG tools.

The figure below shows the mini module in action connected to an ADI Blackfin BF537-Stamp development board.

We took the quick & dirty route by modifying a UrJTAG source file so the tools would operate as if the module was a gnICE JTAG controller. We modified "/urjtag/src/tap/cable/ft2232.c" and replaced the following line:

URJ_DECLARE_FTDX_CABLE(0x0456, 0xF000, "-mpsse", "gnICE", gnice)


URJ_DECLARE_FTDX_CABLE(0x0403, 0x6010, "-mpsse", "gnICE", gnice)

This maps the gnICE board to vendor ID 0x403, which is FTDI, and product ID to 0x6010, which is the mini module.

Rather than hacking at the UrJTAG code, we could have changed the VID and PID (vendor and product ID) on the mini module to emulate the gnICE board or created a new UrJTAG profile for the mini module. For us, the last option is probably the best & what we'll eventually do since we're in the process of creating a simple, open source opto-isolator base board for the mini module. We'll post an update when that board is finalized.

Wiring Connections

The table below provides the wiring connections between the mini module and any Blackfin development board that follows the ADI convention for JTAG pin numbering.

Mini Module CN2 to Blackfin JTAG Mapping

Pin #

Pin Signal

Pin #

Pin Name
7 AD0 8 TCK
9 AD2 14 TDO
10 AD1 12 TDI
12 AD3 6 TMS
13 AD5 2 EMU
17 AC1 10 TRST

In addition to the above connections, pin 1 on CN2 should be tied to pin 11, which ties VIO to 3.3V. Also, a jumper should be placed between CN3-1 and CN3-3 to tie VCC with VBUS. These connections are recommended in the mini module datasheet for powering the mini module from the USB bus.

Date: Oct. 5, 2016

Author: Pratik


The article which you mentioned is for Ur jtag ,what are the changes are require if we want to use openocd stack on top of it. Pin no are going to be same..?

Date: Oct. 7, 2016

Author: Bob


Hi Pratik, We were able to use the mini module as an Open OCD JTAG debugger with a Freescale / NXP iMX6 SABRE board. We only did some preliminary testing but the hardware seemed stable. Keep in mind though that the mini module only supports 3.3V and won't support the newer 1.8 V JTAG interfaces.

Add a new comment here or reply to one above:

email addresses are neither displayed nor shared