By now you're well on your way to creating the Arduino project you've always dreamt about. However, there are many applications which require extensive external hardware or circuitry or perhaps you're finding it frustrating connecting a plethora of sensors up to the header pins and you want an easy break up method. Well that's the beauty of Arduino shields and where they come in so what are these shields that we keep speaking of?
Well a shield is Arduino word for a specific type of hardware board designed to integrate with the Arduino Uno Pinner. A shield has male header pins on one side which plug into the female headers on the Uno. You'll notice that the Arduino Uno’s headers are very carefully placed which doesn't allow for standard headers to fit, there’s some irregular spacing in there and this runs the whole length. This is to prevent shields from being plugged in incorrectly or incompatible shields from working. Most shields will have another set of female headers on top for additional shields or components to be placed onto and/or break out solder pads, there are many different types of shields from simple GPIO breakout shields through to GPS and cellular enabled shields.
Something to bear in mind though is that the term shield usually refers to boards that have a header pin out and form factor matching that of an Arduino Uno. So, if you're using a board with the different layouts such as a Due or an Arduino Micro or anything else most, shields won't be compatible. As we mentioned before there are shields for all kinds of different applications and some of them will have hardware that is compatible with the existing Arduino libraries however others may have more specialized hardware that requires additional libraries to function and operate. Most of these boards should come with documentation and resources for these libraries, however generic, cheap, no branded shields may skimp on this and leave you to your own devices as to getting the hardware up and running which isn't to say that the hardware won't work but it's that software support that can make or break a project.
For this reason is usually preferable to stick to known brands for things like shields and niche add on boards, brands like Sparkfun, Adafruit, DFRobot, Freetronics and of course Arduino just to name a few, will all provide a fantastic hardware with quality documentation and support. For example let's say you wanted to drive a whole bunch of motors which draw too much current than a GPIO pin can handle which is 40 milliamps at max, this motor driver shield from Adafruit actually provides dedicated PWM support, for steppers, servos and standard DC motors or if you want to turn your Arduino into a MIDI synth, then a SparkFun have a kit which you can put together to build a MIDID shield giving everything you need for your Arduino to communicate with MIDI instruments so these are just a few examples of shields and as I said before there's some shields ranging from all different kind of applications you can get one which have a small screen, a colour TFT screen which may or may not have resistive or capacitive touch, you can get ones which can transform your Arduino into a mobile phone with the keypad and a speaker and a microphone, you can get GPS shields, you can get all kinds of shields!
But the thing to pay attention to the most is if you're using a different Arduino board. For example one of the other highly popular Arduino models the mega 2560 has shields that are specifically made for the mega 2560 pinna or they're modified from the Arduino Uno to fit and they can sort of work with both and these are okay but the big one is if you have a 3.3 volt board. For example, a shield might be particularly designed specially designed to work with a 5 watt board because that's where it's getting its power from or it may take power externally however if you have a 3.3 volt board and a 5 volt shield they're not always going to be compatible unless they are specifically stated that they are.
So, that's a little bit about shields and how you can use them for your Arduino project. They’re dead easy, this motor driver shield for example just go straight onto the headers like that, you press it on and the headers lock in nicely and now along with the capability and the functionality that this shield provides I have all of the female headers ready to go. If I want to stack another shield on top or take this and break it out for my own project but just remember that some shields will take up specific pins so for example this shield may use a several of the digital pins to produce that PWM functionality to drive the motors or it may use a serial interface which saves all your digital pins but means that it has the TX and RX pins occupied so just something to keep in mind when you're using shields with your Arduino board.
Makers love reviews as much as you do, please follow this link to review the products you have purchased.