Skip to content


Repository files navigation


Linux Linux Linux and macOS Windows
Host, Device and docs HW (Host, Device, Flashing) Host only Host only
Deploy docs No deployment Deploy lib Deploy lib
wercker status Build Status Build Status Build status

Data-chan is an USB framework/protocol for communication between Atmel AVR devices (mainly Atmega 32u4) and a PC.

At the current time it can transfer over 800 measures every second.

It makes usage of LUFA on the device side and Libusb on the host.

The framework is though for physics instruments with a slow sample rate, and allow to receive measures and send commands.

It's thought to be:

  • Minimal
  • Fast
  • Configurable


Doc is on it's way. hang tight.


  • Broad compatibility with MacOS/Windows/Linux
  • Bindings for most of the major programming languages
  • Do not require user interaction to install the required drivers
  • Small resource footprint on the MCU
  • Portable to other devices compatible with the LUFA library (and it's forks)


The Host API are compatible with (almost) any operating system, because they are based on pthread and Libusb.

Official compatibility list is:

  • Windows XP or later
  • Linux kernel 2.6 or later
  • FreeBSD 9.0 or later
  • MacOS 10.8 or later

On any other system that supports libusb1.0 you may need to install a generic Libusb driver to have your device working.


Libraries are available to interface data-chan with various programming languages:


The compiled libraries can be downloaded in this s3 bucket, identified by the commit hash.