In this article, we will see a list of useful Arduino Shields, a special hardware that sits on top of Arduino and gives additional features to Arduino. I collected a list of unique and useful Arduino Shields which are mostly compatible with Arduino UNO.
What is Arduino Shield?
Arduino Shields are add-on boards than can be plugged on top of an Arduino board and provided additional capabilities and functionalities to an Arduino Board. They have the same pin position as an Arduino Board and are usually designed to implement a specific function.
Why Do We need Arduino Shields?
While it is easy to play around with Arduino by placing components on a breadboard, it is not a preferrable option to design a final product with breadboards.
With the help of Arduino Shields, Sensor Boards and other expansion boards, you can significantly reduce the complexity of the wiring the circuit and at the same time reduce the build time and construction process.
NOTE: The images shown here are just for reference. Actual product may vary. Also, there are several manufacturers of a single shield. So, features may vary between shields from different manufacturers.
Perhaps the simplest of Arduino Shields is the Prototype Shield. It comes with a prototyping area, on which, you can solder the components, if necessary.
If you do not want to solder, then don’t worry. The shield also comes with a 170 Pin Mini breadboard, which can be attached on the prototyping area with the help of double-sided tape.
There are couple of Buttons and LEDs on the board along with all the Arduino Pin connectors.
IO Expansion Shield
As the name suggests, an IO Expansion Shield allows you to connect several Analog and Digital IO devices to the Arduino without breadboard and soldering. There are headers for connecting 3-pin and 4-pin sensors. You can select the supply voltage for sensors between 3.3V and 5V.
Additionally, there is a dedicated Xbee connector with EASYLINK and RESET buttons. There are also connectors for both I2C (I2C) and SPI. All the pin headers are neatly colour coded for easy identification.
If you are beginner, then the Multifunction Shield is a must have expansion board for Arduino if you want to quickly start programming without worrying about wiring the circuits. It contains 4 LEDs, 3 Push Buttons, a 10 kΩ Potentiometer, a Piezo Buzzer as the basic IO devices.
Also, there is an on-board 4 – digit 7 – Segment Display connected through two 74HC595 ICs to drive them through serial communication. There are also interfaces for LM35 Temperature Sensor, DS18B20 Temperature Sensor and IR Receiver.
There is also a serial interface header for connecting Serial Modules like Bluetooth, Voice Recognition, Wireless, Voice, etc.
One of the popular Arduino Shields is the LCD Shield. It is built around the famous 1602 Character LCD (16×2 LCD Module). It contains a 16×2 LCD Display with White characters and Blue backlight. The shield also contains 6 Push Buttons of which 1 is the Reset button and the other 5 are for user application like LEFT, RIGHT, UP, DOWN and SELECT.
The LCD is connected to Arduino through pins D4 – D10 using 4-bit mode. You can also control the backlight (D10). Another beautiful implementation is the way the 5 push buttons are connected using only one Analog IN pin.
To save Digital IO pins, all the push buttons are connected to Analog IN 0 through a 5-stage voltage divider.
Motor Driver Shield
If you want to build robots and cars using Arduino, then a Motor Driver is an important component. Fortunately, there are several Motor Driver Shields for Arduino to reduce design time and complexity. The most popular one is the L293D Motor Shield. As the name suggests, it contains the famous L293D Motor Driver IC.
The expansion board consists of two L293D ICs and a 74HC595 Shift Register IC. Using this shield, you can connect 4 DC Motors (up to 12V) and two Servo Motors (5V) at the same time. To power the motors, there is a connector for providing external power supply.
Controlling Robots and RC Cars with a Joystick is a fun little project on its own. A Joystick Module is a tricky one as it is not breadboard friendly. So, using a Joystick Shield on top of your Arduino Board changes the “game” completely (pun intended). There are several types of Joystick Shields but the one I present here is a complete package.
It contains a 2-Axis Joystick Module, 6 Push Buttons, Serial Interface Connector, I2C Interface Connector and a dedicated nRF25L01 Module Connector.
If you want control mains powered devices using Arduino, then you use a Relay Module in your project. A Relay Shield is an Arduino Expansion Board consisting of 4 Mechanical Relay Modules with four dedicated terminal connectors for each relay.
The Relay Shield also consists of four LEDs to indicate the state of the Relay (NO or NC).
4×4 Keypad Shield
A 4×4 Keypad Matrix consists of 16 Push Buttons arranges in a matrix of 4 Rows and 4 Columns. Each button can be mapped to a character or a value. To simplify the interface, you can use the 4×4 Keypad Shield.
In addition to the keypad matrix, the 4×4 Keypad Shield also consists of a header dedicated to connect a Nokia 5110 LCD Module.
Capacitive Touchpad Shield
To incorporate Touchpad in your Arduino Project, you can use the Capacitive Touch Pad Shield. It consists of 9 Capacitive Touch Pads interface through MPR121 IC, Proximity Capacitive Touch Sensor Controller.
There is an on-board logic level converter so that it is easy to work with both 3.3V and 5V logic.
Servo Motor Shield
If you are building a Robotic Arm or a Hexapod Robot with lot of Servo Motors, then the next Arduino Shield is just for you. It is a 16-Channel, 12-bit PWM Servo Shield for Arduino.
This Shield is based on PCA9685, an I2C based PWM LED Controller. So, in addition to controlling the Servos, you can also drive LEDs with PWM Signals.
Using a GSM/GPRS Shield, you can connect your Arduino Board to a GSM Network. The GSM/GPRS Shield allows you to make / answer calls, send / receive messages (SMS), connect to internet through GPRS.
Some of the common applications of GSM/GPRS Shield are Home Automation, Industrial Automation, Agriculture / Irrigation Automation, Vehicle Tracking, Remote Monitoring and Control.
HC-05 Bluetooth Module is a very popular communication modules for Arduino. There are Arduino Shields with Bluetooth Modules on then to enable Bluetooth Communication over serial interface.
The Bluetooth Shield can be controlled with AT Commands and some module allow you to re-flash the firmware to update the features.
Another popular shield in the Arduino Community is the Ethernet Shield. This particular Ethernet Shield is based on W5100 Ethernet Controller from Wiznet. Connect an ethernet cable to the RJ-45 Jack and you can control Arduino from the Internet.
Connection speeds up to 100 Mbps are possible. There is also an on-board microSD Card slot so that you can implement any real time data logging applications or weather stations.
The impact of ESP8266 on DIY Community is immeasurable. It is a small module with built-in Wi-Fi for wireless connectivity of Arduino. The combination of Arduino and ESP8266 is a major contributor to the DIY IoT Projects. There are Wi-Fi shields for Arduino to easily integrate ESP2666 (or any other Wi-Fi Controller) to an Arduino Board.
No need for soldering or breadboard as this Wi-Fi Shield simply plugs into an existing Arduino Board and communicated over Serial Interface. There is also a microSD Card slot on-board for data storage.
MP3 Player Shield
The VS1053 MP3 Decoder based MP3 Shields for are Arduino are a great way to add Music touch to your DIY Project. The VS1053 MP3 Decoder IC is an decode several audio formats like Ogg Vorbis, MP3, AAC, WMA, MIDI.
VS1053 MP3 Player Shield also consists of an microSD Card Slot so that it is easy to store and play audio from an SD Card. There is a 3.5mm headphone jack and the shield communicates with Arduino over SPI Interface.
Colour TFT Shield with Joystick
This is a fun little shield to a small colour display to Arduino. The Colour TFT Shield consists of a 1.8” TFT LCD screen with a resolution of 160×128 pixels. This particular display is controlled by ST7735 TFT Driver IC which can display 18-bit colours.
In addition to the TFT Display, there are two more useful features on-board. They are a microSD card slot and a 5-way navigation Joystick.
TFT Touchscreen LCD Shield
A Touchscreen Module is a great addition to your Arduino Project. A TFT Touchscreen LCD Shield is the easy way to start with touch screen. Although touch screen modules come in various dimensions, a 2.4” LCD is quite popular.
This LCD supports a resolution of 320×240 pixels. There are many LCD Controllers but SPFD5408 is a popular one. The shield also contains a microSD card slot.
Adding a microSD Card to your Arduino Project can be very useful in data logging and other similar applications. A microSD Shield enable you to add a microSD card to your Arduino Board.
Arduino communicate with microSD card over SPI interface. Arduino also supports FAT libraries to implement a FAT FS.
Often used in automobiles, CAN bus is an industrial bus used for long distance, low speed data transfer. CAN-Bus Shield is designed around MCP2515 CAN Bus Controller with SPI Interface.
Every CAN Controller requires a CAN Transceiver to convert the single ended data lines to differential data lines. This particular CAN-Bus Shield uses MCP2551 CAN Transceiver IC.
The Xbee Shield for Arduino is a great way simplify the process of adding Xbee Modules to your Arduino Project. These shields are designed to support different wireless networks like Zigbee, Bluetooth Low Energy, IEEE 802.15.4, etc.
You can build many wireless applications like walkie-talkie, data transfer, etc., using the Xbee Shield.
A GPS Shield with Data Logger consists of a GPS Receiver Module and a microSD Card Slot on-board. The GPS Module interfaces with Arduino over serial communication while the microSD card is connected to the SPI Pins.
You can implement speed monitoring, position tracking and other similar application using a GPS Logger Shield and an Arduino UNO board. There are several GPS Modules like GP3906, Neo-6M, REB-4216 etc.
PN532 NFC Controller based NFC/RFID Shield is a perfect board for adding 13.56 MHz RFID or NFC functionality to your Arduino applications. The shield is compatible with SPI, I2C and SPI Communication interfaces.
It comes with an on-board antenna and also an external antenna (any antenna can be selected with the help of jumpers). Also, the communication interface can be selected with another set of jumpers.
USB Host Shield
As the name suggests, an USB Host Shield gives your Arduino board USB Host capabilities. This USB host shield consists of all the digital and analog circuitry to enable full-speed USB peripheral/host with your Arduino UNO.
This USB Host Shield is based on MAX3421 USB Peripheral/Host Controller with SPI Interface.
MQ2 Smoke Sensor Shield
The MQ2 Gas Sensor is a very useful module to implement safety related applications. An MQ2 Smoke Sensor Shield will be perfect for your Arduino Board to detect Smoke, LPG, Carbon Monoxide and other toxic gases.
FM Radio Shield
Digital FM Radio Shield for Arduino enable you to listen to FM stations using your Arduino Board. You can digitally control the stations, receive Radio data system (RDS) information like artist song and read the strength of the signal using this shield.
The on-board DSP Signal Conditioning system provides you with a clear audio over the headphones. There are also buttons to change volume and stations.
If we want a long distance, no interference and reliable communication, especially in noisy industrial environment, then RS484 is the best choice. A fully isolated RS485 Shield for Arduino can be used for professional application as it provides galvanic isolation between the RS485 Bus and the Arduino.
This Shield is based on ISO3080, a fully isolated RS485 Transceiver. There is support for full duplex RS-422 (4-wires) or half-duplex RS-485 (2-wire) data transfer.
Addressable LEDs are awesome. Whether it is an Arduino project or a new PC build, adding LEDs with customisable colours is always a delight. NeoPixel, a brand of Addressable LEDs (based on WS2812B) from Adafruit, are very popular RGB LEDs in the market.
A NeoPixel Shield integrates these NeoPixel LEDs in the form of Arduino Shield for easy control.
It contains 40 RGB LEDs arranged in a 5×8 matrix. You can daisy chain these shields but remember that these addressable LEDs are RAM hungry and an UNO board may run on low RAM.
Even though it is considered an antique protocol, the MIDI Communication Protocol allows you to control music synthesizers, sequencers, samplers and other music related devices. Using a MIDI Shield you can build Arduino based MIDI Interface System.
The shield consists of MIDI IN and MIDI OUT ports. There are two potentiometers that can be configured to control volume, pitch, tone etc. The shield also has three push buttons for additional functionality.
If you want to add power backup to your Arduino Project, then Energy Shield is the way to go. This shield is based on LiPo Battery power shield, which will charge the battery if external power is available but switches to battery power in case the external power is disconnected.
There are multiple ways to power the shield like solar panels, USB and DC Jack. The shield also acts as a power bank to charge other 5V devices like mobile phones, MP3 players etc., through the USB port.
Interfacing camera with a Microcontroller board like Arduino is always a challenging task as the camera is a memory intensive module. But the Camera Shield for Arduino by ArduCam simplifies this task with a easy to use camera and simple user interface.
This Camera Shield also consist of a microSD Card slot and a 3.2” touch screen. It is connected to Arduino through SPI.
This article gave an overview of some of the commonly used Arduino Shields in the DIY community. This list of Arduino Shields is quite small compared to plethora of shields and expansion boards available in the market. I will add more shields in the future.