USB Host Library 3.0-Alpha is out

The alpha of the third revision of USB Host library has been posted on GitHub. The code has been extensively re-organized to make it modular and generic; as a result, it is now possible to run it on more Arduino compatibles and also use native USB Host hardware on some of them. At the time of this writing, USB Hub and Mass Storage classes are supported, the work on migrating the rest of device drivers is in progress.

The code is to be used with Arduino IDE 1.6.1 or newer, please upgrade before attempting to compile it. Also, please read the README file for more details. If you encounter any issues, post them in the issue tracker on GitHub.

The credit for this commit goes to Andrew Kroll – thank you!

14 comments to USB Host Library 3.0-Alpha is out

  • Bob

    Have been successful using the USB Host Shield on a Mega to read the output from an Outback Mate 3 with serial card option. Must migrate to the Arduino Due.

    Have had no luck reading anything on the Due using Arduino 1.6.1

    Can anyone point me in the direction of a simple code example to just read to the native port on a Due acting as a USB host?

  • Could I use the host library to read output from xbox one console, and send button presses to console, bit of novice to this.
    Ultimatly tring to add extra buttons and glcd to a thrustmaster tx racing wheel to show outputs from xbox one console. similar to that available to PC gamers, like Sym Projects products Sim Screen and dlc-247.

  • Daniel

    Congratulations for the new version ^_^.

    I tried running the example UHS_FS_NEW_DEMO but get an error about not finding the RTClib.h library. Other examples like board_qc compiles fine.

    To download the new version I used the command git clone –recursive but it seems that this library don’t download.

    How can I fix it?

  • Bob

    Flailing around trying to read something from the USB native port on an Arduino Due.
    I know there is a signal there.
    Below is code that will compile but does not work.
    Any help would be appreciated! – Just point me towards any sketch that does work on a Due.


    #define USB_HOST_SERIAL Serial1

    void setup() {
    void loop() {
    if (Serial1.available() > 0) {
    int data =;
    Serial.println(“some usb data”);

  • Does the USB Host Shield support USB 3G Modems..?

    Can it support those if sufficient time is spent on development of the relevant drivers?

  • Andrey

    Is there any possible way to use wifi dongle via native USB port of Arduino DUE?

  • A Arduino User

    What should I do to use the feature of mass storage on Arduino Due without host shield with this library? I download the library, but there isn’t a “index” or something similar to the components, idk what items should I use…

  • Dirk67

    is it possible (or maybe in future),
    to use this library 3.0 with the new “genuine” Arduino Zero Board (from ?

    I see that arduino have made a port of your 2.0 library tu use with the Atmel SAMD21G18 (Arduino Zero)
    this library is now contained in the new 1.6.5 IDE (Released 15.June.2015)

  • I’ve just recently started to program Arduino Mega ADK R3 as a MIDI host using USB Host Library 2.0
    Should I be looking at 3.0 library instead, or will 2.0 be around for a while?
    When might we expect an example of 3.0 for say HID?

  • Roshan

    I am using USB host shield library to establish accessory connection between MEGA ADK and Android smartphone. The Accessory is recognized and the adk is connected but there is no data transfer.
    I tried using all the examples on the Internet. I even tried the blinkled example but I cannot pass data..even the RX and TX indicator on the ADK does not blink. The demoKit2 closes itself when i turn on the serial monitor.Please help me.. I am turning hopeless and this is my Bachelor in Engineering Thesis.