Note that the distance between digital pins 7 and 8 is 160 mil (0.16" ), not an even multiple of the 100 mil spacing of the other pins. Four screw holes allow the board to be attached to a surface or case. The maximum length and width of the Motor Shield PCB are 2.7 and 2.1 inches respectively. TutorialsĬontrol an RC car using an XBOX wireless game controllerĪdding a display to a digital scale using Arduino and USB Host shield The Arduino USB Host Shield can be used with the " USB Host Library for Arduino" hosted by Oleg Mazurov and Alexei Glushchenko from Kristian Lauszus and Andrew Kroll on GitHub (download). Max Current 400mA when Arduino is powered by its USB port Max Current 500mA when Arduino is powered by a suitable power supply connected to the Arduino power jack On both boards, pin 10 is used to select the MAX3421E. This is on digital pins 10, 11, 12, and 13 on the Uno and pins 10, 50, 51, and 52 on the Mega.
Mass storage devices: USB sticks, memory card readers, external hard drives, etc.įor information on using the shield with the Android OS, see Google’s ADK documentation.Īrduino communicates with the MAX3421E using the SPI bus (through the ICSP header).
USB to serial converters: FTDI, PL-2303, ACM, as well as certain cell phones and GPS receivers.ĭigital cameras: Canon EOS, Powershot, Nikon DSLRs and P& S, as well as generic PTP. Game controllers: Sony PS3, Nintendo Wii, Xbox360.
HID devices: keyboards, mice, joysticks, etc. The following device classes are supported by the shield: The shield is TinkerKit compatible, which means you can quickly create projects by plugging TinkerKit modules onto the board. The Arduino USB Host Shield is based on the MAX3421E (datasheet), 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 Arduino USB Host Shield allows you to connect a USB device to your Arduino board.
Remember that the Arduino doesn’t allow for dots (.) or dashes (-) in the library folder name, so when you download the library (which for some reason does have dots and dashes in its folder name) you will have to rename for the Arduino IDE to recognize it.
Install the library as you would any other (if you haven’t done this before see this page), and open the “PS3BT” example as I show in the video ( File –> Examples –> (Whatever you named the library) –> Bluetooth –> PS3BT). This is a direct download link, but if you’d like to take a look around the repository go here. You will need to download the entire USB host shield library from GitHub. You can get the latest version of the USB host shield library below. If you would like to use the exact same version I use in my video (and am still using), you can get it here.
The new library does not print out the debug information you see in my video and the sketch will become too large to upload to an UNO if you turn the debugging on. UPDATE: Some people have had trouble with the newer versions of the USB host shield library. These are also confirmed working (by the developers): Kingston and Zoom. Here are the two I have: The black one (working) and the green one(not working, although listed as compatible). In order to start the project you must have the following parts: An Adruino board (Arduino Uno 3 was used in the above project) A USB Host Shield for the Arudino A Bluetooth USB. Several people have asked me for the code, so here it is (click to view, right-click and “Save as” so download).Ī Sony-made, PS3 controller (Dualshock 3 or Sixaxis (I was unable to find a strictly Sixaxis controller)).Ī Bluetooth dongle: The wiki page for using a PS3 controller will have a list of compatible dongles (although note that in the video I mention that one of the “supported” dongles doesn’t in fact work). The Arduino Uno has a USB Host Shield connected on top with a Bluetooth dongle that is responsible for communicating with the PS3 controller. UPDATE: The latest USB host library does not print out any debug information, so you won’t see any of the information that is printed out below “Bluetooth Library Started.” You should still be able to connect your PS3 controller and see it’s data output in the terminal. Having received all of the required hardware, I decided to make this video explaining the process of setting up the PS3 controller and Arduino for communication via Bluetooth. I’m interested in using a PS3 controller as the remote for future projects/robots.