SD reader project won't work on battery power!

Hi all,

I have created a prototype datalogger consisting of a 5v pro mini, SD card module, RTC, humidity & temp sensor and light dependent resistor. The project works well when connected to my pc through an FTDI programmer however when i try and power it using a battery (7.4v, 2x 3.7v 18650 batteries) to the raw input it does not write to the SD. It completes the setup and creates a file called LOG.txt as expected but then doesn't write anything to the file.

I have measured the voltage received by the SD module in each case and it receives 5.03 V when supplied via battery and 4.97V when using FTDI. Is this tiny difference in voltage causing it not to write correctly? and how do i fix it!

I have attached my code and a schematic as a pdf.
sd card module - Recommendations For You - DealeXtreme

Arduino Light and Temperature Datalogger.pdf (93.4 KB)

Datalogger code.pdf (116 KB)

Post a link to the SD module you are using.

SurferTim:
Post a link to the SD module you are using.

I have added a link in the original problem post
x

Last I checked, that module is not designed for 5v logic. You are not the only one having problems with this type SD reader.
http://forum.arduino.cc/index.php?topic=214658.0

edit: Here is a site with the schematic. Only 4 resistors.
http://www.buyincoins.com/item/9032.html

If it uses an actual voltage divider, that requires 6 resistors, not 4. Here is a schematic with a voltage divider setup.
http://forum.arduino.cc/index.php?topic=8863.0

I understand this but if all that is true then why does mine function fine when powered by the 5v FDTI cable but not off batteries regulated through the pro mini?

You tell me. If the 5v pin shows more than 5 volts, and the 3.3v bus on the SD card reader shows 3.3 volts, then I presume it is the logic levels. Any time you use a higher logic voltage than the datasheet states, you are looking for a failure. It could be the difference in the 5v bus. I know it doesn't seem like much (5.05 vs 4.97) but that could be enough to do it.

If you have the parts available, try it with a voltage divider circuit.

I guess the alternative explanation is the battery doesn't like you. ??

SurferTim:
You tell me. If the 5v pin shows more than 5 volts, and the 3.3v bus on the SD card reader shows 3.3 volts, then I presume it is the logic levels. Any time you use a higher logic voltage than the datasheet states, you are looking for a failure. It could be the difference in the 5v bus. I know it doesn't seem like much (5.05 vs 4.97) but that could be enough to do it.

If you have the parts available, try it with a voltage divider circuit.

I guess the alternative explanation is the battery doesn't like you. ??

ha ha i wish it was that the particular battery didn't like me. I will try out a voltage divider in a bit and see if it makes any difference

That was actually incorrect on my part. It would not be the battery that doesn't like you, but the onboard voltage regulator. That is what makes the 5v bus a bit higher in voltage when using a battery to power it.