top of page

Arduino Compatible Boards and Shields

Introduction

 

As mentioned in the first module of this course, there are many Arduino-compatible boards out there. Arduino-compatible boards can be defined as the different prototyping boards that can be programmed using the Arduino sketch and the Arduino IDE. They can also work with the different Arduino shields. These boards are either made by the Arduino team themselves or by other people using the Arduino open-source hardware design. The open-source design can also be tweaked by individuals to add functions to the original Arduino boards; such as through shields.

​

In this module, we will learn about popular Arduino boards and shields we will likely use in this platform for different projects. We will look at their specifications, their pros and cons, and the different projects they are suitable for.

Arduino Compatible Boards


1. Arduino Uno
This is the most popular Arduino board. The Arduino Uno is based on ATmega328P microcontroller. The board is equipped with sets of digital and analog (I/O) pins for interfacing with various expansion boards (shields) and other circuits. This is the most common board to start with as a beginner.

ArduinoUno-1.jpg
Arduino Uno R3

Features

  • Microcontroller: ATmega328P

  • CLK Speed 16 MHz

  • Input Voltage: 6V-20. (recommended 7V-12V)

  • DC Current per I/O Pins: 40 Ma

  • DC Current for 3.3V Pinn: 50 Ma

  • Digital Input/Output pins: 14

  • PWM Output Pin: 6

  • Analog Input pins: 6

  • Flash Memory: 32 KB (0.5 KB for bootloader)

  • Program Memory: 256 KB

  • SRAM: 2 KB

  • EEPROM: 1 KB

  • Communication: UART TTL, TX/RX

  • Standard USB (for uploading code)

​

Application

  • Prototyping in embedded system projects.

  • Beginner friendly.

  • Suitable for stacking shields.

  • Provides terminals for Analog and Digital signal for different applications.

2. Arduino Nano
The Arduino Nano is a small, complete, and breadboard-friendly board based on the ATmrga328 Microcontroller. It has more or less tye same functionality of that of the Uno, but in a tiny form factor. It lacks a DC power jack, and works with a Mini-B USB cable instead of a standard one.

Arduino Nano V3.0 Twins Chip 1-550x550.j
Arduino Nano

Features

  • Microcontroller: ATmega328

  • Operating Voltage: 5V

  • Flash Memory: 32 KB (2 KB used for bootloader)

  • SRAM: 2 KB

  • EEPROM: 1 KB

  • CLK Speed: 16 MHz

  • Analog Input Pins: 8

  • Digital I/O Pins: 22

  • PWM Output: 6

  • Communication: Serial protocol (TX/RX), I2C, SPI

  • mini USB (for uploading code)

​

Application

  • Used for small size projects.

  • Suitable for use on a breadboard.

3. Arduino Mini

The Mini can be said to be the smallest Arduino b board. It runs an ATmega328 Microcontroller. It is designed to fit on a breadboard. Not withstanding its size, the Mini provides us with 22 Digital I/O pins. The Mini had to sacrifice some features to maintain its size. So, there is no DC barrel jack or USB slot on the board, but we can power the board through the Vin pins and program it using an external USB to TTL serial adapter.

Arduino mini.jpg
Arduino mini

Features

  • Microcontroller: ATmega328P

  • CLK Speed 16 MHz

  • Input Voltage: 6V-20. (recommended 7V-12V)

  • DC Current per I/O Pins: 40 Ma

  • DC Current for 3.3V Pinn: 50 Ma

  • Digital Input/Output pins: 14

  • PWM Output Pin: 6

  • Analog Input pins: 6

  • Flash Memory: 32 KB (0.5 KB for bootloader)

  • Program Memory: 256 KB

  • SRAM: 2 KB

  • EEPROM: 1 KB

  • Communication: UART TTL, TX/RX

  • Standard USB (for uploading code)

​

Application

  • Useful for small size and mobile projects.

  • Suitable for breadboard prototyping.

  • Useful for low energy projects.

4. Arduino Leonardo

This board is similar in size with the Uno, but runs on a different controller, which is the ATmega32U4 Microcontroller. Unlike the Atmega328 in the Uno, the  ATmega32U4 has in-built USB support thereby eliminating the need for a secondary processor chip for the USB. The Leonardo board also provide us with more I/O pins for interfacing with external circuits and peripherals. The Leonardo also uses a Micro-USB cable to connect to PC.

Arduino Leonardo.jpg
Arduino Leonardo

Features

  • Microcontroller: ATmega32U4

  • CLK Speed 16 MHz

  • Input Voltage: 7-12V

  • DC Current per I/O Pins: 20 mA

  • DC Current for 3.3V Pinn: 50 Ma

  • Digital Input/Output pins: 20

  • PWM Output Pin: 6

  • Analog Input pins: 6

  • Flash Memory: 32 KB 

  • Program Memory: 256 KB

  • SRAM: 2 KB

  • EEPROM: 1 KB

  • Communication: UART TTL, TX/RX

  • Standard USB (for uploading code)

​

Application

  • For projects requiring an Uno-sized board with more I/O pins.

  • Projects that requires stacking with shields.

