Micro SD Card Breakout: Power Savings

I have a project where, when it first turns on, it reads settings from a Micro SD card (using the Adafruit Micro SD Card Breakout), and then it doesn't need the SD card for the rest of the time that it's running. When the SD card is not in use, the project draws less than 1mA. When the SD card is in use, it's drawing about 14mA.

Is there a way to somehow turn off the SD card reader once I'm done with it so it doesn't draw any more power?

Thanks!

14 amps! Do you mean milliamps? At any rate, if the SD card is only drawing 13 milliamps, power it with an arduino output pin set high, then set the pin low when done.

Yes. mA.

jrdoner:
14 amps! Do you mean milliamps? At any rate, if the SD card is only drawing 13 milliamps, power it with an arduino output pin set high, then set the pin low when done.

I don't know of any SD card that only draws that little power when it is writing. This must not be peak current. I would use a p-channel mosfet to switch it instead.

SD/uSD can draw over 150mA when they start up. Need a decent 3.3V regulator to power them.

Thanks Robert! Do you concur with the suggestion to add a MOSFET to cut off the V+ to the SD board after I'm done with it?

Yes I do. Make sure you take the control signals low also so phantom power is not leaking thru the SD input protection diode clamps & making it appear active, or drawing down the signals.

Awesome, thanks! (Also thank you liudr!)

What is the advantage of a mosfet over a (sorry for the noob naïveté) regular transistor?

Also, what's the benefit of using p channel vs n channel for this type of use?

Thanks!

MOSFET will have much lower voltage drop across it, vs 0.5V to 0.7V across the transistor.
P-channel 'likes' to source current to a load.
N-channel 'likes' to sink current from a load.

SD cards are supposed to go to sleep on their own when not in use.
This thread might be helpful: SD Card - how to reduce the power consumption?

Are you using SD or SdFat?

The library referenced here:

Adafruit has their own flavor of SD, somehow different from the IDE SD. If you read through that thread I linked you'll see where the author of SdFat comments on a bug related to power savings in SD. He doesn't say anything about the Adafruit version. But both were spun off of earlier versions of SdFat.

He (fatlib16) posts here. If you ask the question in the storage forum you might get a response.

Gotcha. But no reason to think that I couldn't simply use the SDfat library with this breakout board?

It will work for your card. I don't know if SdFat will fix your problem or not. But I would use it anyway.

SD works okay for the most part. It's based on older code and has some bugs that have been fixed in SdFat. I believe it runs at a slower SPI clock rate. It uses more flash and RAM. It's main advantage is that it's already in the IDE, saving you from the trauma of downloading a library from github.

Gotcha. I'll give it a try.

Thanks!

CrossRoads:
Yes I do. Make sure you take the control signals low also so phantom power is not leaking thru the SD input protection diode clamps & making it appear active, or drawing down the signals.

What if, say, I'm using two SPI devices? Do you recommend keeping both devices on even if I only need one device at a time? I can certainly do that. If one is switched off and the other is on, I guess the MISO line may get pulled down by the device that is switched off, correct? In this case, should I add a multiplexer to solve the problem? Thanks.

I use a part like 74HC125A to buffer MISO coming from any slave(s), especially 3.3V powered slave (SD card for example). Then I don't have to be concerned with 5V devices (like a programmer) putting 5V on MISO and either being corrupted by the 3.3V device, or the 5V damaging the 3.3V device if it can supply sufficient current.