kids encyclopedia robot

Arduino facts for kids

Kids Encyclopedia Facts
Quick facts for kids
Arduino
Arduino Logo Registered.svg
Arduino Uno - R3.jpg
Arduino Uno SMD R3
Manufacturer Arduino
Type Single-board microcontroller
Operating system None, with bootloader (default)
Xinu
FreeRTOS
CPU
  • Atmel AVR (8-bit)
  • ARM Cortex-M0+ (32-bit)
  • ARM Cortex-M3 (32-bit)
  • Intel Quark (x86) (32-bit)
Memory SRAM
Storage Flash, EEPROM

Arduino is an Italian company and a big community of users. They create and build special small computers called single-board microcontrollers. These are like tiny brains for making digital devices. Arduino also makes kits to help you build these devices.

The designs for Arduino hardware are open-source. This means anyone can use them to make their own Arduino boards. The software is also open-source, so people can share and change it. You can buy official Arduino boards from their website or other stores.

Arduino boards use different types of tiny computer chips. They have special pins for connecting to other parts. These pins are called digital and analog input/output (I/O) pins. You can connect them to expansion boards called 'shields' or to breadboards for testing. Arduino boards also have ways to connect to other devices, like through Universal Serial Bus (USB). This USB connection is also used to load programs onto the board.

You can program these microcontrollers using C and C++ programming languages. There is a special way to write these programs called the Arduino Programming Language. It is used with a special program called the integrated development environment (IDE).

The Arduino project started in 2005 in Italy. It was made for students to easily create devices. These devices could interact with the world using sensors and other parts. Simple robots, thermostats, and motion detectors are common projects for beginners.

The name Arduino comes from a café in Italy. Some of the project's founders used to meet there. The café was named after Arduin of Ivrea, a king of Italy long ago.

How Arduino Started

The first Arduino
The first prototype of an Arduino board

The Arduino project began at a design school in Italy. Back then, students used expensive microcontrollers that cost about $50. In 2004, a student named Hernando Barragán created a simpler, cheaper system called Wiring. This system had a circuit board, a programming tool, and libraries to make programming easier.

In 2005, Massimo Banzi, David Mellis, and David Cuartielles improved Wiring. They made it work with an even cheaper microcontroller. This new project was named Arduino. The first Arduino team included Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, and David Mellis.

After the platform was finished, lighter and cheaper versions were shared. By 2011, over 300,000 official Arduino boards were made. By 2013, about 700,000 official boards were being used by people.

Challenges and Changes

In 2008, the five founders created a company called Arduino LLC. This company was meant to own the Arduino name. Other companies would make and sell the boards, and Arduino LLC would get a small fee.

However, one of the founders, Gianluca Martino, secretly registered the Arduino name in Italy. This caused a big problem when the Arduino company tried to register the name in other countries. Negotiations to fix this did not work. In 2014, Martino's company stopped paying fees. They also changed their name to Arduino SRL and made a new website that looked like the original one. This caused a split in the Arduino team.

In January 2015, Arduino LLC sued Arduino SRL. To solve the problem, Arduino LLC created a new name, Genuino. This name was used for boards sold outside the United States.

In October 2016, the leaders of both companies announced they would merge. They formed a new company called Arduino AG. By July 2017, a group founded by Massimo Banzi and other original founders bought Arduino AG. Fabio Violante became the new CEO. The Genuino name was no longer used, and all products went back to being called Arduino.

In October 2017, Arduino announced a partnership with Arm Holdings (ARM). Arduino said it would continue to work with all technology companies. The company started to grow again and release new designs.

In August 2018, Arduino released a new open-source tool. It is called `arduino-cli` and lets you program boards using text commands. In February 2019, Arduino launched its IoT Cloud service. This service helps connect Arduino projects to the internet. By February 2020, about 30 million people were using Arduino.

Arduino Hardware

Arduino-compatible R3 UNO Sku066313-01
An Arduino-compatible R3 Uno board without the official Arduino logo

Arduino is known for its open-source hardware. This means the designs for the boards are free for anyone to use. You can find these designs on the Arduino website.

Even though the designs are free, the creators ask that the name Arduino only be used for official products. Other companies that make similar boards often use names ending in -duino to show they are compatible.

Arduino316
An early Arduino board with an RS-232 serial interface (top left) and an Atmel ATmega8 microcontroller chip (black, bottom right). The pins are for connecting other parts.

