USB protocol, macOS/Win/Linux USB Drivers, atmega32u4 firmware
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Device
Host
Protocol
docs
scripts
.cproject
.drone.yml
.gitignore
.gitmodules
.project
.travis.yml
DataChan.mk
LICENSE.md
README.md
Vagrantfile
appveyor.yml
config.h
makefile
wercker.yml

README.md

Data-chan

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

Docs

Doc is on it's way. hang tight.

Features:

  • 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)

Compatibility

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

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

Download

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