Will my 4gb micro sd work?

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. :frowning:

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.

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.

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 :blush:
so I was hoping that someone already tested a 4gb microsd.

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.

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

#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
}