Menu

Arduino: What is it?

6 min read Mis à jour le 03 Apr 2026

Définition

Arduino is an open-source electronic prototyping platform based on microcontrollers (ATmega, SAMD, ESP32), offering simple C/C++ programming and direct connectivity with sensors and actuators. Complementary to the Raspberry Pi, Arduino excels in real-time data acquisition and low-power applications.

What is Arduino?

Arduino is an open-source electronic development platform comprising microcontroller-based hardware boards and a simplified integrated development environment (IDE). Created in 2005 in Italy by Massimo Banzi and his team to make electronics accessible to non-engineers, Arduino has become the global reference tool for electronic prototyping and embedded IoT projects. The platform encompasses a family of boards (Arduino Uno, Nano, Mega, MKR) along with an ecosystem of shields (expansion boards) and software libraries.

Unlike the Raspberry Pi, which is a micro-computer running a full operating system, Arduino is a microcontroller that executes a single program (sketch) in a continuous loop without an OS. This minimalist architecture offers specific advantages: instant startup (no OS boot), deterministic response times (no preemptive multitasking), extremely low power consumption (microamps in sleep mode), and direct hardware interaction without an abstraction layer.

Arduino programming uses a simplified dialect of C/C++ with predefined functions (digitalRead(), analogWrite(), Serial.println()) that hide the complexity of microcontroller registers. This accessibility, combined with a very low entry price (from 3 euros for an Arduino Nano clone) and a community of millions of users, makes Arduino the ideal entry point for embedded electronics and connected sensors.

Why Arduino matters

Arduino has transformed the embedded electronics and IoT landscape by making hardware development accessible to all developers, not just electronics engineers.

  • Deterministic real-time: without an operating system, Arduino reacts to sensor events in microseconds, essential for critical measurement, industrial control, and safety applications.
  • Ultra-low power: an Arduino in deep sleep mode consumes just a few microamps, enabling battery-powered deployments lasting months or even years without maintenance.
  • Minimal cost: an Arduino Nano board with a temperature sensor costs less than 10 euros, making large-scale deployments (hundreds of measurement points) economically viable.
  • Rapid prototyping: from idea to working prototype in a few hours thanks to the simplified IDE, ready-to-use libraries, and plug-in shields.
  • Raspberry Pi complementarity: Arduino handles real-time sensor acquisition and low power, while Raspberry Pi handles complex processing, networking, and business logic. The two communicate via serial, I2C, or SPI.

How it works

An Arduino program (sketch) follows a simple structure: the setup() function runs once at startup to initialise pins and peripherals, then the loop() function runs in an infinite loop to read sensors, process data, and control actuators. The code is compiled by the Arduino IDE into machine instructions for the target microcontroller, then uploaded via USB.

Arduino's input/output pins are divided into digital pins (HIGH/LOW, 5V or 3.3V depending on the model) for on/off sensors (button, motion detector, relay) and analogue pins (10-bit ADC converter, 0-1023) for continuous signal sensors (photoresistor, distance sensor, potentiometer). Serial communication protocols (UART), I2C, and SPI allow connection of complex digital sensors (BME280 for temperature/humidity/pressure, GPS, accelerometer) and communication modules (Wi-Fi ESP8266, LoRa SX1276, Bluetooth).

In a complete IoT architecture, Arduino acts as a collection node. It reads sensors and transmits data to a Raspberry Pi (via serial or I2C) or directly to an MQTT broker (with a Wi-Fi shield or ESP8266/ESP32 module). The Raspberry Pi or Django server receives this data, stores it, and visualises it. For projects requiring both Wi-Fi and a microcontroller, Arduino MKR WiFi 1010 boards or ESP32 modules (Arduino IDE compatible) offer an integrated solution.

Concrete example

At Kern-IT, we use Arduino where low power consumption and real-time performance are priorities. For an environmental monitoring project in the tourism sector, we deployed Arduino Nano nodes connected to air quality sensors (PM2.5, CO2, temperature, humidity) in protected natural areas. Each node, powered by a miniature solar panel and a LiPo battery, consumes less than 5 mA during operation and enters deep sleep between measurements (every 15 minutes).

Data is transmitted via a LoRa module connected via SPI to a Raspberry Pi gateway located several kilometres away. The Raspberry Pi publishes the data on MQTT to our Django backend, and the results are mapped on KERN MAP to provide a geospatial view of air quality across the territory. The Arduino node achieves 6 months of autonomy through power optimisation, where a Raspberry Pi would have required permanent power.

Implementation

  1. Choose the board: Arduino Nano for compact low-power projects, Arduino Uno for prototyping, ESP32 (Arduino IDE compatible) for projects requiring built-in Wi-Fi/Bluetooth.
  2. Install the Arduino IDE: download the IDE from arduino.cc, install the necessary board packages and libraries for your sensors (via the Library Manager).
  3. Wire the sensors: connect sensors to the appropriate pins (analogue for continuous signals, I2C for digital sensors). Respect voltage levels and add pull-up resistors if necessary.
  4. Develop the sketch: program sensor reading in loop(), data formatting in JSON, and transmission via serial or communication module.
  5. Connect to Raspberry Pi: link the Arduino to the Raspberry Pi via USB serial or I2C. The Raspberry Pi runs a Python script that reads the data and publishes it on MQTT.
  6. Optimise power consumption: use the microcontroller's sleep modes (sleep_mode, watchdog timer) to maximise battery life in battery-powered deployments.

Associated technologies and tools

  • Arduino IDE / PlatformIO: development environments for programming Arduino boards and compatible microcontrollers.
  • ESP32 / ESP8266: Wi-Fi/Bluetooth microcontrollers compatible with the Arduino IDE, ideal for IoT projects requiring wireless connectivity.
  • Raspberry Pi: used as a gateway between Arduino nodes and the cloud backend, handling networking and complex processing.
  • MQTT (PubSubClient): Arduino library for publishing and receiving MQTT messages directly from a microcontroller with a network module.
  • Adafruit / SparkFun: manufacturers of shields and breakout boards with quality Arduino libraries for hundreds of sensors.
  • Fritzing: circuit design and wiring documentation tool, compatible with Arduino components.

Conclusion

Arduino remains the reference platform for electronic prototyping and low-power IoT nodes. Its programming simplicity, minimal cost, and complementarity with the Raspberry Pi make it an indispensable tool in the IoT toolkit. At Kern-IT, we combine Arduino and Raspberry Pi to create optimal connected sensor solutions: Arduino for real-time acquisition and battery autonomy, Raspberry Pi for local processing and network connectivity, all connected to our Django backend and visualised on KERN MAP for complete operational intelligence.

Conseil Pro

For IoT projects requiring Wi-Fi, prefer the ESP32 (programmable with the Arduino IDE) over the Arduino + Wi-Fi shield combo. The ESP32 integrates Wi-Fi, Bluetooth, more memory, and a dual core, all for less than 5 euros per module. It offers the best features-to-price ratio in the Arduino ecosystem.

Un projet en tête ?

Discutons de comment nous pouvons vous aider à concrétiser vos idées.