Using PS3 game pad as input on Due


I would like to hook up a PS3 game pad to a Due in order to control some motors. I need the Due because my application will use more pins than are available on smaller boards such as the Uno and also the increased analog read accuracy is nice. I haven't purchased the parts yet. I was initially thinking of using the USB host shield (, since the associated libraries seem to handle PS3 controllers (GitHub - felis/USB_Host_Shield_2.0: Revision 2.0 of USB Host Library for Arduino.).

Looking more carefully at the Due, I noticed that it has a built-in USB host port. I'm wondering how easy it would be to use this instead of the separate shield? The built-in port would be more elegant and save a few bucks so I'd rather use it if possible. I've done a little Googling, but having not tried USB host before I'm still a little confused. Questions:

  1. Will the USB Host Shield 2.0 library work on the Due's built-in port? I'm guessing not.
  2. If not, how easy would it be to get a PS3 controller working on the Due's built-in port? Does anyone know of any good, relevant, guides? Bluetooth would be nice, but I'll settle for wired if that's the only option.
  3. Time is somewhat at a premium for me (as this is a work project not a home/hobby project), so if it's going to take a while to get the built-in port working then perhaps I should go for the external shield. Any comments on this decision are welcome.