In this article we look at the Arduino Uno, in my opinion still the best board to start with.
This is an easy to use board with an abundance of examples available online and the IDE works with the board out of the box.
There are a wide range of libraries for sensors and modules available, if you want to use these they can save a great day of development time. Of course you don’t have to use them.
As well as that there is a huge range of tutorials, code examples and help online – its about as well documented as it gets.
There are also many shields available which add functionality to this board – an important shield would be one that gives you network or Wifi capabilities as the Arduino Uno does not have this by default.
Features
The ATmega328 has 32 KB (with 0.5 KB occupied by the bootloader). It has 2 KB of SRAM and 1 KB of EEPROM, you can use the EEPROM library to access the EEPROM.
Microcontroller | ATmega328P |
Operating Voltage | 5V |
Input Voltage (recommended) | 7-12V |
Input Voltage (limit) | 6-20V |
Digital I/O Pins | 14 (of which 6 are PWM, Pins 3, 5, 6, 9, 10 and 11) |
PWM Digital I/O Pins | 6 |
Analog Input Pins | 6 |
DC Current per I/O Pin | 20 mA |
DC Current for 3.3V Pin | 50 mA |
UART |
1 |
SPI | 1 |
I2C | 1 |
Flash Memory | 32 KB (ATmega328P) of which 0.5 KB used by bootloader |
SRAM | 2 KB (ATmega328P) |
EEPROM | 1 KB (ATmega328P) |
Clock Speed | 16 MHz |
LED_BUILTIN | 13 |
Power
The power pins are as follows:
Vin. The input voltage to the board when it’s using an external power source. You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.
5V. This pin outputs a regulated 5V from the regulator on the board. The board can be supplied with power either from the DC power jack (7 – 12V), the USB connector (5V), or the VIN pin of the board (7-12V). Supplying voltage via the 5V or 3.3V pins bypasses the on-board regulator, and can damage the board.
3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.
GND. Ground pins.
IOREF. This pin on the board provides the voltage reference with which the microcontroller operates. A properly configured shield can read the IOREF pin voltage and select the appropriate power source or enable voltage translators on the outputs for working with the 5V or 3.3V.
Pins
Each of the 14 digital pins on the Mega can be used as an input or output. They are all 5 volt tolerant. A maximum of 40mA is the value that must not be exceeded to avoid damaging the microcontroller.
The Arduino Uno has 6 analog inputs, each of which provide 10 bits of resolution. By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin.
Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data.
External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value.
PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output.
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication using the SPI library.
LED: 13. There is a built-in LED driven by digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it’s off.
TWI/I2C: A4 or SDA pin and A5 or SCL pin.
AREF. Reference voltage for the analog inputs.
Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board.
Here is a pinout of the board
Installation
The board works out the box with the desktop IDE and the online IDE.
Many examples online
Cost
The price varies wildly on these boards – these are all clone options and all affiliate links.
Site | Link | Price |
Amazon.com | ELEGOO UNO R3 Board ATmega328P with USB Cable(Arduino-Compatible) for Arduino | $14.99 |
Aliexpress | UNO R3 Development Board | $4.66 |
Amazon.co.uk | ELEGOO UNO R3 Board with USB Cable Compatible with Arduino IDE Projects RoHS Compliant | £9.99 |
Summary
The best board to get on your Arduino development journey, you can even get a kit with an arduino and many components and modules for relatively low cost.