Hello, I recently picked up the Ultimate GPS shield and was attempting to use my Uno R3 to do some SD logging.
I have followed the steps and been successful in getting a direct and softserial uses to produce coordinates however when I move on to log these via the micro SD I am no longer successful. I've tried ver 1.3 1.2 of the adafruit library as instructed but I neither get the sheild_sdlog code to recognize my SD nor a simple Arduino ex SD readwrite.
Adafruit Ultimate GPS shield SD not initializing
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- mikeysklar
- Posts: 13936
- Joined: Mon Aug 01, 2016 8:10 pm
Re: Adafruit Ultimate GPS shield SD not initializing
Does the CardInfo sketch provide any information?
My guess would be that the SD card is not compatible or that it was not formatted correctly. The above sketch might provide some clues. I would try a bunch of SD cards if you have some on hand and post the details of the ones you are trying to use.
https://learn.adafruit.com/adafruit-ult ... sd-logging
My guess would be that the SD card is not compatible or that it was not formatted correctly. The above sketch might provide some clues. I would try a bunch of SD cards if you have some on hand and post the details of the ones you are trying to use.
Code: Select all
/*
SD card test
This example shows how use the utility libraries on which the'
SD library is based in order to get info about your SD card.
Very useful for testing a card when you're not sure whether its working or not.
The circuit:
* SD card attached to SPI bus as follows:
** UNO: MOSI - pin 11, MISO - pin 12, CLK - pin 13, CS - pin 4 (CS pin can be changed)
and pin #10 (SS) must be an output
** Mega: MOSI - pin 51, MISO - pin 50, CLK - pin 52, CS - pin 4 (CS pin can be changed)
and pin #52 (SS) must be an output
** Leonardo: Connect to hardware SPI via the ICSP header
Pin 4 used here for consistency with other Arduino examples
created 28 Mar 2011 by Limor Fried
modified 9 Apr 2012 by Tom Igoe
*/
// include the SD library:
#include <SPI.h>
#include <SD.h>
// set up variables using the SD utility library functions:
Sd2Card card;
SdVolume volume;
SdFile root;
// change this to match your SD shield or module;
// Arduino Ethernet shield: pin 4
// Adafruit SD shields and modules: pin 10
// Sparkfun SD shield: pin 8
const int chipSelect = 4;
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
Serial.print("\nInitializing SD card...");
// On the Ethernet Shield, CS is pin 4. It's set as an output by default.
// Note that even if it's not used as the CS pin, the hardware SS pin
// (10 on most Arduino boards, 53 on the Mega) must be left as an output
// or the SD library functions will not work.
pinMode(SS, OUTPUT);
// we'll use the initialization code from the utility libraries
// since we're just testing if the card is working!
while (!card.init(SPI_HALF_SPEED, chipSelect)) {
Serial.println("initialization failed. Things to check:");
Serial.println("* is a card is inserted?");
Serial.println("* Is your wiring correct?");
Serial.println("* did you change the chipSelect pin to match your shield or module?");
}
// print the type of card
Serial.print("\nCard type: ");
switch(card.type()) {
case SD_CARD_TYPE_SD1:
Serial.println("SD1");
break;
case SD_CARD_TYPE_SD2:
Serial.println("SD2");
break;
case SD_CARD_TYPE_SDHC:
Serial.println("SDHC");
break;
default:
Serial.println("Unknown");
}
// Now we will try to open the 'volume'/'partition' - it should be FAT16 or FAT32
if (!volume.init(card)) {
Serial.println("Could not find FAT16/FAT32 partition.\nMake sure you've formatted the card");
return;
}
// print the type and size of the first FAT-type volume
uint32_t volumesize;
Serial.print("\nVolume type is FAT");
Serial.println(volume.fatType(), DEC);
Serial.println();
volumesize = volume.blocksPerCluster(); // clusters are collections of blocks
volumesize *= volume.clusterCount(); // we'll have a lot of clusters
volumesize *= 512; // SD card blocks are always 512 bytes
Serial.print("Volume size (bytes): ");
Serial.println(volumesize);
Serial.print("Volume size (Kbytes): ");
volumesize /= 1024;
Serial.println(volumesize);
Serial.print("Volume size (Mbytes): ");
volumesize /= 1024;
Serial.println(volumesize);
Serial.println("\nFiles found on the card (name, date and size in bytes): ");
root.openRoot(volume);
// list all files in the card with date and size
root.ls(LS_R | LS_DATE | LS_SIZE);
}
void loop(void) {
}
- ks12
- Posts: 9
- Joined: Tue Feb 02, 2021 3:39 pm
Re: Adafruit Ultimate GPS shield SD not initializing
All the information it provides assumes no card detected
I am using this micro sd by pioneer https://www.amazon.com/Pioneer-32GB-mic ... B07WYXBNLH
I have also formatted to FAT-32 and 16 with no luck.
I am using this micro sd by pioneer https://www.amazon.com/Pioneer-32GB-mic ... B07WYXBNLH
I have also formatted to FAT-32 and 16 with no luck.
- Attachments
-
- sss.JPG (132 KiB) Viewed 416 times
- mikeysklar
- Posts: 13936
- Joined: Mon Aug 01, 2016 8:10 pm
Re: Adafruit Ultimate GPS shield SD not initializing
Thank you for trying the CardInfo sketch. That is revealing in that we are down to what is either a wiring/pin# issue or incompatible SD card.
Do you have other SD cards you can try?
Please post photos (800x600) of your wiring that are reasonably clear for me to verify.
Do you have other SD cards you can try?
Please post photos (800x600) of your wiring that are reasonably clear for me to verify.
- ks12
- Posts: 9
- Joined: Tue Feb 02, 2021 3:39 pm
Re: Adafruit Ultimate GPS shield SD not initializing
I have tried both of these micro sd's and neither have worked. I tested the voltage coming from pin 10 to the shields header and I am receiving 5V. I am going to solder the shield's header to itself now and retry the test.
I'll keep you updated on this as well as maybe look for a third micro sd to try.
Thank you for your help!
I'll keep you updated on this as well as maybe look for a third micro sd to try.
Thank you for your help!
- ks12
- Posts: 9
- Joined: Tue Feb 02, 2021 3:39 pm
Re: Adafruit Ultimate GPS shield SD not initializing
Hello I am happy to report that soldering has fixed the issue. However, now when I am attempting to use code shield_sdlog from version 1.3 library, I am getting the error pictured below.
- Attachments
-
- ss.JPG (366.69 KiB) Viewed 391 times
- mikeysklar
- Posts: 13936
- Joined: Mon Aug 01, 2016 8:10 pm
Re: Adafruit Ultimate GPS shield SD not initializing
Which UNO R3 model are you using exactly? If it is the Mega 2560 R3 that will be a little more tricky.
We have a Shield Compatibility guide for Mega and friends boards:
https://learn.adafruit.com/adafruit-shi ... l-variants
We have a Shield Compatibility guide for Mega and friends boards:
https://learn.adafruit.com/adafruit-shi ... l-variants
- ks12
- Posts: 9
- Joined: Tue Feb 02, 2021 3:39 pm
Re: Adafruit Ultimate GPS shield SD not initializing
I am trying to now use a MEGA, followed the guidelines as to what to redefine however, still not initializing.
- mikeysklar
- Posts: 13936
- Joined: Mon Aug 01, 2016 8:10 pm
Re: Adafruit Ultimate GPS shield SD not initializing
@ks12,
The mega just means mega-difficult. The ICSP pins don't go through so you have to use the unusual pin numbers in your wiring. Can you post a photo of how you have it wired?
The mega just means mega-difficult. The ICSP pins don't go through so you have to use the unusual pin numbers in your wiring. Can you post a photo of how you have it wired?
** Mega: MOSI - pin 51, MISO - pin 50, CLK - pin 52, CS - pin 4 (CS pin can be changed)
and pin #52 (SS) must be an output
- ks12
- Posts: 9
- Joined: Tue Feb 02, 2021 3:39 pm
Re: Adafruit Ultimate GPS shield SD not initializing
haha I like mega difficult..
Here's that photo and thank you for your help.
Here's that photo and thank you for your help.
- Attachments
-
- image0 (2).jpg (526.79 KiB) Viewed 297 times
- mikeysklar
- Posts: 13936
- Joined: Mon Aug 01, 2016 8:10 pm
Re: Adafruit Ultimate GPS shield SD not initializing
The pins you have connected to on the MEGA won't work. Use the pin numbers I mentioned above in the mega dififcult post and update the code to match.
- ks12
- Posts: 9
- Joined: Tue Feb 02, 2021 3:39 pm
Re: Adafruit Ultimate GPS shield SD not initializing
That did the trick! Thank you very much. Hope they can update the compatibility sheet.
Please be positive and constructive with your questions and comments.