Skip to content
aushacker edited this page Jul 21, 2021 · 14 revisions

yad2xx

Yet Another D2XX Interface. This project is a Java Native Interface (JNI) library that wraps the FTDI C language D2XX USB driver library. Currently it supports OS X 10.9+ (Mavericks and later), Linux and Windows 7/8/10 64-bit platforms.

The project has three main functional areas:

  1. A Java language binding to the FTDI D2XX library functions
  2. A high level API for the MPSSE that simplifies SPI, I2C and JTAG interfaces
  3. A Java language binding to the FTDI Lib4222 library functions

Getting Started

You must install the correct FTDI D2XX driver for your platform. Follow the FTDI instructions to configure your workstation.

OS X users need to understand their device driver options.

Project configuration and source builds are managed by Apache Maven. Each platform (OS X, Linux, Windows) requires two items to be built, a common Java library (.jar) and a platform specific native module (.jnilib,.so,.dll). These are available for download as artefacts on the Actions tab.

Building from source on Windows, OS X or Linux can be complicated. Inexperienced developers should consider using the prebuilt binaries.

Once you have the sample program ListDevices working you'll want to take your first steps.

Project Status

Project is being developed incrementally on a needs basis. Common D2XX functions have been implemented. The function index has more detail.

Releases occur infrequently mainly due to the fact the current functionality is sufficient for the authors needs. Things tend to get done when people ask questions. Creating an issue is the preferred way for you to ask a question.

2.1 - May 2020

  1. Commence FT4222 support - new functions

2.0 - February 2019

  1. Move to Github
  2. Add Linux support

1.0 - July 2018

Production ready code. Precompiled binaries are much easier than build from source, Windows especially.

  1. Java 8
  2. Support for infrequently called Windows only functions
  3. Javadoc cleanup
  4. SPI improvements, demo for DotStar LED

0.4 - November 2016

MPSSE support added. Implementation still very much alpha quality code so the binaries were never made available. Must build from source.

0.3 - July 2015

Added:

  1. Some missing D2XX functions required for serial port management
  2. Several sample programs

0.2 - September 2013

Adds support for serial port operations and EEPROM functions.

0.1 - June 2012

Initial release.