Arduino boards
Overview
Arduino is an open-source platform designed for artists, designers, hobbyists, hackers and anyone interested in creating interactive objects or environments. It consists of a circuit board, which can be programmed and a software called Arduino IDE (Integrated Development Environment), which is used to write the computer code and upload this code to the physical board.
An Arduino board can interact with buttons, LEDs, motors, speakers, GPS units, cameras, the internet, and even your smartphone or your TV! This flexibility combined with the fact that the Arduino software is free, the hardware boards are pretty cheap, and both the software and hardware are easy to learn has led to a large community of users who have contributed to produce library code and released instructions for a huge variety of Arduino-based projects.
The key features of Arduino are listed below:
-
Arduino boards read signals from different sensors through analog or digital pins and can turn those signals into an output such as turning LED on/off, activating a machine, connecting to the clouds and many other actions.
-
You can control your board functions by sending a set of instructions to the microcontroller on the board via Arduino IDE (referred to as uploading software).
-
Unlike most previous programmable circuit boards, most of Arduino does not need an extra piece of hardware (called a programmer) in order to load a new code onto the board. You can simply use a USB cable.
-
Additionally, the Arduino IDE uses a simplified version of C++, making it easier to learn to program.
-
Arduino provides a standard form factor that breaks the functions of the micro-controller into a more accessible package.
The main components of the Arduino ecosystem is illustrated below with the main Arduino boards that made the whole Arduino concept successful.
In addition to official Arduino boards there are plenty of Arduino-compatible boards and the ecosystem is growing very fast! See for instance this article presenting 10 Boards to Start IoT Development in 2021.
New to Arduino and microcontroller boards? Look at our IoT tutorial on Arduino, Sensors, IoT and LoRa technologies and discover a whole world of embedded applications with microcontrollers.
Listed boards
-
Arduino Pro Mini 3.3V @ 8MHz (specs) is powered by an ATmega328P at 8 MHz The original version is from Sparkfun, see picture above. Arduino Pro Mini clones can be obtained from many Chinese manufacturer and, although retired from the official Arduino lines, it still represents a very interesting low-cost, low-power and compact hardware platform for IoT project for the many years to come.
-
Arduino MEGA2560 (specs, essentials) is powered by an ATmega2560 at 16 MHz
-
Arduino Nano 33 BLE (specs, essentials and tutorials, PlatformIO) is powered by an nRF52840 ARM Cortex-M4 at 64 MHz with Bluetooth Low Energy connectivity. It also contains a LSM9DS1 9 axis IMU: 3-axis accelerometer, 3-axis gyroscope and 3-axis magnetometer.
-
Arduino Nano 33 BLE Sense (specs, essentials and tutorials) is powered by an nRF52840 ARM Cortex-M4 at 64 MHz with Bluetooth Low Energy connectivity. The Nano 33 BLE Sense is the same as the Arduino Nano 33 BLE with the addition of a set of sensors: IMU LSM9DS1; Microphone MP34DT05; Gesture, light, proximity APDS9960; Barometric pressure LPS22HB; Temperature, humidity HTS221. One unique feature is also the possibility to run AI using TinyML and TensorFlow™ Lite.
-
Arduino Nano 33 IoT (specs, essentials and tutorials, PlatformIO) is powered by an SAMD21G18A Cortex®-M0+ at 48MHz with WiFi and Bluetooth Low Energy connectivity
-
Arduino Nicla Sense ME (specs, essentials and tutorials, PlatformIO) is powered by an nRF52832 ARM Cortex-M4 with Bluetooth Low Energy connectivity and a set of embedded sensors for Motion and Environment (ME): BHI260AP motion sensor system with integrated AI, BMM150 magnetometer, BMP390 pressure sensor, BME688 4-in-1 gas sensor with AI and integrated high-linearity, as well as high-accuracy pressure, humidity and temperature sensors.
Solution Lab: if you are looking for microcontroller boards with SAMD21 MCU typically featuring 32-bit ARM Cortex® M0+ core such as the Arduino Zero or the Arduino MKR family, then we chose to provide the Adafruit Feather M0 board and the Adafruit ItsyBitsy M0 Express board instead. See the Adafruit Feather/ItsyBitsy section on these boards.
Programming
All these Arduino boards can be of course programmed with the Arduino IDE.
Solution Lab: The software packages to support these boards are already installed in the Arduino IDE environment. Select the appropriate board in the Tools
/Board
menu section.
The Arduino Pro Mini requires an external FTDI breakout module to connect the board to a computer USB port.
For the general Arduino programming skills and knowledge, look at our IoT tutorial on Arduino, Sensors, IoT and LoRa technologies.
For the most recent Arduino Nano 33 BLE and Arduino Nano 33 BLE Sense boards, they run an ARM Mbed OS. The Arduino Nicla Sense ME runs a specific Nicla MBed core. To better know how to start with these boards, look at the specific guides for Arduino Nano 33 BLE, Arduino Nano 33 BLE Sense, Arduino Nano 33 IoT and Arduino Nicla Sense ME to know how to use their advanced features and embedded sensors.
The Arduino Nano 33 BLE Sense is a hardware variation of the Arduino Nano 33 BLE; both boards are recognized as Arduino Nano 33 BLE and this is normal. In the board manager and the board selection, you will find listed only the Arduino Nano 33 BLE.
Quoted from Arduino Nano 33 BLE Sense Guide.
For BLE boards, the BLE features can be used with the ArduinoBLE library. Look at this specific tutorial page on BLE. The WiFi features of the Arduino Nano 33 IoT can be used with the WiFiNINA library.
Usage
The listed Arduino boards can be selected according to the IoT application profile, for instance:
- Arduino Pro Mini 3.3V @ 8MHz board: it is probably the most versatile platform for DIY, low-cost and low-power IoT application. Although the memory and computing resources are limited, the platform can be used to host a large variety of processing, including AES encryption and light LoRaWAN protocol stack for instance. It is possible to get down to as low as 5uA of power consumption in deep sleep mode, allowing the board to run on AA batteries for many years. There are so many DIY projects that it is not possible to list them all. Here are some tutorials/projects demonstrating the usage of the Pro Mini board to build real-world IoT applications:
- Arduino MEGA2560 board: the board is for easy prototyping phases or didactic purposes. Here, the advantage is to get easy access to the microcontroller pins and to provide a robust platform to be manipulated in class or training sessions.
- Arduino Nano 33 boards: these boards that come in 3 variants are very recent boards built around much more efficient microcontrollers. The main features of these boards is to offer in a very compact format WiFi and/or Bluetooth Low Energy. The Arduino Nano 33 BLE Sense model has the possibility to run AI using TinyML and TensorFlow™ Lite. It represents the trend of future IoT platforms where more intelligence will be embedded in the device itself.
The main feature of this board, besides the impressive selection of sensors, is the possibility of running Edge Computing applications (AI) on it using TinyML. You can create your machine learning models using TensorFlow™ Lite and upload them to your board using the Arduino IDE.
Arduino’s developer Sandeep Mistry and Arduino’s advisor Dominic Pajak have prepared an introductory tutorial to AI on the Nano 33 BLE Sense, but also a more advanced guide on color detection.
Quoted from Arduino Nano 33 BLE Sense product.
- Arduino Nicla Sense ME: the Arduino smallest footprint board packed with advanced features can be used to quickly develop proof-of-concept IoT sensing applications.
Links & Resources
- Official Arduino website
- Official Arduino documentation pages
- Official Arduino Getting Started Guide
- Official Arduino Large number of Tutorials
- Large number of tutorials from Adafruit
- Arduino tutorials from Instructables
- Get Started With Machine Learning on Arduino Nano 33 BLE Sense – from Arduino
- Using AI Edge Impulse on Arduino Nano 33 BLE Sense – from Arduino
- Edge Impulse documentation on the Arduino Nano 33 BLE Sense – from Edge Impulse
- Official Arduino tutorial on the Nicla Sense ME board
- and a lot more from the official Arduino website!
2021 - Congduc Pham