Most Arduino boards have an Atmel 8-bit AVR microcontroller. These chips have different amounts of memory and pins. The 32-bit Arduino Due board was released in 2012. Boards have pins or connectors that make it easy to plug in other circuits. You can also add special modules called shields. Many shields can be stacked on top of each other. Most boards have a 5V power regulator and a 16 MHz clock. Some smaller designs, like the LilyPad, run at 8 MHz.

Arduino microcontrollers come with a special program called a bootloader. This program makes it easy to upload your own programs to the board's memory. Older Arduino boards used a serial connection to a computer. Newer boards use Universal Serial Bus (USB) to connect and upload programs.

UnoConnections
An official Arduino Uno R2 board showing where the input/output pins are located

Arduino boards have many input/output (I/O) pins. For example, the Uno board has 14 digital I/O pins. Six of these can create special signals called pulse-width modulated signals. It also has six analog input pins, which can also be used as digital I/O pins. These pins are at the top of the board. Many plug-in shields are available to add more features. Some Arduino boards, like the Nano, have pins on the bottom that can plug into breadboards for easy prototyping.

Many boards similar to Arduino exist. Some work exactly like an Arduino. Others add extra features, often for use in schools to build robots. Some change the shape of the board. There are also boards that use different processors, but still work with Arduino software.

Official Arduino Boards

The first official Arduino hardware was made by an Italian company. Some Arduino-branded boards were also designed by American companies. As of 2016, 17 different versions of Arduino hardware had been made.

Arduino Shields

Arduino boards use special expansion boards called shields. These shields plug right into the pins on an Arduino board. Shields can add many features. For example, they can control motors for 3D printing, provide GNSS (satellite navigation), or add Ethernet connections. Some shields even have liquid crystal display (LCD) screens. You can also make your own shields.

Arduino Software

You can write programs for Arduino hardware using many programming languages. These languages need special tools called compilers. Compilers turn your code into instructions the Arduino chip understands.

Arduino IDE (Older Version)

Arduino Legacy IDE
Arduino IDE - Blink.png
Screenshot of Arduino Legacy IDE showing Blink program
Developer(s) Arduino Software
Stable release
1.8.19 / 21 December 2021; 3 years ago (2021-12-21)
Written in Java, C, C++
Operating system Microsoft Windows, macOS, Linux
Platform IA-32, x86-64, ARM
Type Integrated development environment
License LGPL or GPL license

The Arduino integrated development environment (IDE) is a program for writing code. It works on Microsoft Windows, macOS, and Linux computers. This IDE is based on another program called Processing IDE. It helps you write programs in C and C++.

The IDE has a code editor where you can type your program. It has features like copying text, finding words, and highlighting code. It also has simple buttons to compile (turn your code into chip instructions) and upload programs to your Arduino board. The IDE's code is open-source, so anyone can see and change it.

The Arduino IDE includes a software library from the Wiring project. This library has many useful functions for input and output. Your code usually needs just two main functions: `setup()` and `loop()`. The IDE then combines your code with other parts to make a complete program. This program is then loaded onto the Arduino board. Over time, the Arduino IDE has become able to program many other types of microcontrollers too.

Arduino IDE 2.0 (Newer Version)

Arduino IDE
Arduino-IDE-2x-Blink.png
Screenshot of Arduino IDE 2.x showing Blink code
Developer(s) Arduino Software
Stable release
2.3.2 / 20 February 2024; 18 months ago (2024-02-20)
Written in TypeScript, JavaScript, Go
Operating system Microsoft Windows, macOS, Linux
Platform x86-64
Type Integrated development environment
License GNU Affero General Public License v3.0

A new version of the Arduino IDE was first shown in October 2019. It was called Arduino Pro IDE. A beta version was released in March 2021 and renamed IDE 2.0. The official stable version of Arduino IDE 2.0 was released on September 14, 2022.

This new IDE still uses the Arduino Command Line Interface (CLI). But it has many improvements. It looks more professional and helps you write code faster with features like autocompletion. The main new features are:

  • A modern, full-featured environment for writing code.
  • New ways to manage boards and libraries.
  • A project explorer to see all your files.
  • Basic autocompletion and code checking.
  • A serial monitor that can show graphs.
  • Dark mode and better display on different screens.
  • A 64-bit version for better performance.
  • The ability to debug your code.

