An Arduino shield is a modular circuit board that plugs directly into the pin headers of the Arduino board. These shields will add extra functionality to the Arduino board. If we are looking to connect to the internet, do speech recognition, control DC motors or add other functionality to the Arduino, there is probably a shield that can help us. While we are not required to use shields, they do make adding extra functionality to our Arduino boards very easy.
The following photograph shows examples of a few shields. We will be using shields in some of our sample projects later in this book:
A shield fits on top of the Arduino by plugging directly into the pin headers. We can also stack one shield on top of another if they do not use the same resources. Here is how an Arduino looks with two shields attached:
An Arduino shield makes it incredibly easy to add functionality to an Arduino Uno. Most shields usually have great documentation as well, which makes programming them also very easy. The drawback to shields is they usually cost more than purchasing the components and connecting them to the Arduino with a breadboard.
Some shields, such as the MOVI speech synthesizing and voice recognition shield and the Sparkfun Xbee radio module shield, add functionality that cannot simply be added as a single component. For functionality like this, a shield or an external circuit board would be required.
Let's take a closer look at the pin headers for the Arduino Uno R3.