Go Down

Topic: Will my 4gb micro sd work? (Read 1 time) previous topic - next topic

Danny182

Hello, i have arduino 2560 and the ethernet shield w5100.
I bought a microsd 4gb from SanDisk (they didn't sell the 2gb one).
will it work on the ethernet shield?
it says that the max is 2gb. :(

marco_c

Have you tried it? That would be the fastest way to see if it works.

What SD library are you using? SDFat is a better (faster and more stable) option than the standard library and the limitation may be in the library rather than the hardware.
Arduino libraries http://arduinocode.codeplex.com<br />Parola for Arduino http://parola.codeplex.com

Danny182


Have you tried it? That would be the fastest way to see if it works.

What SD library are you using? SDFat is a better (faster and more stable) option than the standard library and the limitation may be in the library rather than the hardware.

thank you for the reply.
I still didn't try it because it's still in his original package. so if I don't need it I would take it back to the shop  :smiley-red:
so I was hoping that someone already tested a 4gb microsd.

fat16lib

Nearly 100% of SanDisk Micro SD cards work with both SD.h and SdFat. 

SD.h is just a wrapper for a very old version of SdFat.

I am the author of SdFat.

Prof

I got a 4 gByte Sd card on a ethernet arduino r3 shield and i'm able to write and read on it with the folowing simple code

Code: [Select]
#include <SD.h>

File myFile;

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("Initializing 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(10, OUTPUT);
   
  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");
 
  // open the file. note that only one file can be open at a time,
  // so you have to close this one before opening another.
  myFile = SD.open("test.txt", FILE_WRITE);
 
  // if the file opened okay, write to it:
  if (myFile) {
    Serial.print("Writing to test.txt...");
    myFile.println("Hello world");
// close the file:
    myFile.close();
    Serial.println("done.");
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }
 
  // re-open the file for reading:
  myFile = SD.open("test.txt");
  if (myFile) {
    Serial.println("test.txt:");
   
    // read from the file until there's nothing else in it:
    while (myFile.available()) {
    Serial.write(myFile.read());
    }
    // close the file:
    myFile.close();
  } else {
  // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }
}

void loop()
{
// nothing happens after setup
}

Go Up