5. Arduino micro
The Arduino micro comes in a tiny form factor designed to fit on a solderless breadboard. This board runs an ATmega32U4 microcontroller: just like the Leonardo board, giving it the same functionality but in a smaller board size. Due to its size, there is not much for a DC barrel jack, but you can power the board either through the USB or via the Vin pins. It also consumes less power.

Arduino micro.jpg
Arduino micro

Features

  • Microcontroller: ATmega328P

  • CLK Speed 16 MHz

  • Input Voltage: 6V-20. (recommended 7V-12V)

  • DC Current per I/O Pins: 40 Ma

  • DC Current for 3.3V Pins: 50 Ma

  • Digital Input/Output pins: 14

  • PWM Output Pin: 6

  • Analog Input pins: 6

  • Flash Memory: 32 KB (0.5 KB for bootloader)

  • Program Memory: 256 KB

  • SRAM: 2 KB

  • EEPROM: 1 KB

  • Communication: UART TTL, TX/RX

  • Standard USB (for uploading code)

​

Application

  • Comes in handy for small size and mobile projects.

  • Suitable for breadboard prototyping.

  • Useful for low energy projects.

6. Arduino Mega
The Arduino Mega is a microcontroller board based on the ATmega2560 Microcontroller. This is an amplified version of the UNO due to features such as 54 digital I/O Pins, 16 analog inputs 4 UARTs (hardware serial ports) etc. It is also for stacking shields just like the UNO.

Arduino mega.jpg
Arduino mega 2560

Features

  • Microcontroller: ATmega2560

  • Operating Voltage: 5V

  • Input Voltage: 6V-20 (recommended 7V-12V)

  • Digital I/O Pins: 54

  • PWM Output Pins: 15

  • Analog Input Pins: 16

  • DC Current for each I/O pin: 40 mA

  • DC Current used for 3.3V Pin: 50 mA

  • Flash Memory: 256 KB (8 KB for bootloader)

  • SRAM: 8 KB

  • EEPROM: 4 KB

  • Communication: UART(4), SPI(5), I2C(1)

  • Clock (CLK) Speed: 16 MHz

  • USB Host chip: MAX3421E

  • Standard USB for uplaoding code

​

Application

  • Suitable for stacking shields.

  • Provide multiple I/O for interfacing with different devices and circuits.

  • Provide more SRAM and EEPROM storage for your program.

Note: Although the Mega provide multiple I/O pins, the current provided by the board is not sufficient the drive load connected to such amount of pins. For example, with the Arduino Mega you can power 54 MOSFETs because there are voltage driven, but you can not power 54 LEDs, because there are current driven. To solve this, use a driver to power your multiple current driven loads connected to the Arduino Mega.

7. Arduino Due

The DUE is a very powerful Arduino board. Running on a 32-bit Atmel CPU with clock speed of 84 MHz. This was the first traditional Arduino board to use an ARM core CPU. It comes in a similar size as the Arduino Mega, providing more memory space and multiple I/O Pins. Unlike the Mega, the Due is compatible with most shields due to the 3.3V pin voltage. But has the ability to provide up to 130mA current to devices connected to it
numerous I/O Pins: something the Mega is not capable of doing without the help of drivers.

Arduino Due .jpg
Arduino Due

Features

  • Microcontroller: ATmega328P

  • CLK Speed 16 MHz

  • Input Voltage: 6V-20. (recommended 7V-12V)

  • DC Current per I/O Pins: 40 Ma

  • DC Current for 3.3V Pinn: 50 Ma

  • Digital Input/Output pins: 14

  • PWM Output Pin: 6

  • Analog Input pins: 6

  • Flash Memory: 32 KB (0.5 KB for bootloader)

  • Program Memory: 256 KB

  • SRAM: 2 KB

  • EEPROM: 1 KB

  • Communication: UART TTL, TX/RX

  • Standard USB (for uploading code)

​

Application

  • Projects requiring multiple I/O pins.

  • Suitable for projects needing fast processing speed and bigger memory space.

8. LilyPad Arduino 328
The LilyPad Arduino 328 Main Board is an Arduino programmed microcontroller developed by Leach Buechley and cooperatively designed by Leach and SparkFun. The LilyPad is designed to be easily integrated into e-textiles and wearable projects. It offers the same functionality you find in other Arduino boards, in a lightweight, round package, with wide tabs that can be sewn down and connected with conductive thread.

LiLypad.jpg
LiLypad Arduino 328 main board

The LilyPad Arduino consists of an ATmega 328 with the Arduino bootloader. The board also runs with 2V - 5V and offers large pin-out holes that make it easy to sew and connect.

There are varieties of LilyPad Arduino boards you can chose from, these includes;
LilyPad Arduino Simple, LilyPad Arduino USB, LilyPad Arduino SimpleSnap, LilyPad Arduino USB plus, and the LilyPad Arduino328 Main Board. Learn more... 

9. NodeMCU ESP8266
NodeMCU is an open-source developement board specially targeted fot IoT based applicatons as it has Wi-Fi and Bluetooth functionalities. The NodeMCU ESP8266 development board comes with the ESP-12E module containing ESP8266 chip having Tensillica Xtensa 32-bit LX106 RISC microprocessor. The NodeMCU can be program with Arduino IDE.

