# USB Host Shield (ADK): specs and pinout

> An Arduino-format shield built around the Maxim (now Analog Devices) MAX3421E USB host controller. It lets a standard Arduino act as a USB host (full…

[HTML version](https://soldr.ai/docs/components/usb-host-shield)

[Docs](https://soldr.ai/docs) / [Components](https://soldr.ai/docs/components)

An Arduino-format shield built around the Maxim (now Analog Devices) MAX3421E USB host controller. It lets a standard Arduino act as a USB host (full speed and low speed) for devices such as keyboards, mice, joysticks, MIDI devices and some cameras, talking to the chip over SPI.

Every value cites its sourceOfficial pinout

[Buy on Compoden](https://compoden.com/products/adk-usb-host-shield-for-arduino-add-usb-device-support)

## Specs

| Spec | Value | Source |
|---|---|---|
| Controller | MAX3421E: USB peripheral/host controller with SPI interface; full-speed (12 Mbps) host and low-speed (1.5 Mbps) host, USB 2.0 compliant | source General Description and Features, p.1 (Maxim, Rev 4, 7/13) |
| Chip supply VCC | 3.0 V to 3.6 V (typical 3.3 V); absolute maximum 4 V | source Electrical Characteristics, p.11; Absolute Maximum Ratings |
| Chip logic-interface supply VL | 1.4 V to 3.6 V; sets the SPI and GPIO logic level | source Electrical Characteristics, p.11; pin description VL |
| SPI clock | Up to 26 MHz, 3-wire or 4-wire SPI | source General Description, p.1 |
| Supply current | VCC up to 45 mA while transmitting at 12 Mbps; 8.7 mA typical, 15 mA maximum idle | source Electrical Characteristics, p.11 |
| Operating temperature (chip) | -40 C to +85 C | source Absolute Maximum Ratings, p.11 |
| Shield level shifting | The shield carries the MAX3421E, a 12 MHz crystal, level shifters, resistors, capacitors and a reset button | source 2. Board hardware, Standard configuration |
| Power configuration | Two solder jumpers marked 5V and 3.3V; both closed suits official Arduinos (Uno, Duemilanove, Mega, Mega 2560) | source 2. Board hardware, Power Select |
| Default SPI control pins | INT on D9, SS on D10; SPI on the standard SPI pins (11 to 13 on Uno-style boards) | source 2. Board hardware, Digital I/O pins 8-13 |
| Analog and other digital pins | Not used by the shield; passed through for stacking | source 2. Board hardware, Analog pins and Digital I/O pins 0-7 |

## Power

| | Value | Source |
|---|---|---|
| Supply | The MAX3421E is a 3.3 V device that must always have 3.3 V while running; USB VBUS is 5 V by the USB specification, and the shield&#x27;s power-select jumpers set how both are supplied | source Electrical Characteristics, p.11 |
| Current | Chip: 8.7 mA idle (typical), up to 45 mA transmitting | source Electrical Characteristics, p.11 |

## Pinout

The pin rows come from the original USB Host Shield 2.0 hardware manual (Circuits@Home). An ADK-branded shield is treated as the same design; differences from the original board are not verified. The chip facts come from the Maxim MAX3421E datasheet (LCSC copy).

| Pin | Function | Voltage | Notes | Source |
|---|---|---|---|---|
| D9 | INT (MAX3421E interrupt) | | Default; re-routable with the INT pad and jumper. | source 2. Board hardware, Digital I/O pins 8-13 |
| D10 | SS (SPI chip select) | | Default; re-routable with the SS pad and jumper. | source 2. Board hardware, Digital I/O pins 8-13 |
| D11-D13 / ICSP | SPI signals SCK, MOSI, MISO | | On Uno-style boards the SPI signals are on pins 11 to 13 and the ICSP connector. | source 2. Board hardware, Digital I/O pins 8-13 |
| RESET | Resets the MAX3421E to its power-on state | | Also resets via the shield&#x27;s reset button. | source 2. Board hardware, Power pins |
| GPIN0-GPIN7 | Eight general-purpose digital inputs of the MAX3421E | 3.3 V | | source 2. Board hardware, GPIN pins |
| GPOUT0-GPOUT7 | Eight general-purpose digital outputs of the MAX3421E | 3.3 V | | source 2. Board hardware, GPOUT pins |
| Power Select jumpers 5V / 3.3V | Select the power configuration | | Both closed is the configuration for official Arduinos such as Uno and Mega. | source 2. Board hardware, Power Select |

## Build with it
Project ideas for the USB Host Shield (ADK). Each link opens Soldr with the prompt filled in; Soldr assigns the pins, checks power and shows how to wire every part.

- [USB keyboard text terminal](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20USB%20keyboard%20text%20terminal%20that%20shows%20typed%20text%20on%20a%2016x2%20LCD%20using%20an%20Arduino%20Uno%20and%20a%20USB%20host%20shield): The shield uses D9, D10 and the SPI pins, and leaves the analog pins free, so the I2C LCD can use A4 and A5. Use a USB keyboard you already own; check the keyboard&#x27;s current draw against what the Uno&#x27;s USB supply can give before using a bus-powered one.
- [Key-press indicator panel](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20key-press%20indicator%20panel%20that%20lights%20a%20different%20LED%20for%20each%20key%20I%20press%20on%20a%20USB%20keyboard%20using%20an%20Arduino%20Uno%20and%20a%20USB%20host%20shield): LEDs go on free pins (D2 to D8), each with a series resistor; D9 to D13 are taken by the shield. Use a keyboard you already own.
- [USB mouse position readout](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20USB%20mouse%20movement%20readout%20that%20shows%20the%20X%20and%20Y%20counts%20on%20an%20OLED%20using%20an%20Arduino%20Uno%20and%20a%20USB%20host%20shield): The sketch reads mouse movement through the host library and prints counters on the I2C OLED (A4 and A5 are free on the shield). Check the OLED module&#x27;s supply voltage on its silkscreen. Use a mouse you already own.

## Common mistakes

- Leaving the power-select jumpers wrong for your board: the maker says both the 5V and 3.3V jumpers closed is the setting for official Arduinos, and that the MAX3421E always needs 3.3 V (source: [link](https://chome.nerpa.tech/usb-host-shield-hardware-manual/), Power options).
- Using pins 9 and 10 for something else: the shield uses D9 for INT and D10 for SS by default, so another shield or sketch on those pins conflicts; the shield provides pads to re-route them (source: [link](https://chome.nerpa.tech/usb-host-shield-hardware-manual/), Interface modifications).
- Expecting a bus-powered USB device to run from any 3.3 V setting: USB VBUS is 5 V, and the maker notes that some devices need the 5 V VBUS configuration (source: [link](https://chome.nerpa.tech/usb-host-shield-hardware-manual/), Power options).

## Not covered by the official source

- The shield maker&#x27;s manual describes the original USB Host Shield 2.0; an &#x27;ADK&#x27; shield&#x27;s exact design, and any Android accessory (ADK) behaviour, are not documented here.
- The maker&#x27;s manual does not give shield-level supply currents or the VBUS current limit; no figures are stated for those.
- The MAX3421E makes the Arduino a USB host: it connects to USB devices such as keyboards and mice; it does not make the Arduino appear as a USB device.

## Sources

- [link](https://datasheet.lcsc.com/datasheet/pdf/1ae8a74d001f500ed7bdabbabfe9c4d5.pdf) (Maxim MAX3421E datasheet, Rev 4, 7/13; verbatim copy of the maker&#x27;s PDF on LCSC)
- [link](https://chome.nerpa.tech/usb-host-shield-hardware-manual/) (Circuits@Home USB Host Shield hardware manual; the shield maker&#x27;s own page, read from an archive.org copy dated 2020)
