SD card 5v to 3.3v


Joined Jul 17, 2007
Well, your Arduino to the SD card should work OK and represent a light load (1mA), but your data transfer reliability from the SD card to the Arduino would be marginal at best, non-functional at worst - unless you were using an ADC or comparator to interpret anything over 2.2v as a "1" and anything under 1.1v as a "0".

If your Arduino has Schmitt-trigger inputs based on 1/3 and 2/3 Vdd/Vcc, the 2/3 threshold will be 3.33v, which is 0.03v higher than your SD can output.

However, if you connect the SD data output to the Arduino input using a 1.2k resistor, and use a 3.9k resistor from that Arduino's pin to +5v, you'll have about a 2.5v peak to peak signal that will cross both the 1/3 and 2/3 thresholds by a fair margin (>300mV), and still have a current draw of <=1mA from the SD output. That is, of course, assuming that your SD output can source or sink 1mA without losing much voltage, and you aren't looking for blazing speed.

If you want high speed and better reliability, you'll need to look at level translator ICs.


Joined Oct 22, 2008
I've heard that SD cards can draw a pretty hefty burst of current at times, during writes, I think, and it is recommended that they be powered with a regulator.


Joined Sep 20, 2005
For data the resistor divider for tx and simple connection for rx is ok. But use a proper regulator chip to provide 3.3V for the SD card.

Or maybe think about shifting to 3.3V for the microprocessor as well.


Joined May 9, 2009
Putting a 3.3k resistor or so in series works well, so long as the other device has ESD (most do, esp. an SD card which is frequently handled.), and it allows bidirectional comms.