Proto shields are small boards you can use to build circuits piggy-backed on an Arduino. You either add a minature breadboard, or you can solder directly onto the proto shield itself (rendering it useless for other experiments). There are several proto shields around, and I find it a bit difficult to keep track of them, as they all share similar names. So far, I've found thes:
- Protoshield Kit V1.0 by Nuelectronics. This is a very inexpensive kit, and I discuss that first.
- The Arduino ProtoShield Kit by SparkFun Electronics. Very popular, but more expensive.
- The Arduino Protoshield, similar in concept to the first. Provides Eagle Cad files so that you can make your own.
- ProtoShieldBR, again a variation. This shield is fabricated in Brazil.
- LadyAda's Proto Shield (note the space in the name) sold by Adafruit.
I'll be discussing the first two.
Nuelectronics Protoshield Kit V1.0
The Protoshield Kit V1.0 for the Arduino is a relatively inexpensive shield that mates with the Arduino or Freeduino boards and gives me either a small soldering area or a place to put a mini breadboard.
It comes with a power LED, a general LED you can use for whatever you wish, a general pushbutton, and a reset button to reset the Arduino.
I purchased two of these because they are much cheaper than Sparkfun's ProtoShield Kit (approximately EUR 5.60 vs EUR 16.20 for the Sparkfun product), and I wasn't quite sure about my soldering proficiency.
I found little information on assembling the Protoshield v1.0, so I'm documenting what I did.
Here's the little package I got sent by post.
I laid out the individual parts. Notice how the male headers are split up nicely, but the female headers aren't. (Those are a pain to cut, and the result is quite messy and wastes a single header pin for each cut.)
I soldered as follows:
I soldered in the two 1K ohm resistors marked R1 and R2 on the PCB. (The 2x 10K ohm aren't used, and the schematic doesn't mention them either.)
I then added the two green LEDs. One is for power (marked POWER), and the other for general use (marked D2). The flat side of the LEDs has to go point towards the flat marking on the PCB. (As an afterthought, I'd recommend a different colour, say red, for this one.) The general LED is marked D2 on the printed circuit (PCB).
After adding the two switches (left one for resetting the Arduino, and the right one for your own use) I flipped the board over and soldered those in as well. Easy.
Then the male headers. I inserted those into the Arduino proper, and then slotted the shield onto them, to make sure the shield would later fit correctly. After soldering each end of the male headers, I removed the shield from the Arduino and finished soldering the male headers.
Then come the female headers, after cutting them to the right size.
Note how I've added a single female header on PAD1 and PAD2. The first (PAD1) is the plus side of the general LED (the one on the right), and the second (PAD2) is switched to ground (GND) through the switch on the right.
That about covers it.
After checking all the solder carefully (I'm not a pro), I plugged it in, and nothing burnt. :-)
I then added a mini breadboard and checked if the general LED (PAD1) and the switch (PAD2) worked, and all was fine.
The Arduino reset switch works, as does the power LED, so that covers the lot.
Here's a view of the Protoshield stacked on an Arduino: on the far right is the single female header (PAD1) for the green LED you see there. A nice little board, and as mentioned above, not terribly expensive either. Once again, I recommend a different coloured (maybe also 5mm instead of 3mm) LED used as PAD1 so that you can't confuse it with the green power LED.
SparkFun's ProtoShield Kit
As mentioned earlier, this kit is more expensive that the first, and with reason. It also has a switch for general use, but that is covered (is that the correct term) by a resistor, meaning you can simply plug that switch into a digital Arduino pin and start coding -- no need to add a resistor yourself. It has not one, but two LEDs for your use: a red one, and a yellow one. Very practical. Both LEDs are protected by 330 ohm resistors. (Schematic.) Assembly of the SparkFun ProtoShield Kit is covered in very great detail here, so I won't go into that. The version of the board I got was slightly different, but even as a beginner, I had no problem assembling it. Here is the ProtoShield I soldered, stacked on an Arduino Duemillanove: (My are those female headers really so crooked?) In the picture above, you see the switch on the top left for general use. The switch below is the Arduino reset. Again, on the left, the two large LEDs -- nice. Note how I used female headers for the JC1, JC3, and JC2 connection points (from top to bottom) to access the switch, the middle LED and the lower LED respectively. Others use a combination of a single male header and crocodile clips, but for me female headers seem to make more sense -- your mileage ... The picture above shows my newly assembled SparkFun ProtoShield running a small sketch that alternates lit LEDs when the switch is pressed. Nice.
This photograph shows both shields next to eachother: on the left, the Nuelectronics Protoshield, and on the right, SparkFun's ProtoShield. So, which of the two kits is better? Hard to say. The price of the Nuelectronics kit makes it very attractive, but the SparkFun ProtoShield Kit leaves a "more professional" impression, albeit at triple the price. With SparkFun's shield, I don't have to mess about breaking up female headers -- they are supplied in the correct sizes. (The following photo is courtesy SparkFun.) Nuelectronics' has a SOIC-16 soldering spot for an SMD chip and brings the pins onto separate headers if you want them. The two center rows on the board carry ground and 5V accross te board; SparkFun's does that on the outside rows. SparkFun's LEDs are larger (5mm) and brighter compared to Nuelectronics' single 3mm LED. As mentioned above, the user-available switch on SparkFun's board is ready to plug into a digital pin, whereas Nuelectronics' needs an additional resistor. SparkFun's shield has a BlueSMIRF header -- something that appears to be SparkFun-specific. I believe that about covers it, at least from my beginner's point of view.