I am having trouble getting my wifi shield working with a gps shield. They work fine alone but when i connect them all together it doesn't work. The 3 pins that i think are the problem is 11,12,and 13. They are used as the MOSI,MISO,and CLK for the GPS shield, but the schematic for the wifi shield indicates there aren't anything connected on these pins. http://arduino.cc/en/uploads/Main/arduino-wifi-shield-schematic.pdf
I am almost positive that these are the problem. The GPS shield also uses pins 5,6,and 8 along with 11,12,and 13.
Which GPS shield there are lots around!
Mark
The Ultimate GPS logger shield from adafruit
The wifi shield uses the ICSP pins for the SPI data lines. Nothing connected to D11-D13 on the shield.
This means the wifi shield must be connected to the Arduino so the ICSP pins connect, and the GPS logger should connect to it.
Insure you disable all other SPI devices (slave select OUTPUT and HIGH) before starting to initialize them.
The GPS logger will work on an Uno only. Will not work with Mega or Leonardo without a bit of pin jumpering. One of the pages says it will work with a Leonardo, but I don't see how. The Leonardo has the SPI data pins on the ICSP pins only, and there is no ICSP connector on that board.
So I should be able to run both shields with no problem as long as only one board talks at a time(SS high for the one that is not being used)? To do that i would only need to take the SS high and I could leave the other pins alone?
Normally the respective libraries take care of the slave select pin for each device once you get the devices initialized. I have not looked at the library code for your GPS unit, but it should be the same. The low level read/write functions manage the SS pin.
Alright i have everything hooked up together and the everything works on its own, but the problem now is that when i run one shield i have to disconnect the MISO line of the other shield for it to work. Is there a way i can keep them all plugged in?
If you must disconnect the MISO line for a device, then that device slave select pin is LOW, or the device is not really SPI compatible. The SS LOW enables the driver on the MISO, and that is NOT GOOD! Insure that device slave select pin is OUTPUT and HIGH.
pinMode(thisSS, OUTPUT);
digitalWrite(thisSS, HIGH);
edit: Ooops! Forgot a closing parenthesis.
Ok so now i'm only having problems with the wifi shield working when the GPS shield's MISO line is plugged in. I set the SS for the GPS high and the wifi SS low, but it still won't work.
Hello @xEDWARDSx, have you figured out how to use both wifi shield and ultimate gps shield from adafruit?
Have you encountered any problems with insufficient memory for the program code on Arduino UNO?
Thanks,
sniff