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, 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 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.
Source: Arduino website