YAD2XX is a Java native interface to the FTDI D2XX USB driver.
2 July, 2012 (orig)
18 November, 2016 (update)
You MUST install the FTDI driver from the FTDI website. See
Users of this project need to understand that a Java Native Interface consists of
two files. The first is the projects Java library, yad2xxJava-*.jar. The JAR
file contains compiled Java bytecode and is platform independent. You need to
download this and make it available on your projects CLASSPATH.
The second download file is platform dependent. You will need to choose between
the Windows x64 or OS X variants. This file contains the platform dependent
implementation code (native code).
On Windows x64 (I've tested on Windows 7) you should download, virus scan, and copy
FTDIInterface.dll to c:\windows\system32.
The current FTDI CDM (Combined Driver Model) contains D2XX and VCP drivers. By default
both are enabled. This means the FTDI device will be 'owned' by Windows as a COM port.
Open the Windows Device Manager to verify. To use the device via its D2XX driver you
need to perform the following using the Device Manager:
1) Expand the item 'Universal SerialBus controllers'
2) Select the nested item 'USB Serial Converter'
3) Right mouse click (open context menu) then left mouse click on 'Properties', this opens a dialog window
4) Select the 'Advanced' tab
5) Uncheck the 'Load VCP' option
6) Exit the dialog window
This will disable the VCP driver, leaving the D2XX driver as the sole interface. Unplug
the device and restart Windows.
OS X (Yosemite and earlier)
Copy libFTDIInterface.jnilib to /usr/lib/java.
OS X (El Capitan)
Apple have tightened up system security and /usr/lib is no longer writable.
Copy libFTDIInterface.jnilib to /Library/Java/Extensions.
From 0.3 onward there will be two project JAR files. The sample code runs at the command
line and is based on Apache Commons CLI code. If you're not sure which JAR file to use
then select the 'with-dependencies' version. This makes things easier as all the required
classes are packaged in a single library.
If you can live without the sample code then use the smaller JAR file.
Insert your device and try running the sample program 'ListDevices'.
>java -cp yad2xxJava-0.3-with-dependencies.jar net.sf.yad2xx.samples.ListDevices
This will list the attached FTDI devices and their capabilities. If this deson't work
then recheck the steps outlined above. If all else fails raise a ticket.