The Arduino USB Host Shield allows you to connect an USB device to your Arduino board. The Arduino USB Host Shield is based on the MAX3421E (datasheet), which is an USB peripheral/host controller contains the digital logic and analogue circuitry necessary to implement a full-speed USB peripheral or a full-/low-speed host compliant to USB specification rev 2.0.
The following device classes are supported by the shield:
- HID devices, such as 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 tablets.
- Digital cameras: Canon EOS, Powershot, Nikon DSLRs and P&S, as well as generic PTP.
- Mass storage devices, such as USB sticks, memory card readers, external hard drives.
- Bluetooth dongles.
For information on using the shield with the Android OS, see Google'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.