0% found this document useful (0 votes)
119 views17 pages

SD Card LC

This document provides instructions for building an SD card shield for an Arduino board using an LC Studio SD card breakout board. It involves populating a prototyping shield with components like headers, an LED, button, and voltage level shifter chip. Wires connect the level shifter to the breakout board and Arduino pins. The completed shield is tested by reading an SD card with a sample Arduino code. Building the shield allows reading SD cards with an Arduino for a lower cost than a pre-made shield.

Uploaded by

asmedmiranda
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
119 views17 pages

SD Card LC

This document provides instructions for building an SD card shield for an Arduino board using an LC Studio SD card breakout board. It involves populating a prototyping shield with components like headers, an LED, button, and voltage level shifter chip. Wires connect the level shifter to the breakout board and Arduino pins. The completed shield is tested by reading an SD card with a sample Arduino code. Building the shield allows reading SD cards with an Arduino for a lower cost than a pre-made shield.

Uploaded by

asmedmiranda
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 17

Step 1: Materials Needed

LC Studio SD card breakout board $2.00 - $3.00 (on eBay)


4050 non-inverting hex buffer $1.12 (Radio Shack cat. # 55050840)
16-pin IC socket $0.25
blank protoshield $4.00 - $6.00
set of stackable headers $1.50 [2x8 and 2x6]
1 x 8-pin stackable header $0.50
1 x 8-pin male header (non-stackable) $0.50
2 x 8-pin male headers $1.00
2 x 6-pin male header $1.00
1 mini LED $0.25
1 mini pushbutton switch $0.25
1 470 ohm resistor $0.25
hookup wire
solder
SD card (the older low-density 1 or 2 GB kind)

Looks like we've spent $14+ already, almost the cost of a ready-made SD
card shield. But, hopefully you can find or scavenge at least a couple
of the above components in your junk box, from a previous project,
or from a broken gadget or two. If you're halfway serious about DIY
Arduino projects, then you already have a couple of protoshield boards
and header sets stockpiled.

Step 2: The Breakout Board Pins


There are reports that a few of the LC Studio units are defective
(well, whaddya expect for $2?), so the first thing to do is check for shorts.
Use the ohms function of your multimeter to make sure that the MISO and
MOSI pins are not shorted to ground.

The male header pins on the LC Studio board are


clearly marked on the board (see illustrations).

Each pin in the top row connects across to the corresponding pin
in the bottom row, so you can use either pin in any given two-pin column.

These breakout boards are quite nice, especially at the price.


They include a 3.3v regulator chip on-board, so we can supply +5v
at the +5v input and leave the +3.3v input disconnected. Unfortunately,
+5v inputs are not dropped to +3.3v, so we'll have to make some provision
for this ourselves if we don't wish to damage the SD cards.
More on this in the next step.

Step 3: Using a Level Shifter

Constructing the project looks pretty simple at first glance.


Just connect power and ground, and the four signal pins.
It's only a matter of figuring out which four (digital) Arduino pins
to connect to, right? Well, yes, but there's a complication.
SD cards, like many recent electronic devices, operate on a 3.3 volt logic
level. But, most Arduinos output 5 volts on their digital logic outputs for ON.
A direct connection of 5v to an SD card could fry it. So, what do we do?

The best solution is something called a level shifter. Essentially, this means
putting 5v on the input of a non-inverting buffer and getting 3.3v from the output.
Shifting the voltage level, get it?
But just how is this magic accomplished?
One way is to use a CMOS hex buffer IC,
here a 4050, and power it (pin 1, Vdd) at 3.3v.
Put 5v on the input of one of the gates,
and you get 3.3v on the output of that particular
buffer. For example, with 3.3 v on pin 1 (Vdd) and
pin 8 connected to ground, a 5v logic level on
input pin 14 (gate 6) results in 3.3v on output pin 15.

Step 4: Populating the Protoshield (1)

Now, let's build the shield.

We'll use a blank protoshield PC board. A number of vendors sell these,


with prices ranging from $4 and up.

Install the reset switch, LED(s), resistor(s), and male and female headers in
the appropriate places on the protoshield board. This is probably
not the first shield you've built, so I won't go into too much detail.

The headers are next

Step 5: Populating the Protoshield (2)


It's time to position and align the headers. This can be tricky. Use an
already-built shield, and slip the female headers over the bottom rows
of the header pins, then flip the assembly over and position it on your
protoshield. Solder the protruding pins underneath the protoshield,
on the solder side of the board.

Install the male headers, but this time use an Arduino board to align them.

With the standards components soldered on the protoshield, we're


ready to install the SD card breakout board.

Step 6: Installing the Breakout Board


Now, we'll mount the SD card breakout board and level-shifter IC on the
protoshield. First, position and solder the IC socket.

Next, we'll create a plugin "socket" for the LC Studios board.


This will consist of two adjoining parallel rows of female headers.

Position the set of two 8-pin female headers (1 standard and 1 stackable)
atop the pins on the LC Studios board. This will set the alignment and
spacing. (See next-to-last photo.) Note that the we are using the
stackable header because it provides a longer pin surface to attach
wires to on the solder side of the board. It's also convenient to be able
to bend the long pins and attach them directly to the ground and +5v busses,
as necessary. Whether you place the stackable header in front or in back
doesn't matter -- whatever works better for you.

Flip over the LC Studios board and place it upside-down on the


protoshield so the bottom pins of the headers go through to the solder side
in the desired position (last photo).

We'll connect and solder the pins according to the hookup diagrams
in the next step.

Step 7: Connecting the Pins of the Breakout Board


Continue by hooking up the wiring to/from the LC Studios board.

LC board 4050 Arduino


------------- ------- ----------
Gnd. [8] Gnd. Gnd.
[1] 3.3v
+5v +5v
+3.3v not connected*

CS [15]
[14] D4

MOSI [12]
[11] D11

SCK [10]
[9] D13

MISO D12

These are the standard connections used by most existing sketches


which read/write SD cards. We'll do some of the wiring/soldering
on the underside, the solder side of the protoboard.
Now we see why stackable headers, with their long pins, are useful.
They provide nice attachment points for hooking on and soldering wires.

Carefully examine the wiring and our soldering for shorts and solder
bridges. Particularlly check for a short between the +5v and ground busses.
Using the ohms function of a multimeter is helpful.

Step 8: Plugging in the Components


With the wiring and soldering complete, we'll carefully plug in the 4050
IC and the LC Studios board. Make sure the orientation of the 4050
is correct.

We're ready for the "smoke test." Plug the completed board into an
Arduino, apply power . . . and pray.

Pictured is the completed shield, with LC Studios board, plugged into our
very own Hackduino (https://www.instructables.com/id/Haywired-Hackduino/).

No smoke? Didn't burn anything out? Great! Switch off the power, then
insert an SD card -- the "obsolete" 1 or 2 GB variety. The newer high-density
4 GB and up varieties may not work.

Step 9: The Final Test

Let's see if it works. Connect up the Arduino-with-shield


assembly to our laptop with the USB connector cable and fire up the Arduino IDE.
Load the Examples -> SD -> Cardinfo sketch. Compile and upload it.
Again, a little prayer wouldn't hurt.

Success!
Step 10: Notes

The LC board has a 5v -> 3.3v regulator IC.


That's why the 3.3v pin is not connected.

The MISO pin on the LC board is an output and goes directly to the
Arduino, so no level shifting is necessary.

The meanings of the pin designations:


CS = Chip Select
MOSI = Master Out, Slave In
MISO = Master In, Slave Out
SCK = Slave Clock

Really, folks, it's not about slavery or S&M. A master is the
controlling device, and the slave is the device getting signals
from the master. Sorry about the unsettling connotations, but it's
all engineering jargon, that is, geekspeak, so to speak.

As noted in a previous step, higher-capacity SD cards may not work because


our point-to-point wiring might add noise and delays to the signal lines.
Try one of your old 1 or 2 GB cards.

Almost all the examples that come with the Arduino SD library work
with our DIY shield. Only the "SD Card read/write" example fails,
possibly due to timing considerations because of point-to-point
wiring.

You might also like