Arduino ProtoShield From "Household" Items (<5$)
Intro: Arduino ProtoShield From "Household" Items (<5$)
I love my Arduino. It got me into, and hooked on, microcontroller programming. I
also like the expandability that shields provide. My Arduino can be a GPS Locator
one minute, and be connected to the web the next. There's also a kit that lets you make your own shields.
That last option always bothered me. If you're making a bunch of different shields, the
cost of ProtoShields starts to add up. Wouldn't it make more sense to just take a standard
prototype board from Radio Shack, get some connectors and slap THAT on my Arduino? Sadly, no.
One of the flaws with the Arduino's design is that one of the female headers doesn't align with
the standard 0.1" spacing followed by, well, most electronics.
Mulling over this problem led me to my favorite type of solution: cheap & simple. By using wire instead of male headers, the misalignment can be handled with a simple bend.
Enjoy.
UPDATE: I'm embarrassed. Not one day after I posted this Instructable, I thought of a much better method, which I have documented here. This Instructable is still useful if you need a shield TODAY and don't have any male headers. If you have some, however, or if you can afford to wait, the new method is faster, easier, and more robust.
also like the expandability that shields provide. My Arduino can be a GPS Locator
one minute, and be connected to the web the next. There's also a kit that lets you make your own shields.
That last option always bothered me. If you're making a bunch of different shields, the
cost of ProtoShields starts to add up. Wouldn't it make more sense to just take a standard
prototype board from Radio Shack, get some connectors and slap THAT on my Arduino? Sadly, no.
One of the flaws with the Arduino's design is that one of the female headers doesn't align with
the standard 0.1" spacing followed by, well, most electronics.
Mulling over this problem led me to my favorite type of solution: cheap & simple. By using wire instead of male headers, the misalignment can be handled with a simple bend.
Enjoy.
UPDATE: I'm embarrassed. Not one day after I posted this Instructable, I thought of a much better method, which I have documented here. This Instructable is still useful if you need a shield TODAY and don't have any male headers. If you have some, however, or if you can afford to wait, the new method is faster, easier, and more robust.
STEP 1: Required Materials
Arduino
Radio Shack PC board (Available at every Radio Shack location I've ever visited)
Solid Wire (I used 20ga)
Sand paper
Wire strippers
Wire cutters
Flat toothpicks
Tape
Epoxy
Solder (and soldering iron)
Radio Shack PC board (Available at every Radio Shack location I've ever visited)
Solid Wire (I used 20ga)
Sand paper
Wire strippers
Wire cutters
Flat toothpicks
Tape
Epoxy
Solder (and soldering iron)
STEP 2: Insert Wires
- Remove some insulation. Leave yourself with about 1 inch of exposed wire.
- Sand off any burrs or rough spots from the end. This will make the final shield easier to insert and remove.
- Cut off ~3/4 inch (2cm) of wire and insert the sanded end into one of the female pins on the Arduino.
- Repeat (27 times) until all holes have a bare, sanded wire in them.
STEP 3: Bend
To compensate for that pesky misalignment, give the wires on that header a slight bend.
STEP 4: Mate
- Align wires with prototype board holes and slide board (metal towards Arduino) down until it is flush with the USB connector.
- Insert spacers and tape them in place. Why spacers? We want the shield to be level, we want it to clear the USB connector, and we need room for solder. (I used 3 flat toothpicks. you can use anything that's the right thickness)
STEP 5: Trim and Mask
- Trim the exposed wires so ~1/8 inch (2mm) of wire is left
- Use tape to mask off the area around the exposed wires. You're going to want to use those holes later; let's protect them.
STEP 6: Epoxy
- Mix epoxy and apply (I use JB weld for this, and it works really well. It has an almost paste-like consistency. Some epoxies are more runny)
- Remove the mask BEFORE the epoxy sets.
- Wait until epoxy sets before proceeding to next step.
STEP 7: Solder
- Remove the shield from the Arduino. Do this GENTLY (some wiggling will be necessary). The pins aren't very supported at this point and they can be bent pretty easily.
- Place the board on a towel, epoxy side down.
- Solder all the pins to the board
STEP 8: Reinforcement
For some added stability, apply epoxy to the underside of the wires. The procedure is the same as on the top, with additional masking on the wires. This will keep epoxy off the contact area.
STEP 9: Enjoy
And there you have it. Some wire, solder and epoxy can turn any standard board into an Arduino shield.
28 Comments
rippinblaise 15 years ago
k6zly 8 years ago
bigjeff5 13 years ago
UziMonkey 15 years ago
br3ttb 15 years ago
4lifenerdfighter 11 years ago
br3ttb 11 years ago
ianrab 11 years ago
Great write-up, though. Clean, simple, and to the point. I'll have to try this sometime.
waterlubber 12 years ago
alexhb 12 years ago
The_YongGrand 13 years ago
gibiault 13 years ago
To prevent plugging in of a shield "backwards" ..
At least that's the most logical reason I could think of.
br3ttb 13 years ago
second. I've started making, and sparkfun has started selling, these. they're not as fun, but they're way faster than using the method described in this instructable.
bigjeff5 13 years ago
andrew101 14 years ago
br3ttb 14 years ago
Also, you may be interested in an easier (though less fun) solution. In the time since this 'ible was posted, I've been able to start mass-producing "offset headers." Currently they're available from Adafruit as part of the DIY shield kit, or from Sparkfun on their own.
Swishercutter 13 years ago
UziMonkey 15 years ago
rippinblaise 15 years ago
br3ttb 15 years ago
I'm working on a way to churn those things out. if they become cheaply available, a shield maker could use standard spacing, and just ship an offset header with the shield, making it usable on both standard and offset 'duinos.
also, someone with tons of old shields would be able to use them with a standard spaced 'duino, be it the barebones or seeduino.
if widely used, eventually there would be no reason for the arduino to keep the offset spacing, and it could be changed to the standard spacing.