What is an Arduino Shield?

If you are learning about Arduino, you have no doubt come across the term Arduino Shield.  This tutorial will explain what Arduino Shields are, why they are awesome, and several things to consider when buying shields.



As you may know, Arduino is designed for prototyping – it’s a platform for designing cool electronics ideas that you have.

Now the Arduino in and of itself is pretty amazing – you can do a lot of stuff with an Arduino alone. But when you want to start adding all types of cool technologies like bluetooth, wifi, RF, motor-drivers, etc. it can be pretty tricky; especially if you are new to electronics and programming.

Arduino shields take all the complexity of the hardware and reduce it to a simple interface.  This allows you to get your idea up and running fast.

Now it’s not just the hardware that shields take care of, in many cases, Arduino shields also have programming libraries associated with them.  These libraries allow you to easily implement the hardware features available on the shield.

There are shields for all types of things – LCD shields, LED matrix shields, wifi and bluetooth shields, motor shields, power supply shields, geiger counter shields, there are even shields for cooking hot dogs.  Chances are if you need to do something, a shield exists to get you up and running quick.

Shields plug right into the top of an Arduino.  The black plastic rows of holes along the sides of an Arduino are called headers, and on the bottom of a shield, you have these long spiky pieces of metal, these are called pins.  The pins on a shield line up with the header rows on an Arduino and fit snuggly (more on this later).

Buying an Arduino Shield?  Think about this stuff…

You want to make an informed decision about buying an Arduino shield, but how do you evaluate an Arduino shield?

We’ve compiled a list of things you can ask yourself before making the purchase.

Does it have good documentation?

Documentation is the fancy way of saying – “will they show me how to use this thing?” Basically, is there some type of tutorial or user manual or forum that talks about how to use the shield.

This is one of the biggest factors for me when it comes to buying an Arduino shield.  For all the ease of use that a shield provides, if I don’t know how to use it, it’s about as a good as a rock.

Lucky for us, people who use Arduino tend to be awesome and do a great job writing about how to use stuff, so even if the manufacturer doesn’t have good instructions, if people actually use the shield, then you will find a wealth of information online.  But if you do a web search and it doesn’t turn up much of anything useful, you might consider looking for another option.

Two US companies that provide superb documentation of the shields they make and sell are Adafruit Industries and Sparkfun.

Soldering may be required

Many shields are sold as kits, that means they are not fully assembled – and will require you to do some soldering.  If you are buying from a reputable source, you should know this ahead of time, but it is worth double checking.

Sometimes manufacturers will offer the shield as a kit or fully assembled – I often go for the fully assembled option just to save time.  If you have not soldered before, shields are usually a cinch to solder, so don’t be intimidated – go get a cheap soldering iron and some solder and go for it!

Probably the most important thing when soldering a shield is making sure that the pins on the bottom of the shield are straight up and down, if they aren’t they won’t line up to the Arduino headers and be a major pain to connect.

Stackable or Not Stackable Arduino Shields

If you plan on stacking an Arduino shield with other shields, you will want to make sure it is stackable.  If it doesn’t have pin headers on the top of the shield, or they don’t look aligned correctly (usually too narrowly spaced), than it is likely another shield cannot be stacked on top of it.

You might also run into a problem if components on the shield stick up too high to allow shields above from getting a snug fit.  Manufactures of shields are getting more savvy to this issue, but you should always check.

Not all Arduino shields have the same pinout

Some older Arduino shields may not have all the pins to fill the header rows of an Arduino.  This is because older versions of Arduino didn’t have as many pin header slots.  This usually isn’t too much trouble, unless you needed to use those pins that are not connected on the shield.

If you have an older version of Arduino, then a shield you buy might have more pins than your Arduino has headers for – usually they are still physically compatible – this should not be anything to sweat about.

Matching Hardware and Software Versions

On a final note, if you are having trouble with a shield working, it worth checking to see if you are using the most current library version for your version of shield.

A great example is the near ubiquitous Adafruit motor shield.  There is a hardware version 1 and a hardware version 2.  There are two separate code libraries for these.  If you are trying to run your new version of the hardware on the old version of the library – then you will likely run into troubles.  It worth checking to see you have the correct library for the job.

Need to learn the software?

Understanding the Arduino hardware is just one piece of the Arduino pie. If you would like to dive into programming Arduino, make sure to check out our training program!

installing Arduino libraries

Installing Arduino Libraries | Beginners Guide

IoT sewage project

Pumping poo! An IoT sewage project

ESP32 webOTA updates

How to update ESP32 firmware using web OTA [Guide + Code]

error message Brackets Thumbnail V1

expected declaration before ‘}’ token [SOLVED]

Compilation SOLVED | 1

Compilation error: expected ‘;’ before [SOLVED]

Learn how to structure your code

6 Comments

  1. […] It’s like an electronics learning laboratory on a single Arduino shield. […]

  2. […] One thing all Arduino Shields have in common are pin headers. These are the metal rows of pins that go on the bottom of the shield and plug into the Arduino stackable headers. […]

  3. […] I said this about Arduino Shields in the last lesson, but I will say it again – good documentation is like water in the desert.  The more you can get your hands on the better. […]

  4. […] for us, many Arduino shields include reset buttons, so we don’t have to take the time to create our own.  But when the time comes, it’s nice to […]

  5. […] Dr. Duino is an Arduino Shield. As would expect, it fits snuggly on top of the Arduino headers and has pin headers of it’s […]

  6. […] used two Arduinos, two Xbees, a Sabertooth Motor Controller, a latching relay, a Power Relay shield for an Arduino, an AudioFX Soundboard, two wheelchair motors, a bunch of batteries, LEDs (of course) and gave it […]

Leave a Comment