Arduino ProtoShield From "Household" Items (<5$)

30K4527

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.

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)

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

that's not a breadboard, that's a circuit board breadboards are plastic and have holes in them and you can change them around... solderless too
There are infact many types of "breadboards". My 1st one was in fact a section cut from a discarded kitchen board used for kneeding bread in 1960.
It's been answered somewhat already, but there are a dozen types of breadboards. One type is the solderless breadboard, which consists of a plastic case and metal clips - that's what you're talking about, and they are great for very fast prototyping. Another type is a through-hole breadboards (these were around long before solderless breadboards). These are now often called proto-boards, as they are a little more permanent than solderless breadboards (though they are still often re-used). These are for slightly longer-term prototyping (and many hobbyists never move beyond them). Once you move to a PCB, though, there is no reason not to de-solder the breadboard and use it again. The original breadboard was literally a wooden board with nails driven into it, and the wires for the circuit were wrapped around the nails. This type of circuit is still in use (obviously they don't use wooden boards any more) for telephone communications and many industrial applications because with specialized wire-wrapping tools the connections are far more robust than soldered connections. None of these are printed circuit boards, even though the through-hole boards do have copper on plastic like PCB's. Breadboards do not have any circuits. They have options - if you want to create a circuit you can connect a wire from this hole to that hole, or if you connect a component in one set of holes the holes directly next to it will allow you to connect another component to that particular pin, etc. A PCB, on the other hand, has a very specific circuit pattern printed on to it, and the correct components must be connected to their designated spot to make the circuit work. They don't have wires either, that's the whole point of the circuit being printed on the board. PCB's don't have options, and they are not used for prototyping. They are the final product that you conceptualized with a breadboard.
Many people refer to these types of boards as breadboards. The type you're referring to are solderless breadboards.
good catch. thanks. thought I had changed all of those.
Why don't the wires bend when you insert the shield?
I used solid wire, which is more rigid than twisted strand varieties
Just a heads-up: JB Weld contains steel. it is slightly magnetic and slightly conductive, so in my opinion, I would use a different type of epoxy.

Great write-up, though. Clean, simple, and to the point. I'll have to try this sometime.
or you can use a bread board and wires and shove the PS on that.
hey, I've done this before, very neat idea. :D J. B. Weld is sooooo addicting :P
Brilliant idea! Gonna try it on my homebrew Arduino, and with the cheap stripboards at my home. Thanks for sharing! :)
The offset header does have a purpose and reason.

To prevent plugging in of a shield "backwards" ..

At least that's the most logical reason I could think of.


a few things have happened since I first published this instructable. first. I found a definitive explanation for the offset. (it was a mistake.  no biggie.)

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.
A PCB is the final board with the printed circuit. You don't run wires with a PCB, you just drop in the correct components in their designated spot and solder them up. Prototyping is what you do before you figure out how your PCB has to be layed out to make your ciruit. You use breadboards (or proto-boards, they are the same thing) for this purpose, and there are solderless and non-solderless varieties. People get confused, I think, because many hobbyists never move beyond the breadboard stage.
great idea with the epoxy. i just bought some for another project so that will work perfect. but how do you protect the copper wire from being corroded? it will after a month or two become corroded and add extra resistance or broken curcuits, it can also cote the inside of your female headers if your not careful. how can you prevent it?
I hadn't thought of corrosion. That's a great point. Perhaps you could tin the wires with a thin layer of solder to protect them.

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.
Loctite makes a glue we used to use in industry for bonding wires etc. I believe it is the Loctite 41404. Also, if you can't wait for it to fully cure you can use the "Tak-Pak" accelerator which pretty much makes it dry as soon as you spray it on the glue. BTW, anything over 1 oz should be bonded to the board in some manner. This includes big caps, coils, etc. (At least that is what the IPC says). Obviously, this does not matter as much for prototypes but for anything you want to last without having to re-solder broken pads...especially if the item is in a high vibration environment.
I just made a board with this method, and I have to say that it works great! I used some metal spacers as feet for the board while putting the wires in. The camera's battery died, but I'll post pics here later!
pc stands for "printed circuit" and breadboard came from when people used to put things on bread boards (the ones you put bread on) to make a circuit. Today it's used for the ones you buy at the store.
yeah. barebones is a great option for prototyping. the problem is that if you want it to talk with arduino shields you're faced with the same offset problem in reverse. that's why I've gotten more excited about the header I made in this instructable. Initially it was a way to make a cheap shield, but it dawned on me that it could lead to an elimination of the problem all together.

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.
More Comments