Electronic – arduino – Why does Arduino SD card module only work when multimeter attached

arduinosd

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?

Best Answer

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?

Related Topic