The ADK USB Host Shield compatible with Arduino 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.
It is compatible with more Arduinos – not only UNO and Duemilanove but also Mega and Mega 2560 work with a Standard variant of this shield out of the box. No more SPI re-wiring and code modifications – just solder included stackable connectors (2×3 ICSP connector’s female side should be facing down), plug and play! Using Arduino Compatible USB HOST function, let your Arduino communicate with other USB devices, and supports USB HUB function.
USB Host shield adds USB Host capabilities to the Arduino board. They are large no of USB Host shield which is available in the market but the only problem is that you have to choose the right host shield. Before using that, first of all, you should know, what is a USB Host shield? The USB protocol defines two types of devices.
One is called the host (or server) and the other one is called peripheral (client). The Host device controls the peripheral device and also provides power to it. When you connect any USB device like a mouse or a keyboard to your computer, your computer acts as the host and controls (or polls) the client device (keyboard or mouse or even an Arduino).
For a successful communication to happen using USB protocol, you need at least one of the device to be the host, which means that you cannot connect two keyboards together and expect them to communicate with each other.