Hello forum. This is a question and a possible warning.
I managed to completely destroy an SD card. It got so badly mangled that two different computers each running both Windows and Linux refused to talk to it. What I think happened is that I left it logging data on a battery connected Arduino for too long and the battery fizzled out.
I know for a fact the battery was dead when I got the card back and after that the card was stone dead. I presume write operations with insufficient voltage killed it. Does anyone have any experience of this?
This raises the obvious question of monitoring input voltage level when on a not so secure power supply. Is there any way of getting to this info through software, other than grabbing Vin, dumping it through a voltage divider and measuring through an ADC pin?
If you are using XP oder similar, put the SD into your computer, look into System>Management>Storage.... (ähm, in German Datenträgerverwaltung)....
There it should appear even if it's corrupt.
Then kill Filesystem, and reinitialise it.
So i got some SD Cards working again.
Hope this helps.
Did you try testdisk / photorec http://www.cgsecurity.org/wiki/Main_Page to recover it? If not so, please try and tell us the results.
Anyway: measuring VCC without external components was discussed here:
Most SD cards are used in battery powered devices and are designed to maintain integrity with low voltage.
It is not likely that your card was damaged by low voltage.
The best SD formatter is here http://www.sdcard.org/consumers/formatter_3/.
Many other tools produce a non-standard SD format. The SD standard imposes restrictions on acceptable FAT/FAT32 filesystems.
Thank you for the links guys, I 'm sure I 'll need to use them in the future. Unfortunately I have thrown away that card, all this happened quite a while ago, it's just that I only got round to writing about it now.
As far as I can remember, using a file browser to look inside the device was resulting in the device hanging and trying to format it was resulting in gparted just working indefinitely while the XP formatter was saying it was unable to format after a really long time. I was getting some I/O type of erros in the logs (Linux) but I can't remember what they were now.
logging data on a battery connected Arduino
SD card is usually powered by 3V3.
Cards work over a range of voltages. The initialization voltage range is 2.0 to 3.6V. During initialization a very slow SPI clock is used to read the operation conditions register, OCR. This register gives the supported voltage range for operation. Most cards return 2.7 to 3.6V. Some cards can be configured to work as low as 1.8V.
I was using the sparkfun microSD shield with the SDFat lib. I have used the shield and the lib succesfully for very long logging times (~24 hrs) with no problems so it might have been a problematic card.