SD Card best practices - Page 1
Forum section: electronics / beginners

author: desertgreg
author_rank: Contributor
timestamp: April 16, 2024, 01:34:15 pm
content: I made myself an arduino board with an SD card reader. I noticed that when I have an SD card installed in the reader, it gets very hot, almost feels like it will burn your finger when you touch it. Normally when this happens, I've only initialized the SD card library and I'm not even actually reading any data from the card. Is it normal for them to get this hot? It made me wonder if there is a list of best practices to follow when implementing an SD card reader in a project.Thanks!

author: Peabody
author_rank: Super Contributor
timestamp: April 16, 2024, 01:50:25 pm
content: Nothing should get hot. So something is wrong in your circuit. Could you post a drawing of how you have everything wired up? Also, which Arduino, and which SD card module (a link if possible).

author: wraper
author_rank: Unknown
timestamp: April 16, 2024, 01:53:17 pm
content: It only should get hot under heavy load. Not in idle, and not to the level of finger burning.

author: bostonman
author_rank: Super Contributor
timestamp: April 16, 2024, 02:54:45 pm
content: I have a thumb drive in my car that plays MP3s. The screen moves up and a mini compartment is revealed where one of the USB ports are.Not sure of the thumb drive size, but it's physically small, and it also gets very hot.

author: desertgreg
author_rank: Contributor
timestamp: April 16, 2024, 05:44:37 pm
content: I've attached the schematic for my SD card. It seems pretty simple so I'm really curious what the issue is! edit: the 3.3V rail is provided by a linear 3v3 regulator: TC1262-3.3VDBTR

author: Haenk
author_rank: Super Contributor
timestamp: April 16, 2024, 06:08:39 pm
content: You are aware of the SD standard, I hope?"Modern" cards will negotiate their supply voltage down to 1.8V from initial 3.3V. And that is 3.3V for a very short time only - probably the reason why you are running hot."More modern" cards might even start with 1.8V, I would suggest trying that with your card. (Not sure about the latest SD standards beyond 6.0)https://www.sdcard.org/developers/sd-standard-overview/low-voltage-signaling/

author: desertgreg
author_rank: Contributor
timestamp: April 17, 2024, 01:49:27 am
content: So am I supposed to design around 1.8V? What I'm reading from this is that 3.3V works for all SD cards but newer ones can use 1.8V. At this point in time, is it essentially ok to design for 1.8V SD cards only? Other arduinos (for example the MKRZero) have a 3.3V SD card reader.

author: Peabody
author_rank: Super Contributor
timestamp: April 17, 2024, 01:50:31 am
content: So you have the MKR Zero, which has the SD holder built in?I don't see anything wrong. What exactly is getting hot - the processor, the regulator, the card, or what?

author: amyk
author_rank: Super Contributor
timestamp: April 17, 2024, 04:39:24 am
content: How much current is it drawing? SD cards should only get moderately warm under heavy load. Finger-burning-hot at idle is not right (and you should check that the card hasn't been damaged.)No, 1.8V to start with is optional and shouldn't be necessary to prevent a card from overheating at 3.3V - from that page:QuoteI suspect something like latchup or oscillation is occurring.

author: Berni
author_rank: Super Contributor
timestamp: April 17, 2024, 05:31:06 am
content: All SD cards should work fine at 3.3V. What is happening here might be something miswired or the 3.3V regulator might be becoming unstable and swinging past 3.3VThe 1.8V mode is mostly used in the special high speed DDR signaling modes. None of those modes are possible over SPI anyway, nor do the proper SD card controllers in most MCUs even have the ability to use those high speed modes, so you don't really need to care about it.

author: desertgreg
author_rank: Contributor
timestamp: April 17, 2024, 01:59:38 pm
content: Quote from: Peabody on April 17, 2024, 01:50:31 amI designed my own board, most similar to the MKR-Zero. When I leave my board on the desk powered on for a while, with no code accessing the SD card, I see the card itself heat up to 190F.I just did the same experiment with the SD card plugged into a USB SD Card reader and it does the same thing. So I think my circuit is ok.

author: Peabody
author_rank: Super Contributor
timestamp: April 17, 2024, 05:27:28 pm
content: So the only thing in common in the two circuits, both of which heat up the card, is the card itself. Do you have another card you could test? Do you have any way to measure the current flowing into the card?

author: Nominal Animal
author_rank: Super Contributor
timestamp: April 17, 2024, 06:10:30 pm
content: Quote from: desertgreg on April 17, 2024, 01:59:38 pmThecardis definitely bad! It might work, but it definitely isn't one you should trust any data on.I'm not up to date on which current microSD cards are best used with 3.3V signaling and microcontrollers, but in the past I've had good luck with SanDisk, Kingston, Transcend ones.

author: amyk
author_rank: Super Contributor
timestamp: April 17, 2024, 11:53:29 pm
content: Quote from: Peabody on April 17, 2024, 05:27:28 pmThe more interesting question is whether the card behaved like that before it was put into the reader the OP designed, or only afterwards (and whether it still works.)

author: desertgreg
author_rank: Contributor
timestamp: April 18, 2024, 12:00:22 am
content: Quote from: Peabody on April 17, 2024, 05:27:28 pmWith a 12V input to my board, without the SD card installed I see 11mA total current. With the SD card installed I see 77mA. So thats a difference 0.792W, so at 3.3V I guess that would be about 240mA? Maybe not, I have a 5V switching reg and then a linear 3.3V regulator so there is some loss on the 3.3V regulator. Googling says that an SD card used in SPI mode should only be using around 30mA. I thought it was a good SD card, its a Lexar 32Gb. I'll test with some more cards. Anyway, I had not thought of the possibility of this depending on the SD card.