1
\$\begingroup\$

I have an Arduino Mega and the SD card module found at this link: http://www.ebay.com.au/itm/SD-Card-Module-Slot-Socket-Reader-Arduino-ARM-MCU-Read-And-Write-/180868021964#vi-content

I am using this test code to check if it is working: http://arduino.cc/en/Tutorial/CardInfo

The problem was that it was not working, so I started checking voltages on the SD card module. Then I found that when I have the multimeter probes on the SCK (Serial Clock) and GND pins the code works. I unplugged the probes from the multimeter but left the ends attached to the SD card module and it still worked. As soon as I remove one of the probes from the module (either GND or SCK), the code no longer works.

I have no idea what is going on here but is it something to do with the probes changing the resistance of the pins that is making it work?

\$\endgroup\$
  • \$\begingroup\$ I have seen a similar phenomenon with oscilloscope probes, but on the MISO signal. \$\endgroup\$ – Peter Mortensen Nov 3 '13 at 3:08
3
\$\begingroup\$

The probes are likely acting as capacitors and slowing the clock signal or maybe killing off a false edge that your card might see causing it to be read incorrectly.

Try connecting a 100pF cap across SCK to ground to see if this also makes the system work correctly.

If this does not work try 1nF and if it doesn't work with 1nF then the addition of the probe cables may be reshaping the SCK pulses in another way due to reflections and this points to the code not reading the card data at the correct time.

I'd have thought the clock in to the card would be registered on the +clock edge and maybe data read out on the -clock edge. (This is just a simplified vision in my head of course). Maybe the cable, via extra capacitance or small reflections is shifting the clock slightly allowing your "erroneous" code to work?

\$\endgroup\$
  • \$\begingroup\$ I cannot confirm this because I did some fiddling around with it today and cannot get it to work at all now. However your answer explains why the multimeter leads might be affecting the circuit. \$\endgroup\$ – Asagohan Oct 19 '13 at 11:47
  • \$\begingroup\$ "The board works, if we just ship it with this $100K test equipment..." \$\endgroup\$ – Aaron D. Marasco Nov 3 '13 at 3:19
0
\$\begingroup\$

I have the same card from eBay, and it works OK. If you do a search on Arduino Playground, you will find lots of questions about this module. Here is my wiring on the Arduino Mega 2560, just in case you need it:

Adapter pin    Arduino pin
------------------------------------
GND            GND

+3.3 V         No connection

+5 V           5 V

CS             Pin 53

MOSI           Pin 51

SCK            Pin 52

MISO           Pin 50

GND            No connection
\$\endgroup\$
  • 1
    \$\begingroup\$ Did you connect the arduino 5V outputs directly to the SD module or did you use a logic level shifter in between? \$\endgroup\$ – Asagohan Oct 19 '13 at 11:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.