libusb for Java

User Tools

Site Tools



LibusbJava is a Java wrapper for libusb and is developed and maintained at the NTB.


This projects provides the necessary shared libraries in C++ and Java classes to access libusb trough the Java Native Interface. The class ch.ntb.usb.LibusbJava loads the shared library and provides the native interface to access the underlying libusb.
The source code is organized as follows:

  • java → the java source code
  • LibusbJava → the shared library

LibusbJava is licensed under the Apache License 2.0.
For any feedback or suggestions please use the GitLab project page at

You can use an USB device with LibusbJava with few steps: create a context, search a device, open it, claim an interface. After this you are ready to transfer data to your device (see First Steps).


2018/10/23: New license

change of license to Apache License 2.0

2018/10/23: New version

full libusb support (interrupt and isochronous transfers added)


start.txt · Last modified: 2022/02/25 10:57 by ditaranto