0

I have an SD breakout for my Due that isn't properly detecting the SD card. On one card, it cannot detect at all, and the other it says that the SD isn't formatted with FAT, even though it is. Here is my wiring:

schematic

simulate this circuit – Schematic created using CircuitLab

So, I broke out my oscilloscope and started probing lines. One in specific I got worried about, is the SCK line and it's bouncing, specifically from the inductance of the jumpers. This is the SCK line from my scope:

enter image description here

My reaction was to put some buffer caps on there, and so I put 2x 300pf capacitors in parallel for a total of 600pf. This is the waveform as measured after I put in the debouncing caps:

enter image description here

This is much more tolerable, and I can accept this level of bouncing for the SCK line, as I doubt that there will be much misfiring. I upload the SD card test sketch that's on the website, here is the output:

Initializing SD card...Wiring is correct and a card is present.

Card type: SD2
Could not find FAT16/FAT32 partition.
Make sure you've formatted the card

What does The Arduino Due have that makes it hard to detect the card?

1

Remove the caps please. Perhaps the scope itself creates the overshoot.

The Due is not special. It should work.

Can you tell what kind of SD memory cards and which SD module you use ?

Try the SD Formatter, see the post at the Arduino.cc forum: "Don't Format SD cards with OS utilities!".
Some SD memory cards are not compatible. Perhaps you have more luck with an older 1GB or 2Gb SD memory card.

  • I don't think the scope itself has overshoot. The Resistance of the scope is 10M, and the caps help the inductions' load, as where they wouldn't with the scope being the inductive load. I'll try the formatter. Thank you! – tuskiomi Jul 16 '17 at 16:42
  • Tried both. no cheese – tuskiomi Jul 17 '17 at 14:10
  • Do you have long wires ? Or a breadboard with bad contacts ? Or a low voltage level of the power ? Everything runs at 3.3V ? – Jot Jul 17 '17 at 16:48
  • Actually, the SD card breakout has a Logic level translator that translates 3.3 to 1.8 volts. The wires themselves are long (2x4"). Another thing that I noticed is that the MOSI line never seems to go too low while transmitting signals (while my oscilloscope is watching). It seems to be always high. – tuskiomi Jul 17 '17 at 16:52
  • That not very long, I hope it is not a flat ribbon cable, those cause a lot of crosstalk. Can you give a link to your SD card ? Every SD card and SD socket I use with Arduino is 3.3V. Some cards work with 1.8V as well, but for the Arduino you better stick with the old fashion 3.3V. – Jot Jul 17 '17 at 17:08

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.