Using WaveShare's Micro SD Storage Board

Greetings,

I was wondering if anyone had any experience with WaveShare's Micro SD Storage Board:

In particular, I'm wondering how I should go about interfacing it with my stock Arduino Uno R3. I've tried the 'Diode' and 'Inline Resistor' methods outlined on:

http://www.sparkfun.com/tutorials/65

with no success.

Any suggestions would be greatly appreciated.

Peter Spierenburg.

I'm using that board right now...

I've got it plugged into the 3v3 line on my mega, works a treat. They don't recommend it but the resistor divider built in seems to work.

on the pic:

Power and Ground are 3.3v and gnd; rest of the data lines are SPI connections as regular.
*(I should mention make sure to read the SPI side of the board (back silkscreen) not the SDIO (front side) for connection names)

Edit 6: After reading the sparkfun site comments, some people were having problems because 10k was too high for some sensors; try 1k in series with mosi and CLK...I probably should too. Not too worried about my 64MB microsd though.

rsz_1rsz_20120927_003735.jpg

Greetings,

I was a little too chicken to wire the board directly to the Arduino, especially with what it says on the Sparkfun site.

I will give it a try when I get home from work.

Thanks so much for the help! This is an awesome community!

Peter.

It worked like gang busters!

Thanks so much!

Can you please list out all the resistors you use for 3.3v, GND, MISO, MOSI, SCLK, and CS?

I am new to Arduino. I am afraid that I may fry the Arduino UNO.

Thanks!!

I just received my micro sd reader and I'm having some problems to... I'm trying to use it with Arduino mega 2560 but I cant read or write on the card, I tested two diferente cards...
Some help please? Thanks!

What code? What errors? We've hired a psychic, but he isn't due to start until the 12th of never. If you can't wait that long, you know what to do.

Hey mate, care to provide a tad more detail on how you solved this as to help others.

Personally I also have the WS Micro sd connected to 2560 of Freeduino version with outputs set at 3.3v.
DO on pin 50
DI on pin 51
CLK on pin 52
CS on pin 53

I can successfully get cardinfo to work but card writing comes back with the card failing to initialize.

Thoughts/Hints/Tips?
Cheers guys

FIXED: Although it is never mentioned, SD.Begin(4) from all the uno examples should be changed to SD.begin(53)

Hi all.

I'm having similar problems with waveshare micro sd card and Arduinio UNO R3.

First I connected the card directly to Arduino UNO R3. As long as I run relatively light r/w transactions it worked quite well, but then I run a performance test on the card (quite intensive r/w) and it stopped working. Apparently it just died (no fancy explosions though, it was a clean, silent death). Then I realized the card works on a 3,3 V logic level and Arduino works on 5 V. Should have checked that in the first place!

Then I started looking for ways to adapt the voltage from 5V to 3,3V. I found an interesting link from Adafruit where they warn against using resistor dividers or long cables with the newest cards, because the generated wave won't be square enough. They also state that these cards can draw 100mA or more in read operations! They recommend instead several level shifters to achive this (haven't tried them yet though):

First of all, I know it's a huge bump for a topic started 3 years ago, sorry about that!

My current project also needs a uSD card - so I took the good-old Waveshare card reader out of the drawer.
In the past I already burned a Nokia 5110 display with my Arduino Leonardo (yeah, the fancy smoke style :slight_smile: ) since then I'm trying to be extremely careful in what I'm doing... and seeing that this is a 3.3V unit, I am glad I did that!

Since some of you guys already got it working, did you use 10k resistors on all pins? My Nokia display has 1k on the CSE/CS pin (and working fine) maybe it's enough here too?

Or 1k everywhere? :frowning:

P.s.: D3 is SCE/CS, but do any of you guys know what D1 and D2 pins are?

Thanks!

aehimself:
First of all, I know it's a huge bump for a topic started 3 years ago, sorry about that!

My current project also needs a uSD card - so I took the good-old Waveshare card reader out of the drawer.
In the past I already burned a Nokia 5110 display with my Arduino Leonardo (yeah, the fancy smoke style :slight_smile: ) since then I'm trying to be extremely careful in what I'm doing... and seeing that this is a 3.3V unit, I am glad I did that!

Since some of you guys already got it working, did you use 10k resistors on all pins? My Nokia display has 1k on the CSE/CS pin (and working fine) maybe it's enough here too?

Or 1k everywhere? :frowning:

P.s.: D3 is SCE/CS, but do any of you guys know what D1 and D2 pins are?

Thanks!

The SdCard spec can use a 4 bit interface d0, d1, d2, d3. But since the Arduinos only have one bit SPI you have to use the MOSI, MISO, SCK, CS.

I have seen different schematics, some pull D1, D2 to 3.3v with 10k pullups, some directly to 3.3v, some floating.
When I tried the floating version, it screwed up ISP programming unless I removed the SDcard. (btw, I use active level shifting 74LVC244 (5V -> 3.3V) and 74LVC125(3.3V -> 5V))

Chuck.

Thank you!!!