Arduino USB Host Shield
This is a summary page for Arduino USB Host Shield project that I started in the spring of 2009. The initial goal of the project was to develop Arduino code supporting USB Host controller in order to communicate with USB peripherals, such as keyboards, joysticks and cameras. This goal has been achieved. The shield, available in the store, exists in configurations compatible with 5V and 3.3V Arduino boards. The library supports MAX3421E host controllers, basic USB functionality, enumeration of a single USB device, and MAX3421 GPIO pins access.
At present, sample code for several HID devices exists, as well as PTP protocol library with Canon EOS and Powershot specifc software in the works. Current development is concentrated on adding support for more cameras and camera functions.
Future development plans include next revision of USB library with hub support and as many as 7 devices on the bus will be added, communication devices, such as WiFi and Bluetooth, and support for other USB Host controllers.
Hardware information
Arduino USB Host Code Libraries
- Original USB Host library, stable revision
- Development revision of the above
- Richard Ibbotson’s modified USB and PS3 library with extra NAK handling to be used with his PS3 and Nintendo game controller routines
- Code demonstration video
- Code description and applications:
Application-specific information
- Human Interface Devices
- Digital Camera Control

