One time installation of Quartus support libraries is needed. There are no custom USB drivers needed, WHQL certified Drivers from FTDI Chip are used.

Table of content

Important Note

Modules produced after June 2020 are no longer compatible with the older drivers.

Please install driver version 2.4 or newer

See also driver revision change history: Revisionchangehistory

Download Setup Files

JTAG Frequency

Default JTAG Speed with driver Version 2.5 is 20 MHz.

USB controller Maximum frequencyOther valid frequencies
FT2232D6 MHz3 MHz, 2 MHz, 1.5 MHz, 1.2 MHz … 92 Hz
FT2232H20 MHz15 MHz, 10 MHz, 7.5 MHz, 6 MHz … 460 Hz

 Change on Linux:

  • Change via Quartus Tools or ".arrow_usb_blaster.conf" file, see install instructions

Change on Windows

  • Change via Quartus Tools or change registry:
    • Open Registry Editor on section: HKEY_LOCAL_MACHINE\SOFTWARE\
    • Browse to Altera Corporation\JTAGServer\Hardware_Arrow_USB_Blaster
    • Change value from TckFrequency
  • See also PDF included in "C:\Program Files\Arrow\Arrow USB Blaster" installation

Installing Instruction and Known Issues of the newest version



  1. Install Quartus Software
  2. Download the appropriate version of Arrow USB Programmer2
  3. Run Install to install the Arrow USB Programmer.The setup executable installs the programmer DLL and adds some keys to the registry of the PC.
  4. After connecting  Arrow USB Programmer2 to the PC, two unknown devices might appear in the “Other devices” section of device manager of the PC.

  5. Windows usually automatically finds the appropriate drivers for these devices. After some time, the “Other devices” section should be empty. Instead, two USB Serial Converters should be listed in the section “USB Serial Bus controllers”. Furthermore, a USB Serial Port should be listed in the “Ports (COM & LPT)” section.


Known issues

  •  In case Arrow USB Blaster is selectable on Quartus, but no device can be detected, reinstall FTDI drivers from .
  •  HW server service of quartus request only one time programmer from Arrow DLLs.  In case of dynamically connect/disconnect FTDI programmer or other FTDI based boards it's sometimes needed to restart HW server service of Quartus to link again to the correct FTDI.

For problems on Windows, please check Troubleshooting Guide and use Diagnostic program, available on Arrow_USB_Programmer Setup Libraries Download Area.



Be sure you have the right permissions for doing as follows.

  1. Copy the file to the directory linux64 of thw Quartus installation directory e.g. /usr/local/intelFPGA_lite/19.1/quartus/linux64 .
  2. Make sure the Arrow USB Programmer is not linked to a virtual COM port.
    1. Please check readme of the download for more detailed instructions

The frequency of the JTAG clock TCK can be configured using an additional configuration file. The programmer hardware library searches the configuration data using different file names at two different locations.

  1. as ".arrow_usb_blaster.conf" in the home directory of the user who has started the JTAG demon. This possibility is intended to set the frequency for an individual user or project.
  2. as "arrow_usb_blaster.conf" under "/etc" if it was not found in the home directory. This is to change the settings globally.

If no configuration file is found the default setting is used which is 20 MHz.

If there is the need to change the JTAG clock frequency, copy the file "arrow_usb_blaster.conf" and adjust the frequency to your needs.

The programmer shared library uses the FTDI library libftd2xx version 1.4.8 which is statically linked.

The programmer shared library for Linux has been developed and tested under Ubuntu 16.04 LTS. However it should also work with other Linux distributions.

Known issues

  • During the enumeration process, the FTDI USB controller performs a reset. Depending on the hardware used, this might remove the power from the FPGA and therefore might erase the contents of the FPGA.
  • udev rules has default priority 50 for usb device. In case of trouble increase priority
    • check if usb devices has RW rights: ls -la /dev/bus/usb/001/*
  • non-volatile (.jic) configuration does not work with Ubuntu OS and Agilex FPGA (The problem is still being investigated)
    • Workaround: Use volatile (.sof) configuration or Win OS

Revision change history

  • 2.4 to 2.5
    • Bug fix. Adding or removing programmer hardware after JTAG server (re-)start still could lead to a mix-up of ports.
    • Correct "details" information in DLL and setup program. (WinOS only)
    • Setup installs the diagnostic program as well (WinOS only
  • 2.4 to 2.4.1 (LinuxOS driver only)
    • Changed line 49 in README file: "ATTR{interface}=="Arrow USB Blaster",\" to "ATTR{interface}=="Arrow USB Blaster*",\"
  • 2.3 to 2.4

    • Bug fix. Adding or removing programmer hardware after JTAG server (re-)start could lead to a mix-up of ports. Furthermore, devices not longer connected could still be displayed in Quartus programmer.

    • The port name in Quartus programmer is not USBx anymore but the FTDI USB Serial Number, e.g. AR1G48Z5 or 498069.

    • For modules which will be produced after June 2020:
      • FTDI serial number consists of prefix AR and module serial number which is also displayed on the sticker with QR code on the board. Also Module Series name is shown in Quartus:


      • FTDI serial number of the DAQ modules consits of prefix AD module serial number which is also displayed on the sticker with QR code on the board. Also Module Series name is not shown in Quartus at the moment (this feature will be enabled later for this series)
  • 2.2 to 2.3

    • winOS: add32 bit version of FTDI USB driver
    • LinuxOS:
      • rules file removed
      • readme explains basics about VCP issue
  • 2.1 to 2.2

    • the frequency of the JTAG clock TCK can be set and queried via the command line tool jtagconfig from Intel

    • the standard TCK frequency is 20 MHz instead of 6 MHz

    • it is now possible to program non-volatile keys into an FPGA

    • In the Windows version, the current USB drivers of FTDI are copied to the installation directory.

    • In the Linux Version, new installation description and rules file

  • No labels