Blog  /  Arduino Shields: Expansion Boards for Increasing Arduino Board Functionalities

Arduino Shields: Expansion Boards for Increasing Arduino Board Functionalities

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.

 

An Arduino board with multiple shields stacked on it

An Arduino board with multiple shields stacked on it

Source: Wikimedia Commons

 

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.

 

Prototype Shield

 

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.

 

A prototype shield for Arduino with a mini breadboard attached

A prototype shield for Arduino with a mini breadboard attached

Source: Wikimedia Commons

 

IO Expansion Shield

 

An IO expansion shield gives the Arduino board connectivity options for analog and digital devices without soldering or using a breadboard.

 

Multifunction Shield

 

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.

 

LCD Shield

 

This shield contains a 16x2 LCD (1602 character LCD), with a blue backlight & white characters and six push buttons for different applications.

 

An LCD shield on an Arduino board

An LCD shield on an Arduino board

Source: Wikimedia Commons

 

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.

 

An Arduino motor shield with a 3V DC motor attached

An Arduino motor shield with a 3V DC motor attached

Source: Wikimedia Commons

 

Joystick Shield

 

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.

 

Relay Shield

 

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.

 

GSM/GPRS Shield

 

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.

 

A GSM shield for Arduino

A GSM shield for Arduino

Source: Wikimedia Commons

 

Bluetooth 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.

 

Ethernet Shield

 

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.

 

An Arduino Ethernet shield

An Arduino Ethernet shield

Source: Wikimedia Commons

 

WiFi Shield

 

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.

 

A WiFi shield for Arduino

A WiFi shield for Arduino

Source: Wikimedia Commons

 

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.

 

An audio player shield mounted on Arduino

An audio player shield mounted on Arduino

Source: Wikimedia Commons

 

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.

 

MicroSD Shield

 

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.

 

An ARSH-09-DL 03 data logging shield

An ARSH-09-DL 03 data logging shield

Source: Wikimedia Commons

 

CAN-Bus Shield

 

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.

 

A CAN-Bus shield stacked on an Arduino UNO

A CAN-Bus shield stacked on an Arduino UNO

Source: Wikimedia Commons

 

Xbee Shield

 

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.

 

An Xbee shield

An Xbee shield

Source: Wikimedia Commons

 

GPS Shield

 

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.

 

A GPS Arduino shield

A GPS Arduino shield

Source: Wikimedia Commons

 

NFC/RFID Shield

 

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.

 

A USB host shield next to an Arduino UNO

A USB host shield next to an Arduino UNO

Source: Wikimedia Commons

 

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

 

RS485 Shield

 

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.

 

NeoPixel Shield

 

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.

 

MIDI Shield

 

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.

 

A MIDI shield stacked on an Arduino board

A MIDI shield stacked on an Arduino board

Source: Wikimedia Commons

 

Energy Shield

 

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.

 

Camera Shield

 

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.

 

Summary

 

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.