This is an old revision of the document!
USB Host Shield
Sparkfun Forums for USB Host Shield
Daf | June 10, 2011 at 5:44 AM *Comment Rating1
Hi,
I just got this Shield.
Like some of you, when I tried to execute the board test sample I got the following error :
Error: OSCOKIRQ failed to assert
Circuits At Home 2010 USB Host Shield QC test routine
Press any key to continue¦ Reading REVISION register¦ Die revision invalid. Value returned: 00 Test FAILED! Test Halted. 0×55 pattern is being transmitted via SPI to aid in troubleshooting Press RESET to restart test
I'm using USB Host library downloaded with the name felis-USBHostShield-a59ba5b.zip.
I tried to change MAXGPX and MAXRESET to #define MAXGPX 7 #define MAXRESET 8 but problem still persists. I use an ATMEGA 2560 linked to my PC and an external +9V power supply. (SPI pins are correctly connected according to atmega2560 specification)
Thanks for your help !
Daf | June 13, 2011 at 1:52 AMComment Rating1
I found the solution, just redefine the MAX_SS constant to 53 after that all tests passed !
Here is a part of MAX3421e_constants.c:
if defined(AVR_ATmega1280) || (AVR_ATmega2560)
#define SCKPIN 52
#define MISOPIN 50
#define MOSIPIN 51
#define SSPIN 53
endif
if defined(AVR_ATmega168) || defined(AVR_ATmega328P)
#define SCKPIN 13
#define MISOPIN 12
#define MOSIPIN 11
#define SSPIN 10
endif
define MAX_SS 53
define MAX_INT 9
efine MAX_GPX 8
define MAX_RESET 7
Arduinology | June 25, 2011 at 1:39 AMComment Rating1
Item is on back order, looking forward to getting my Android app to work with Arduino via this when it comes in. On the notify list but it has been out of stock for a while. pgrunwald | July 1, 2011 at 11:36 AMComment Rating1
Could someone please confirm that this board plus 2 Arduino Stackable Header - 8 Pin , sku: PRT-09279, 2 Arduino Stackable Header - 6 Pin ,sku: PRT-09280, plus a Duemilanove would enable me to do Android ADK development.
TIA, Paul
Reaper1412 | July 5, 2011 at 6:36 PM *Comment Rating1
Yes you can Proof
pgrunwald | July 7, 2011 at 10:07 PMComment Rating1
Thanks! I ordered this set of headers instead: http://www.sparkfun.com/products/10007
I will let you know how it goes as I hook it up to my Color Nook with CM7 on it. unforgiven512 | July 8, 2011 at 8:57 PMComment Rating1
Can this be used in conjunction with the Arduino Ethernet Shield?
I have a feeling that it won't work (well), because it uses pin 10 (which the ethernet shield uses as well) – perhaps it would be modifiable?
ITHelp | July 19, 2011 at 1:12 PMComment Rating1
Did you ever get this to work? We have a project that requires bot the Ethernet shield and USB shield on the same Arduino, and I'm about to take a knife to the USB shield.
ITHelp | July 20, 2011 at 10:22 AM *Comment Rating1
For those wondering, you can use this shield with the Ethernet shield, there's just a minor modification to make to the board and to the code first.
On the USB Host Shield, cut the trace to pin 10 and then run a jumper from that line to pin 6. (I used the port [hole through the board] as a nifty place to tie the jumper to.)
In the code, change the MAX[underscore]SS definition from 10 to 6. In version 1 of the library this is in 'Max3421e[underscore]constants.h'. I'm not sure where this is in version 2. (For the curious minds, what we're changing is the Slave Select pin. The SPI bus is shared with all SPI devices, but each device needs its own SS pin; That or you can use a shift register to control a bunch of SPI devices with just a few pins.)
Hope this helps somebody out, and if SparkFun could do a revision of their board to include a solder jumper to change the SS pin that would be awesome.
PS: SparkFun: Can you change that annoying underscores-make-things-italic bit?
Paradoxial | July 20, 2011 at 1:56 PMComment Rating1
They should also get rid of the left and right triangle bracket deletion.
MountainDude | July 11, 2011 at 10:07 PMComment Rating1
Will this play nice with the micro sd shield (http://www.sparkfun.com/products/9802) ?
Paradoxial | July 12, 2011 at 1:31 PMComment Rating1
Unfortunately, it will not. There is a conflict on D8 between the MicroSd Shield's CS pin and the Usb Host Shield's GPX pin.
wenjiun | July 22, 2011 at 8:11 AMComment Rating1
Any example code to read/write files to/from thumbdrives?
awall | August 3, 2011 at 8:50 PMComment Rating1
I have this shield (DEV-09947) and now need to use it with an Arduino Mega 2560. After reading various posts around the Net I'm still uncertain about the compatibility between them and if there is any change to put in the code for driving the shield with Oleg's library 2.0 (felis-USBHostShield_2.0-96d506b). Can someone shed the light for me?
Wazje | August 4, 2011 at 3:28 AMComment Rating1
Hi all!
I have an Arduino UNO and this USB host shield. I would like to receive messages from an AKAI EWI USB (MIDI wind controller), similar to this project: http://blog.makezine.com/archive/2010/11/usbhacking.html.
A first step was to change the code of the mentioned project., among which the USB device description. I was able to use the description parser example code from Oleg for a USB mouse and camera but when I attach the EWI, I get following error messages:
Setup packet error: D Device addressed… Requesting device descriptor.Setup packet error: D Request error. Reurn code: 0D Device descriptor cannot be retrieved. Program Halted
Also, the power led on the EWI does not turn on when plugged in (which it does when plugging it into a computer).
Any ideas on what the problem might be? (I'm powering the Arduino with a 9V power adaptor and the EWI uses a type B USB cable (although I don't think this makes any difference))
Member240709 | August 6, 2011 at 2:36 AMComment Rating1
just got the board in the mail. attempting to use Oleg's codewith no luck; keep getting stuck on testing the SPI. I noticed the led on the usb device is not going on. could this be the problem? is the device not getting power?
zacharias | August 12, 2011 at 2:52 PMComment Rating1
Hi,
Some days ago I bought the Arduino UNO and I'm really satisfied. Today I got the USB Host Shield. With the fact, that I'm very new to this stuff, I had to spend several hours to get it work.
At first I got the “MOUSE”-Code to work, but after some other code-tests i got lost with the same error “setup packet error:d”. Even if i tryied the first code again.
Then I finally found out: Before testing I bought a new Block-Battery (E-Block, 9V). To save some money I took the cheaper one (VARTA Superlife). When I was about giving up on that, i connected the arduino to my “Laboratory power supply”. Finally … it worked !?!? So i checked my Battery with my multimeter. Instead of 9V it only gave me about 7.3V. I think there was the problem. When i lowered the V on my “labor.pow.sup” i got the same error (setup packet error:d). Switched back to ~9V … and it worked fine again.
Perhaps I helped someone with that Info. (Damn you VARTA SUPERLIFE!)
But I'm really new to this stuff, so it won't mean much.
bye, zacharias
My Sparkfun comments:
I can confirm that the Sparkfun Ethernet shield works with the USB Host Shield. To make mine work with Oleg's legacy code: 1. Cut USB Host Shield PCB trace going to IO pin 10. 2. Wire the PCB trace to pin 6. (this is the trace that used to be hooked to pin 10). 3. Change #define MAXSS 10 to #define MAXSS 6 in Max3421econstants.h 4. Supply a hefty source of 9 volts to the Ethernet shield. Running from the USB power is not enough!!! 5. Run boardtest.pde. Monitor using the serial monitor with monitor speed set to 115200 baud (the drop down menu in the lower right corner).
The Sparkfun Arduino ethernet regulator is almost too hot to touch. Using an IR thermometer I measured 150 F on the regulator and 180 F on the reverse protection diode D1 feeding it.
Comments from stan001 on Sparkfun:
I got V2.0 libraries to work with this Sparkfun USB Host Shield.
I compared this board schematic to the Circuit@Home V2 board and found the differences.
The Sparkfun board, MAX3421E RESET pin is wired to pin D7 whereas the Circuit@Home V2 board is wired to the Arduino RST or Atmel328 Pin 1.
I just jumper the D7 to RST on the female header and it “kinda” works…
Run the board_qc of Version 2.0 libraries and all the test is passed except the 100 resets is a bit delay with the message below : Circuits At Home 2011 USB Host Shield Quality Control Routine Reading REVISION register… Die revision 03 SPI long test. Transfers 1MB of data. Each dot is 64K……………. SPI long test passed [snip] Resetting oscillator Reset number 0 Time to stabilize - 687
stan001 | October 12, 2011 at 10:46 AMComment Rating1
It will work and I can confirm it..
Just solder a wire from digital pin7 to reset pin (next to the 3.3V pin) at the bottom of the Sparkfun shield.
No software changes necessary on V2.0 library..