Debugging is a very important feature in IDE 2.0. It lets you check your code step-by-step to find mistakes. You can pause the program and look at what's happening inside the chip. Some official Arduino boards, like the Arduino Zero, can be debugged easily. Other boards might need extra tools.

Arduino Sketches

A sketch is what an Arduino program is called. Sketches are saved as text files with the ending .ino. Older versions of the Arduino IDE used to save them as .pde files.

A basic Arduino program needs only two main parts:

  • `setup()`: This part runs only once when the Arduino board turns on or resets. It is used to set up things like pin modes (whether a pin is an input or output) and to start any libraries you need.
  • `loop()`: After `setup()` finishes, the `loop()` part runs over and over again. It keeps running until the board is turned off or reset. This is where your main program actions happen.

Blink Example

Power and Pin13 LED on Arduino Compatible Board
Power LED (red) and User LED (green) attached to pin 13 on an Arduino-compatible board

Most Arduino boards have a small light-emitting diode (LED) connected to pin 13. This LED is very useful for testing. A common first program for beginners is "blink." This program makes the LED on the board flash on and off. It uses functions like `pinMode()`, `digitalWrite()`, and `delay()`. These functions are part of the basic Arduino libraries. Manufacturers often load this "blink" program onto new Arduino boards.

const int LED_PIN = 13;             // Pin number attached to LED.

void setup() {
    pinMode(LED_PIN, OUTPUT);       // Configure pin 13 to be a digital output.
}

void loop() {
    digitalWrite(LED_PIN, HIGH);    // Turn on the LED.
    delay(1000);                    // Wait 1 second (1000 milliseconds).
    digitalWrite(LED_PIN, LOW);     // Turn off the LED.
    delay(1000);                    // Wait 1 second.
}

Sweep Example

Sweeping a servo motor with an Arduino means making it move back and forth. You can do this using the Servo library in Arduino. To sweep a servo, connect its power wire (red) to 5V on the Arduino. Connect its ground wire (black/brown) to GND. Connect its signal wire (yellow/white) to a special pin that can do PWM, like Pin 9. The code below makes the servo move slowly from 0 degrees to 180 degrees and then back again.

#include <Servo.h>

Servo myServo; // Create a Servo object

void setup() {
  myServo.attach(9); // Attach servo to pin 9
}

void loop() {
  for (int pos = 0; pos <= 180; pos++) { // Move from 0° to 180°
    myServo.write(pos);
    delay(15);
  }
  for (int pos = 180; pos >= 0; pos--) { // Move back from 180° to 0°
    myServo.write(pos);
    delay(15);
  }
}

Arduino Libraries

Because Arduino is open-source, many free software libraries have been created. Other developers can use these libraries to add new features to their projects.

Operating Systems and Threading

There are special versions of operating systems that can run on Arduino boards. For example, a version of the Xinu OS works on the ATmega328P chip (found in Arduino Uno). This version is also open-source.

There is also a tool called Protothreads. These are very small, simple ways to run multiple tasks at once. They are designed for tiny systems with limited memory. A version of FreeRTOS also works with Arduino. You can find it in the Arduino Library Manager. It works with many boards, including the Uno.

Arduino Applications

Arduino boards are used in many cool projects:

  • Arduboy: A small handheld game console based on Arduino.
  • Arduinome: A MIDI controller that looks like a Monome.
  • Ardupilot: Software and hardware for drones.
  • ArduSat: A small satellite called a cubesat that uses Arduino.
  • C-STEM Studio: A platform for learning about computers, science, technology, engineering, and math using robots.
  • Data loggers for scientific research.
  • OBDuino: A trip computer for cars that uses the car's diagnostic port.
  • OpenEVSE: An open-source charger for electric vehicles.
  • XOD: A visual programming language for Arduino.

Arduino Simulation

  • Tinkercad Circuits: This online tool lets you design 3D models. It also has a simulator that supports Arduino. You can test your Arduino circuits virtually before building them.

Recognitions

The Arduino project received a special mention in the Digital Communities category at the 2006 Prix Ars Electronica.

The Arduino Engineering Kit won the Bett Award in 2020. It won for "Higher Education or Further Education Digital Services."

See also

Kids robot.svg In Spanish: Arduino para niños

  • List of Arduino boards and compatible systems
  • List of open-source hardware projects
  • Calliope mini
  • BBC micro:bit
  • Raspberry Pi
kids search engine
Arduino Facts for Kids. Kiddle Encyclopedia.