NodeMCU esp8266.jpg
NodeMCU ESP8266 Dev board

Features

  • Microcontroller: Tensilica 32-bit RISC CPU Xtensa LX106

  • Operating Voltage: 3.3V

  • Input Voltage: 7-12V

  • Digital I/O Pins (DIO): 16

  • Analog Input Pins (ADC): 1

  • UARTs: 1

  • SPIs: 1

  • 12Cs: 1

  • Flash Memory: 4MB

  • SRAM: 64 KB

  • Clock Speed: 80 MHZ

  • USB-TTL based on CP2102 PCB Antenna

​

Applications

  • Prototyping of IoT projects.

  • Low power operated applications.

  • Projects requiring multiple I/O interfaces.

  • Projects requiring Wi-Fi and Bluetooth functionalities.

10. Teensy 3.2
Teensy is a complete USB-based microcontroller development system, in a very small footprint. It is a breadboard-friendly with loads of features in a well, teensy package. The teensy 3.2 comes pre-flashed with a bootloader so you can program it using the on-board USB connection. You can program the teensy in your favorite program sditor using C, or you can install the Teensyduino add-on for the Arduino IDE and program the Teensy with Arduino sketches.

Teensy 3.2 Dev board.jpg
Teensy 3.2 Dev board

Features

  • Processor: MK20DX256VLH7 Cortex-M4

  • Clock Speed: 72 MHz

  • Flash Memory: 256 KB

  • RAM: 64

  • Digital I/O Pins: 34

  • Analog Input Pins: 21

  • Analog Output Pins: 1

  • Communication: USB(1), Serial(3), SPI(1), I2C(2), CAN Bus(1), I2S Audio(1)

​

Application

  • Suitable for projects requiring fast processing capability.

  • Used in small small size projects that requires high computation capability.

  • Suitable to use with breadboard.

Arduino Compatible Shields


Arduino Shields are Arduino-compatible boards made to add specific functionality to 
traditional Arduino boards. These shields are made to be connected (stacked) directly
to the Arduino board. For example, if you stack an SD Card shield on top of a UNO, you now add additional storage capability, such as storing data gotten from the sensor to your project.

​

Apart from adding functionality, another significant use of these shields is that they extend the Arduino pins through themselves. For example, a shield might need four pins from the Arduino board to operate, but by stacking the shield on top of the Arduino board all other pins are covered. Because of this, the shield has all the pins of the Arduino board extended through them, so you can now use the other pins that were covered and also the four pins that is being used by the shield. So, you have all your pins intact to work with.

protoshield stacked an Uno.jpg

Most of the shields have their module counterpart, but once a module is plugged to and Arduino board, the pins used are occupied. So, if you are running out of pins in your project a shield might be your preferable choice. Although shields might sound like the go to component, it is sometimes more expensive than modules, and can take more space and use a little more energy.

1. ProtoShield
The ProtoShield is like a DIY platform to model your own shield the way you wish. It comes with built-in basic components such as resistors, push buttons, connection headers and a mini breadboard for prototyping.

arduino protoshield.png
ProtoShield

2. Ethernet and Shield
The Ethernet shield gives you the ability to connect your Arduino to the internet by connecting to your router through the ethernet port.

ethernet-shield-w5100-1.jpg
Ethernet Shield

3. Relay Shield
The Relay Shield is a module with built-in mechanical relays that provides and easy way to
control high voltage in your projects.

relay shield.jpg
4 Module Relay Shield

4. SD Card Shield
The microSD Shield gives your Arduino setup the ability to handle mass data storage. You can use this for data-logging, storing file files, etc., which the traditional Arduino board can not accommodate. 

SD card shield.jpg
SD Card Shield

5. Motor Shield
The moto shield makes it easy to connect and control motors without having to worry much about the driver circuit.

4-Channels L293D Motor Shield For Arduin
Motor Shield

6. MP3 Player Shield
The MP3 Shield provides you with a simple way to add sound effects or play music; if your project requires such.

mp3 shield.jpg
Mp3 player Shield

7. GPS Logger Shield
The GPS Logger Shield has a built-in GPS module and is designed to log location data unto an SD Card.

Tinysine-GPS-Logger-Shield-for-Arduino.j
GPS Logger Shield

8. HC-05 Bluetooth Shield
This Shield has built-in Bluetooth SPP (Serial Port Protocol) module. This allows you Arduino to with other devices at short range via bluetooth.

bluetooth shield.jpg
HC-05 Bluetooth Shield

9. Wi-Fi Shield
This Wi-Fi Shield allows the Arduino to communicate wirelessly with other devices via WiFi. Suitable in M2M and IoT projects.

wifi shield.jpg
Wi-Fi Shield

10. GSM/GPRS Shield
This Shield allows you the ability to connect your Arduino to GSM/GPRS cell phone network. It allows you to dial number or send text messages via AT commands.

SIM900-GSM-Shield-with-Arduino.jpg
GSM/GPRS Shield
bottom of page