Arduino Shields

This Tutorial is Retired!

Note: This tutorial is for reference only. Most of the shields covered in the "Shieldstravaganza" video series and section are no longer carried by SparkFun. For an updated version of this tutorial, follow the link below.

View the updated tutorial: Arduino Shields v2

Contributors: jimblom
Favorited Favorite 17

What is a Shield?

Shields[1] are modular circuit boards that piggyback onto your Arduino to instill it with extra functionality. Want to connect your Arduino to the Internet and post to Twitter? There's a shield for that. Want to make your Arduino an autonomous rover? There are shields for that. There are dozens (hundreds?) of shields out there, all of which make your Arduino more than just a development board with a blinky LED.

Instagram - Table Full of Shields

SparkFun catalog manager RobertC. in awe of an extravagant platter of shields.

Many Arduino shields are stackable. You can connect many shields together to create a "Big Mac" of Arduino modules. You could, for example, combine an Arduino Uno with a Voice Box Shield, and a WiFly Shield to create a WiFi Talking Stephen Hawking(TM).

Combine and stack shields to make all-inclusive projects

Shields are often supplied with either an example sketch, or a library. So, not only do they just simply plug into your Arduino, but all you need to do to make them work is upload up some example code to the Arduino.

Shield Form Factor

Every Arduino shield must have the same form-factor as the standard Arduino. Power and ground pins on one eight (previously six) pin header, and analog pins on a six-pin header next to that. Digital pins cover the other edge on the other side, an eight-pin header separated from a 10-pin by that weird 0.5" spacing. Some shields also require a connection to the Arduino's ICSP header (the 2x3 programming header on the end).

Shield Pinout

Some shields use every pin on the Arduino, while others only use a couple. When stacking shields, it's important to make sure they don't use overlapping pins. Some shields communicate with the Arduino via SPI, I2C, or Serial, and others use the Arduino's interrupts or analog inputs.

There's a great variety of Arduino shields out there -- too many to ever include in this tutorial. On the next page we'll go over a handful of the more popular and unique shields.