SD Init Fail - Potentially Damaged Hardware

Hi folks, I'm a new user here, I've been trawling threads for a while though.

My first post is a little embarrassing, but nevertheless I'd appreciate your thoughts. I began working today trying to begin logging some data with my new SD shield.

I DL'd the SdFat library and tried running the Arduino Tutorial "ReadWrite" (modified the code to revert to SdFat lib instead of SD lib). Code validation is fine.

My hardware is:

Arduino Uno R3 "Catalex" SD Shield - (http://www.ebay.co.uk/itm/141410237009?_trksid=p2059210.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT) 4GB (FAT32 formatted) MicroSDHC disk, UK retailer 'Maplin's' own brand

I connected the shield as instructed in the tutorial link EXCEPT, foolishly, I connected VCC to the duino 5V instead of 3.3V. I powered the board and when I tried to upload the code, I received an "avrdude: stk500_getsync(): not in sync: resp=0x00" error message.

Now, I cannot upload any (previously successful) code to this board, and the board is actually no longer recognised by my PC in Device Manager. I also carried out a serial loop-back test, which failed.

I have been lead to understand that this board / a board component is now damaged, so I got hold of a replacement board. If anyone can shed some light on what exactly I might have done to the board, and whether it can be revived in any way, I'd be grateful, but this isn't my main query.

Since re-connecting my shield to my new board, code upload is fine, but I now receive an "initialization failed" error in the Serial Monitor. I am worried that in damaging my previous board, I have also damaged the SD shield.

Can anyone comment on how likely this is, and perhaps suggest some checks I may be able to do to verify this. If there is a chance that the SD shield isn't damaged, and my initialization failure is due to something else, I'd like to potentially fix this tonight and carry on working.

Best Regards,

Chris

Hi, welcome to the forum.

The Arduino Uno should not get damaged so easily. I don't know what happened.

That SD module has a onboard voltage regulator (5V -> 3.3V) and a level shifter to connect the 5V SPI signals from the Arduino to the 3.3V SD card signals.

Format the SD card on a computer with SD Formatter, read about it here : http://forum.arduino.cc/index.php?topic=228201.0

Connect the Arduino 5V pin to the VCC of the SD module. Connect the SPI bus. Don't forget to connect the GND.

And it should work.

Thanks Peter, I will look to format my SD card as you’ve described.

In the mean time, something I forgot to mention:

Initially when connecting my shield’s Vcc to the Uno’s 5V pin to complete my connections, the Uno board’s lights would die. This surprised me, but I thought the Shield might have been drawing too much power (my Uno takes power through the USB port only, with no additional supply), so I wired a 3x AA battery pack to the Shield, but used the two Uno ground pins to complete the circuit. Could this have caused the damage?

Or could initially trying to draw the Shield and Uno power from just the USB port have done the damage?

Further info:

Connecting the Shield to the 3.3V Uno pin with just the USB supply does not cause the Uno lights to die.

And, powering the Uno board with a DC 12V supply to its power socket in additon to the USB connection does NOT prevent the Uno lights from dying when I wire up the Shield to the Uno 5V pin.

Further update, I have ensured my SD card is formatted as per Peter's above post, and I have the same issue.

The SD module could be bad. Perhaps there is a shortcut somewhere. I think you should get another SD module, and not the same one from the same seller, but a different module that also has a level shifter. I assume that the SD card itself is still okay.

Or buy an Ethernet shield or logging shield with the SD socket and level shifting included.

When the SD card is not used, the card and the module should require almost no power. When the SD card is written, it could be 10mA or 50mA or so.

Do you have a very (very, very) bad USB ? Perhaps the cables are too cheap, or the hub is wrong, or you use a laptop that does not supply enough voltage ?

Many thanks Peter. I've moved on and bought an Arduino Ethernet/SD R3 Shield. This initializes and functions just as I need / expected.

I must have damaged both the Uno board and my Catalex SD Shield when messing about with auxiliary power. I still welcome comments from people in this regard, to help me avoid doing something similar in the future.

I am currently running my Ethernet Shield and board from just the USB / computer tower and it is working fine, so I don't know why the old Catalex shield was causing the Uno board to die when supplied with 5V. I don't really feel comfortable trying to find out again, nor do I need to at this stage. As I said though, more comments welcome.

Well, there is no secret or magical comment that can prevent that to happen. The Uno should not be damaged so easy in the first place. Perhaps there was an external cause, like static electricity that destroyed both. Or do you have wires lying around with 12V ? I think we never know how it happened. I'm glad that you can go on with new hardware :)