Arduino Overview
Arduino is a prototype platform (open-source) based on easy-to-use hardware and software. It consists of a circuit board, which can be programed (referred to as a microcontroller), and a ready-made software called Arduino IDE (Integrated Development Environment), which is used to write and upload the computer code to the physical board.
The key features are:
Arduino boards are able to read analog or digital input signals from different sensors and turn it into an output such as activating a motor, turning LED on/off, connecting to the cloud, 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, 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
- Additionally, the Arduino IDE uses a simplified version of C++, making it easier to learn to
- Finally, Arduino provides a standard form factor that breaks the functions of the micro-controller into a more accessible
Features of Arduino Uno Board
The features of Arduino Uno ATmega328 include the following.
- The operating voltage is 5V
- The recommended input voltage will range from 7v to 12V
- The input voltage ranges from 6v to 20V
- Digital input/output pins are 14
- Analog i/p pins are 6
- DC Current for each input/output pin is 40 mA
- DC Current for 3.3V Pin is 50 mA
- Flash Memory is 32 KB
- SRAM is 2 KB
- EEPROM is 1 KB
- CLK Speed is 16 MHz
Power Supply
The Arduino Uno power supply can be done with the help of a USB cable or an external power supply. The external power supplies mainly include AC to DC adapter otherwise a battery. The adapter can be connected to the Arduino Uno by plugging into the power jack of the Arduino board. Similarly, the battery leads can be connected to the Vin pin and the GND pin of the POWER connector. The suggested voltage range will be 7 volts to 12 volts.
Input & Output
The 14 digital pins on the Arduino Uno can be used as input & output with the help of the functions like pinMode(), digitalWrite(), & Digital Read().
- Pin1 (TX) & Pin0 (RX) (Serial): This pin is used to transmit & receive TTL serial data, and these are connected to the ATmega8U2 USB to TTL Serial chip equivalent pins.
- Pin 2 & Pin 3 (External Interrupts): External pins can be connected to activate an interrupt over a low value, change in value.
- Pins 3, 5, 6, 9, 10, & 11 (PWM): This pin gives 8-bit PWM o/p by the function of analogWrite().
- SPI Pins (Pin-10 (SS), Pin-11 (MOSI), Pin-12 (MISO), Pin-13 (SCK): These pins maintain SPI-communication, even though offered by the fundamental hardware, is not presently included within the Arduino language.
- Pin-13(LED): The inbuilt LED can be connected to pin-13 (digital pin). As the HIGH-value pin, the light-emitting diode is activated, whenever the pin is LOW.
- Pin-4 (SDA) & Pin-5 (SCL) (I2C): It supports TWI-communication with the help of the Wire library.
- AREF (Reference Voltage): The reference voltage is for the analog i/ps with analogReference().
- Reset Pin: This pin is used for resetting (RST) the microcontroller.
Memory
The memory of this Atmega328 Arduino microcontroller includes flash memory-32 KB for storing code, SRAM-2 KB EEPROM-1 KB.
Communication
The Arduino Uno ATmega328 offers UART TTL-serial communication, and it is accessible on digital pins like TX (1) and RX (0). The software of an Arduino has a serial monitor that permits easy data. There are two LEDs on the board RX & TX which will blink whenever data is being broadcasted through the USB.
A SoftwareSerial library permits for serial communication on Arduino Uno digital pins and the ATmega328P supports TWI (I2C) as well as SPI-communication. The Arduino software contains a wired library for simplifying the utilization of the I2C bus.
How to Use an Arduino Uno?
Arduino Uno can detect the surroundings from the input. Here the input is a variety of sensors and these can affect its surroundings through controlling motors, lights, other actuators, etc. The ATmega328 microcontroller on the Arduino board can be programmed with the help of an Arduino programming language and the IDE (Integrated Development Environment). Arduino projects can communicate by software while running on a PC.
Arduino Programming
Once the Arduino IDE tool is installed on the PC, attach the Arduino board to the computer with the help of a USB cable. Open the Arduino IDE & select the right board by choosing Tools–>Board–>Arduino Uno, and select the right Port by choosing Tools–>Port. This board can be programmed with the help of an Arduino programming language depending on Wiring.
To activate the Arduino board & flash the LED on the board, dump the program code with the selection of Files–>Examples–>Basics–>Flash. When the programming codes are dumped into the IDE, then click the button ‘upload’ on the top bar. Once this process is completed, check the LED flash on the board.
High Voltage Protection of USB
The Arduino Uno board has a rearrangeable poly fuse that defends the USB port of the PC from over-voltage. Though most of the PCs have their own inner protection, the fuse gives an additional coating of safety. If above 500mA is given to the USB port, then the fuse will routinely crack the connection until the over-voltage is removed.
Physical Characteristics
The physical characteristics of an Arduino board mainly include length and width. The printed circuit board of the Arduino Uno length and width are 2.7 X 2.1 inches, but the power jack and the USB connector will extend beyond the previous measurement. The board can be attached to the surface otherwise case with the screw holes.
Applications of Arduino Uno ATmega328
The applications of Arduino Uno include the following.
- Arduino Uno is used in Do-it-Yourself projects prototyping.
- In developing projects based on code-based control
- Development of Automation System
- Designing basic circuit designs.
Thus, this is all about the Arduino Uno datasheet. From the above information finally, we can conclude that this is an 8-bit ATmega328P microcontroller. It has different components like serial communication, crystal oscillator, the voltage regulator for supporting the microcontroller. This board includes a USB connection, digital I/O pins-14, analog i/p pins-6, a power-barrel jack, a reset button, and an ICSP header.
Board Types
The ATmega328 is one kind of single-chip microcontroller formed with Atmel within the megaAVR family. The architecture of this Arduino Uno is a customized Harvard architecture with an 8 bit RISC processor core.
Other boards of Arduino Uno include Arduino Pro Mini, Arduino Nano, Arduino Due, Arduino Mega, and Arduino Leonardo.
Arduino Uno ATmega328
Various kinds of Arduino boards are available depending on the different microcontrollers used. However, all Arduino boards have one thing in common: they are programmed through the Arduino IDE.
The differences are based on the number of inputs and outputs (the number of sensors, LEDs, and buttons you can use on a single board), speed, operating voltage, form factor, etc. Some boards are designed to be embedded and have no programming interface (hardware), which you would need to buy separately. Some can run directly from a 3.7V battery, others need at least 5V.
Here is a list of different Arduino boards available.
Arduino boards based on ATMEGA328 microcontroller
Board Name | Operating Volt | Clock Speed | Digital i/o | Analog Inputs | PWM | UART | Programming Interface |
Arduino Uno R3 | 5V | 16MHz | 14 | 6 | 6 | 1 | USB via ATMega16U2 |
Arduino Uno R3 SMD | 5V | 16MHz | 14 | 6 | 6 | 1 | USB via ATMega16U2 |
Red Board | 5V | 16MHz | 14 | 6 | 6 | 1 | USB via FTDI |
Arduino Pro 3.3v/8 MHz |
3.3V |
8 MHz |
14 |
6 |
6 |
1 |
FTDI-
Compatible Header |
Arduino Pro 5V/16MHz |
5V |
16MHz |
14 |
6 |
6 |
1 |
FTDI-
Compatible Header |
Arduino mini 05 |
5V |
16MHz |
14 |
8 |
6 |
1 |
FTDI-
Compatible Header |
Arduino Pro mini 3.3v/8mhz |
3.3V |
8MHz |
14 |
8 |
6 |
1 |
FTDI-
Compatible Header |
Arduino Pro mini 5v/16mhz |
5V |
16MHz |
14 |
8 |
6 |
1 |
FTDI-
Compatible Header |
Arduino Ethernet |
5V |
16MHz |
14 |
6 |
6 |
1 |
FTDI-
Compatible Header |
Arduino Fio |
3.3V |
8MHz |
14 |
8 |
6 |
1 |
FTDI-
Compatible Header |
LilyPad Arduino 328 main board |
3.3V |
8MHz |
14 |
6 |
6 |
1 |
FTDI-
Compatible Header |
LilyPad Arduino simply board |
3.3V |
8MHz |
9 |
4 |
5 |
0 |
FTDI-
Compatible Header |
Arduino boards based on ATMEGA32u4 microcontroller
Board Name | Operating Volt | Clock Speed | Digital i/o | Analog Inputs | PWM | UART | Programming Interface |
Arduino Leonardo | 5V | 16MHz | 20 | 12 | 7 | 1 | Native USB |
Pro micro 5V/16MHz | 5V | 16MHz | 14 | 6 | 6 | 1 | Native USB |
Pro micro 3.3V/8MHz | 5V | 16MHz | 14 | 6 | 6 | 1 | Native USB |
LilyPad Arduino USB | 3.3V | 8MHz | 14 | 6 | 6 | 1 | Native USB |
Arduino boards based on ATMEGA2560 microcontroller
Board Name | Operating Volt | Clock Speed | Digital i/o | Analog Inputs | PWM | UART | Programming Interface |
Arduino Mega 2560 R3 |
5V |
16MHz |
54 |
16 |
14 |
4 |
USB via ATMega16U2 |
Mega Pro 3.3V |
3.3V |
8MHz |
54 |
16 |
14 |
4 |
FTDI-
Compatible Header |
Mega Pro 5V |
5V |
16MHz |
54 |
16 |
14 |
4 |
FTDI-
Compatible Header |
Mega Pro Mini
3.3V |
3.3V |
8MHz |
54 |
16 |
14 |
4 |
FTDI-
Compatible Header |
Arduino boards based on AT91SAM3X8E microcontroller
Board Name | Operating Volt | Clock Speed | Digital i/o | Analog Inputs | PWM | UART | Programming Interface |
Arduino Due | 3.3V | 84MHz | 54 | 12 | 12 | 4 | USB native |
Arduino Board Description
Now, we will learn about the different components of the Arduino board. We will study the Arduino UNO board because it is the most popular board in the Arduino board family. In addition, it is the best board to get started with electronics and coding. Some boards look a bit different from the one given below, but most Arduinos have the majority of these components in common.
1. Power USB
Arduino board can be powered by using the USB cable from your computer. All you need to do is connect the USB cable to the USB connection (1).
2. Power (Barrel Jack)
Arduino boards can be powered directly from the AC mains power supply by connecting it to the Barrel Jack (2).
3. Voltage Regulator
The function of the voltage regulator is to control the voltage given to the Arduino board and stabilize the DC voltages used by the processor and other elements.
4. Crystal Oscillator
The crystal oscillator helps Arduino in dealing with time issues. How does Arduino calculate time? The answer is, by using the crystal oscillator. The number printed on top of the Arduino crystal is 16.000H9H. It tells us that the frequency is 16,000,000 Hertz or 16 MHz.
5,17.Arduino Reset
You can reset your Arduino board, i.e., start your program from the beginning. You can reset the UNO board in two ways. First, by using the reset button (17) on the board. Second, you can connect an external reset button to the Arduino pin labeled RESET (5).
6,7,8,9.Pins (3.3, 5, GND, Vin)
- 3V (6): Supply 3.3 output volt
- 5V (7): Supply 5 output volt
- Most of the components used with the Arduino board works fine with 3.3 volts and 5
- GND (8)(Ground): There are several GND pins on the Arduino, any of which can be used to ground your
- Vin (9): This pin also can be used to power the Arduino board from an external power source, like AC mains power
10. Analog pins
The Arduino UNO board has five analog input pins A0 through A5. These pins can read the signal from an analog sensor like the humidity sensor or temperature sensor and convert it into a digital value that can be read by the microprocessor.
11. Main microcontroller
Each Arduino board has its own microcontroller (11). You can assume it as the brain of your board. The main IC (integrated circuit) on the Arduino is slightly different from board to board. The microcontrollers are usually of the ATMEL Company. You must know what IC your board has before loading up a new program from the Arduino IDE. This information is available on the top of the IC. For more details about the IC construction and functions, you can refer to the datasheet.
12. ICSP pin
Mostly, ICSP (12) is an AVR, a tiny programming header for the Arduino consisting of MOSI, MISO, SCK, RESET, VCC, and GND. It is often referred to as an SPI (Serial Peripheral Interface), which could be considered as an “expansion” of the output. Actually, you are slaving the output device to the master of the SPI bus.
13. Power LED indicator
This LED should light up when you plug your Arduino into a power source to indicate that your board is powered up correctly. If this light does not turn on, then there is something wrong with the connection.
14. TX and RX LEDs
On your board, you will find two labels: TX (transmit) and RX (receive). They appear in two places on the Arduino UNO board. First, at the digital pins 0 and 1, to indicate the pins responsible for serial communication. Second, the TX and RX led (13). The TX led flashes with different speeds while sending the serial data. The speed of flashing depends on the baud rate used by the board. RX flashes during the receiving process.
15. Digital I / O
The Arduino UNO board has 14 digital I/O pins (15) (of which 6 provide PWM (Pulse Width Modulation) output. These pins can be configured to work as input digital pins to read logic values (0 or 1) or as digital output pins to drive different modules like LEDs, relays, etc. The pins labeled “~” can be used to generate PWM.
16. AREF
AREF stands for Analog Reference. It is sometimes, used to set an external reference voltage (between 0 and 5 Volts) as the upper limit for the analog input pins