Adafruit Ultimate GPS shield SD not initializing

For other supported Arduino products from Adafruit: Shields, accessories, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
ks12
 
Posts: 9
Joined: Tue Feb 02, 2021 3:39 pm

Adafruit Ultimate GPS shield SD not initializing

Post by ks12 »

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.

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: Adafruit Ultimate GPS shield SD not initializing

Post by mikeysklar »

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.

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) {
  
}
https://learn.adafruit.com/adafruit-ult ... sd-logging

User avatar
ks12
 
Posts: 9
Joined: Tue Feb 02, 2021 3:39 pm

Re: Adafruit Ultimate GPS shield SD not initializing

Post by ks12 »

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.
Attachments
sss.JPG
sss.JPG (132 KiB) Viewed 416 times

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: Adafruit Ultimate GPS shield SD not initializing

Post by mikeysklar »

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.

User avatar
ks12
 
Posts: 9
Joined: Tue Feb 02, 2021 3:39 pm

Re: Adafruit Ultimate GPS shield SD not initializing

Post by ks12 »

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!

User avatar
ks12
 
Posts: 9
Joined: Tue Feb 02, 2021 3:39 pm

Re: Adafruit Ultimate GPS shield SD not initializing

Post by ks12 »

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
ss.JPG (366.69 KiB) Viewed 391 times

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: Adafruit Ultimate GPS shield SD not initializing

Post by mikeysklar »

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

User avatar
ks12
 
Posts: 9
Joined: Tue Feb 02, 2021 3:39 pm

Re: Adafruit Ultimate GPS shield SD not initializing

Post by ks12 »

I am trying to now use a MEGA, followed the guidelines as to what to redefine however, still not initializing.

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: Adafruit Ultimate GPS shield SD not initializing

Post by mikeysklar »

@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?
** 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

User avatar
ks12
 
Posts: 9
Joined: Tue Feb 02, 2021 3:39 pm

Re: Adafruit Ultimate GPS shield SD not initializing

Post by ks12 »

haha I like mega difficult..

Here's that photo and thank you for your help.
Attachments
image0 (2).jpg
image0 (2).jpg (526.79 KiB) Viewed 297 times

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: Adafruit Ultimate GPS shield SD not initializing

Post by mikeysklar »

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.

User avatar
ks12
 
Posts: 9
Joined: Tue Feb 02, 2021 3:39 pm

Re: Adafruit Ultimate GPS shield SD not initializing

Post by ks12 »

That did the trick! Thank you very much. Hope they can update the compatibility sheet.

Locked
Please be positive and constructive with your questions and comments.

Return to “Other Arduino products from Adafruit”