Modular designs are always easy to develop & scale, and this also applies to electronics. Since Arduino is the go-to microcontroller for circuit prototyping and development, it is necessary to have additional modules that increase functionality to create customized projects. That is where Arduino Shields come in.
They are small boards that connect and stack onto the Arduino board to provide specific functions. If you have a project in development, here's a close look at these modules, including a list of the compatible ones for different projects.
What is Arduino Shields?
Arduino shields are plug-in or add-on boards attached to an Arduino board to provide extra functionalities. They have a similar pin position to the Arduino board and usually perform a specific function, such as communication or running a motor.
Why Do We Need Arduino Shields?
Arduino boards make it easy to play around with electrical components, placing them on a breadboard for easy connection. However, you should not assemble the final product with an external breadboard. It is neat and more professional to use expansion boards like Arduino Shields to set up the complete project.
Additionally, these boards reduce the circuit wiring complexity, minimize the construction process and reduce the build time.
Also, you can attach and detach the shield from the board effortlessly, and it is not difficult to implement the shield's hardware components.
Shield Form Factor
Each Arduino shield must have a similar pin position and form factor as a standard Arduino board. Therefore, the power and ground pins should be on one 8-pin header, while the analog pins should be on one 6-pin header.
The digital pins should be on the opposite side of the analog pins on an 8-pin header. A 0.5-inch spacing should separate these from the rest of the digital and I2C interface pins. Some shields have extra pins to connect to the ICSP 2 x 3 programming header pins.
But not all Arduino boards have the same pin layout. For instance, Arduino UNO and MEGA are different. Therefore, you should choose a compatible board by looking at three factors.
- Pin-out (to ensure header alignment)
- Operating voltage (3.3V, 5V, or both)
- Library (Arduino UNO is the most compatible board)
Also, it is worth noting that not all shields require a link to every pin. Some use the serial, I2C, analog, or SPI pins to communicate with the Arduino PCB. You can have a stackable shield set up with as many shields as possible connected to one Arduino PCB, but don't use overlapping pins.
List of Arduino Compatible Shields
Since each shield has a specific function, here is a list of the compatible ones for your Arduino project.
The prototyping shield is one of the most uncomplicated Arduino shields because it features a prototyping area for soldering components. If soldering is too much work, you can attach the included 170-pin mini breadboard to the prototyping area.
IO Expansion Shield
An IO expansion shield gives the Arduino board connectivity options for analog and digital devices without soldering or using a breadboard.
As the name suggests, a multifunction shield is a multipurpose board. It is ideal for beginners who want to quickly get into the programming part.
This shield contains a 16x2 LCD (1602 character LCD), with a blue backlight & white characters and six push buttons for different applications.
Motor Driver Shield
An Arduino motor shield is critical for building RC cars and robots. There are several types, but the most popular one is the L293D, and it contains a 74HC595 Shift Register IC plus two L239D integrated circuits. It can power four 12V DC motors and two servo or stepper motors simultaneously.
As the name suggests, the purpose of this shield is to control devices like RC cars and robots using joysticks. Like the motor shield, this one is available in several varieties.
A relay shield is a module used to control devices powered by the mains AC power line. It contains four mechanical relay power modules (each with a dedicated terminal connector) and four LEDs to indicate the relay's state (NC or NO).
4×4 Keypad Shield
With a row and column matrix keypad, this shield has 16 buttons that you can map to different characters for input. Also, it features a dedicated header for connecting the LCD module of a Nokia 5110.
Capacitive Touchpad Shield
If you prefer a touchpad interface instead of keys, you can incorporate the capacitive touchpad shield into your Arduino project. It contains nine capacitive touchpads and a proximity sensor controller.
Servo Motor Shield
If you need several servo motors for a Hexapod robot or robotic arm, consider using this 16-channel, 12-PWM servo motor shield. It can also power LEDs using PWM signals.
If your Arduino project involves sending or receiving SMS messages, making or answering calls, and connecting to the internet via GPRS, you need to use a GSM/GPRS shield.
Some shields have Bluetooth modules for wireless communication over the serial interface, but you can get a single module for this function. You can control the board using AT commands, and some allow firmware flashing for feature updates. An example is the HC-05.
Even though most internet communications happen over WiFi, ethernet is still widely used, primarily for its high speeds. An ethernet shield can reach speeds of up to 100Mbps and features an RJ-45 jack for the ethernet cable.
WiFi shields like the ESP8266 are essential components in IoT projects because they provide wireless internet connectivity to Arduino PCBs. The module also features a microSD card slot, and it plugs into Arduino boards, eliminating the need for breadboarding or soldering.
MP3 Player Shield
An MP3 player music shield, like the VS1053 decoder IC, enables you to add high-quality audio to your electronic project. It can decode MP3, AAC, MIDI, WMA, & Ogg Vorbis audio formats and features a microSD card slot to store the music. Also, it has a 3.5mm headphone jack.
Color TFT Shield with Joystick
With the ST7735 TFT Driver IC controller, this shield displays 18-bit colors in a 160x128-pixel, 1.8-inch TFT LCD. The board also contains a 5-way navigation module and a microSD card slot.
TFT Touchscreen LCD Shield
Touchscreens are popular input/output interfaces, and you can incorporate this shield into your project to include this functionality. You can get the screen in various sizes, but the 2.4-inch LCD is the most sought-after. It has a 320x240 pixel resolution and features a microSD card slot.
Several shields have microSD card slots, but if you need a dedicated one for applications like data logging, use the microSD module. It supports FAT FS implementation of FAT libraries and communicates with Arduino via SPI.
Designed around the MCP2515 CAN bus controller, this shield is ideal for low-speed, long-distance data transfer. It requires a CAN transceiver for single-ended to differential data line conversion and features an SPI interface.
This shield simplifies the process of adding Xbee modules to your project. It supports multiple wireless networks, such as Bluetooth Low Energy and Zigbee. These make it an ideal choice for working on wireless projects like data transfer apps.
A GPS shield consists of a GPS receiver module and a microSD card slot for data logging. It exchanges data with the Arduino board over serial communication, while the SD card connects via SPI communication.
As the name suggests, this shield adds NFC and RFID functionality (13.57MHz) to your project. It has an internal & external antenna that you can select optionally using jumpers. The board is compatible with I2C, SPI, and SPI communication interfaces.
USB Host Shield
Based on the MAX3421 USB host/ peripheral controller (with SPI interface), this shield contains all the analog and digital circuitry required for full-speed USB connectivity to your Arduino UNO.
MQ2 Smoke Sensor Shield
Smoke sensors are essential for safety applications, and this shield is ideal for adding LPG, carbon monoxide, smoke, and other toxic gas detection capabilities to your project.
FM Radio Shield
The FM radio shield contains a DSP signal conditioning system that enables you to:
- Listen to FM stations
- Control FM stations digitally
- Receive Radio Data System (RDS) information
An RS485 shield gives galvanic isolation between its bus and the Arduino board to prevent noise and interference. The device supports 2-wire (half-duplex) and 4-wire (full-duplex) data transfer and bases its design on the ISO3080, a completely isolated RS485 transceiver.
If you want to add RGB LEDs to your project, consider using the NeoPixel shield. The Adafruit extension board bases its design on the WS2812B. It has 40 RGB LEDs in an 8x5 matrix, and each is fully customizable.
On top of that, it is possible to daisy chain these NeoPixels to cover a wide surface, such as the side section of a new PC build.
Not many devices use the MIDI communication protocol, but this shield is still ideal for controlling music samplers, synthesizers, sequencers, and more using Arduino. It creates a MIDI interface system with MIDI in & out ports and contains two configurable potentiometers for pitch, volume, and tone control.
If you are developing a power-sensitive project, get an energy shield. It contains a LiPo battery that can power the Arduino or Arduino-compatible board when the external power supply goes off. The battery charges when power is available and then switches to become the power source when the power supply goes off.
Last on the list is the camera shield. It provides a simple UI and an easy-to-use camera and connects to Arduino via SPI. The unit consists of a 3.2-inch touchscreen plus a microSD card slot.
In conclusion, Arduino shields are essential for Arduino projects because most Arduino boards are pretty basic. Plugging in these shields provides the features required to make your project a success. If you have any questions about these modules, reach out for further clarification.