Component · Controller

Arduino Uno

The Arduino Uno is the most common microcontroller board for learning robotics—5V logic, simple to program, hard to break. What it does and when to use it.

What it is

The Arduino Uno is a small development board built around Microchip’s ATmega328P, an 8-bit microcontroller. It exposes the chip’s pins on labelled headers, adds a USB port for programming and power, and handles the fiddly parts—the voltage regulator, the clock crystal, the reset circuit—so you can focus on your code and your wiring. For a huge share of robotics learners, the Uno is how they first make a motor spin or a sensor light up.

Its lasting appeal is not raw power—by modern standards it is slow and memory-starved. It is forgiveness. The 5 V pins tolerate the wiring mistakes beginners make, the community has answered nearly every question you can ask, and almost every hobby sensor and driver ships with example code that assumes an Uno.

Labelled diagram of an Arduino Uno board: a USB-B port and DC barrel jack on the left edge, the ATmega328P microcontroller in the centre, a digital I/O header for pins D0 to D13 along the top edge, and power and analog input headers (A0 to A5) along the bottom edge.
The Arduino Uno at a glance: USB and DC power on the left, the ATmega328P doing the thinking, digital I/O along the top edge, and power plus analog inputs along the bottom. Download SVG

How it works

You write a sketch—a C++ program with two functions. setup() runs once when the board powers on; loop() runs forever after that. Inside them you read inputs and drive outputs through the pins:

  • Digital pins read or write a HIGH/LOW (5 V / 0 V) signal—a button press, an LED, the direction input of a motor driver.
  • PWM pins (marked ~) fake an analog voltage by switching on and off very fast. This is how you set motor speed or LED brightness.
  • Analog inputs measure a voltage from 0–5 V and report it as a number from 0–1023. This is how you read a potentiometer or an analog line sensor.

The Uno has no operating system. Your code is the only thing running, which makes timing predictable—valuable when you are closing a control loop around a real robot.

When to use it

Reach for an Uno when you are learning, when you want the largest possible pile of compatible tutorials and libraries, or when your robot’s job is simple and real-time: read a few sensors, run a control loop, drive two motors. A line follower, an obstacle-avoider, or a small differential-drive rover are squarely in its comfort zone.

Look elsewhere when you need Wi-Fi or Bluetooth (an ESP32 is the usual upgrade), heavy math or camera vision (a Raspberry Pi), or lots of memory. The Uno’s 2 KB of SRAM fills up faster than beginners expect—long strings and big arrays are the usual culprits.

Common gotchas

  • It is a 5 V board. Many modern sensors are 3.3 V and can be damaged by 5 V logic. Check the datasheet before wiring.
  • Don’t power motors from the board. The Uno’s regulator can’t supply motor current; use a separate battery and a motor driver. Powering motors directly through the Uno is the most common way beginners brown-out or reset their board.
  • delay() blocks everything. While the board is in a delay(), it can’t read sensors or react. For anything responsive, track time with millis() instead.
  • Watch your memory. If the board behaves erratically for no clear reason, you may be out of SRAM.

Explore the graph

Used in these builds

Projects, learning paths, and simulators that include the Arduino Uno.

Compare

Alternatives

Questions

Arduino Uno FAQ

What is the Arduino Uno?

The Arduino Uno is a beginner-friendly microcontroller board built around the ATmega328P chip. It lets you read sensors and control motors, LEDs, and other electronics with short C++ programs called sketches, and it is the board most people learn robotics on.

What is the Arduino Uno used for in robotics?

In robotics the Uno acts as the robot's brain: it reads sensors, runs a control loop, and drives motors through a driver such as the L298N. It suits line followers, obstacle-avoiders, and small rovers where the job is simple and needs predictable, real-time timing.

Which microcontroller is used in the Arduino Uno?

The Arduino Uno uses Microchip's ATmega328P, an 8-bit AVR microcontroller running at 16 MHz with 32 KB of flash and 2 KB of SRAM. The board adds a USB interface, a voltage regulator, and pin headers around that single chip.

Is the Arduino programmed in C or C++?

Arduino sketches are written in C++ with a simplified, beginner-friendly framework layered on top. You can use plain C too, since C is largely a subset of C++, but the standard Arduino functions and libraries are C++.

Is Arduino code difficult to learn?

No—Arduino is one of the gentlest ways into programming hardware. The two-function structure of setup and loop, a huge library ecosystem, and thousands of example sketches mean a beginner can blink an LED or spin a motor within an hour.

Which is better for robotics, Arduino or Raspberry Pi?

They solve different problems. Arduino is a microcontroller—great for real-time control of motors and sensors with predictable timing. A Raspberry Pi is a full Linux computer—better for vision, heavy computation, or Wi-Fi. Many advanced robots use both: a Pi to think and an Arduino to act.

Why is the Arduino Uno so widely used?

Because it is forgiving and well-supported. Its 5 V pins tolerate the wiring mistakes beginners make, nearly every hobby sensor ships with Uno example code, and the community has answered almost every question—so you are rarely stuck for long.

Can I use ChatGPT or AI to write Arduino code?

Yes—AI assistants can draft and debug Arduino sketches and are a useful learning aid. Always test AI-generated code on the hardware before trusting it, because a plausible-looking sketch can still have the wrong pin numbers, timing, or logic.

Further reading

References