Arduino USB Host Shield

Arduino USB Host Shield Front Arduino USB Host Shield Back


NOTE: this product is currently retired and the documentation will not be kept up-to-date

The Arduino USB Host Shield allows you to connect a USB device to your Arduino board. The Arduino USB Host Shield is based on the MAX3421E (datasheet), which is a USB peripheral/host controller containing the digital logic and analog circuitry necessary to implement a full-speed USB peripheral or a full-/low-speed host compliant to USB specification rev 2.0. The shield is TinkerKit compatible, which means you can quickly create projects by plugging TinkerKit modules onto the board.

The following device classes are supported by the shield:

  • HID devices: keyboards, mice, joysticks, etc.

  • Game controllers: Sony PS3, Nintendo Wii, Xbox360.

  • USB to serial converters: FTDI, PL-2303, ACM, as well as certain cell phones and GPS receivers.

  • ADK-capable Android phones and tables.

  • Digital cameras: Canon EOS, Powershot, Nikon DSLRs and P&S, as well as generic PTP.

  • Mass storage devices: USB sticks, memory card readers, external hard drives, etc.

  • Bluetooth dongles.

For information on using the board with the Android OS, see:

- Google's ADK documentation.

- Arduino's ADK documentation.

Arduino communicates with the MAX3421E using the SPI bus (through the ICSP header). This is on digital pins 10, 11, 12, and 13 on the Uno and pins 10, 50, 51, and 52 on the Mega. On both boards, pin 10 is used to select the MAX3421E. Pins 7, 8 and 9 are used for GPX, INT and RES pins.


Operating Voltage5V
USB ControllerMAX3421E
Max Current500mA when Arduino is powered by a suitable power supply connected to the Arduino power jack
Max Current400mA when Arduino is powered by its USB port

Arduino Library

The Arduino USB Host Shield can be used with the "USB Host Library for Arduino" hosted by Oleg Mazurov and Alexei Glushchenko from circuits@home, Kristian Lauszus and Andrew Kroll on GitHub (download).


Control an RC car using an XBOX wireless game controller;

Here you can find some tutorial developed by circuits@home.

Bluetooth HID devices;

PS4 controller;

Adding a display to a digital scale using Arduino and USB Host shield;

Mass Storage;

Schematic & Reference Design

EAGLE files:

Schematic: USBHostShield-Rev2.pdf


The Arduino USB Host Shield has no power jack and is powered only when attached to an Arduino board.

Input and Output

This shield has a MALE USB port where you can attach your USB device.

The shield features several TinkerKit input/output and communication interfaces. Connecting TinkerKit modules can simplify the creation of a project or a prototype. The on-board connectors are :

  • 2 TinkerKit Inputs: IN2 and IN3 (in white), these connectors are routed to the Arduino A2 and A3 analog input pins.

  • 2 TinkerKit Outputs: OUT5 and OUT6 (in orange), these connectors are routed to the Arduino PWM outputs on pins 5 and 6.

  • 2 TinkerKit TWI: these connectors (4-pin in white) are routed on the Arduino TWI interface. Both connect to the same TWI interface to allow you to create a chain of TWI devices.

Physical Characteristics

The maximum length and width of the Motor Shield PCB are 2.7 and 2.1 inches respectively. Four screw holes allow the board to be attached to a surface or case. Note that the distance between digital pins 7 and 8 is 160 mil (0.16"), not an even multiple of the 100 mil spacing of the other pins.