Arduino UNO Board Anatomy - RoboRaceOrg/Autonomous-Racing-Robot GitHub Wiki

Arduino boards senses the environment by receiving inputs from many sensors, and affects their surroundings by controlling lights, motors, and other actuators. Arduino boards are the microcontroller development platform that will be at the heart of your projects. When making something you will be building the circuits and interfaces for interaction, and telling the microcontroller how to interface with other components. Here the anatomy of Arduino UNO.

BoardAnatomy

  1. Digital pins Use these pins with digitalRead(), digitalWrite(), and analogWrite(). analogWrite() works only on the pins with the PWM symbol.
  2. Pin 13 LED The only actuator built-in to your board. Besides being a handy target for your first blink sketch, this LED is very useful for debugging.
  3. Power LED Indicates that your Arduino is receiving power. Useful for debugging.
  4. ATmega microcontroller The heart of your board.
  5. Analog in Use these pins with analogRead().
  6. GND and 5V pins Use these pins to provide +5V power and ground to your circuits.
  7. Power connector This is how you power your Arduino when it's not plugged into a USB port for power. Can accept voltages between 7-12V.
  8. TX and RX LEDs These LEDs indicate communication between your Arduino and your computer. Expect them to flicker rapidly during sketch upload as well as during serial communication. Useful for debugging.
  9. USB port Used for powering your Arduino UNO, uploading your sketches to your Arduino, and for communicating with your Arduino sketch (via Serial. println() etc.).
  10. Reset button Resets the ATmega microcontroller.

Arduino UNO Pinout

The following image shows the complete pinout of Arduino UNO Board. High-Res-Arduino-UNO-Pinout

Pin Number Pin Name Description Alternative Functions
1 RX / D0 Digital IO Pin 0 Serial RX Pin Generally used as RX
2 TX / D1 Digital IO Pin 1 Serial TX Pin Generally used as TX
3 D2 Digital IO Pin 2
4 D3 Digital IO Pin 3 Timer (OC2B)
5 D4 Digital IO Pin 4 Timer (T0/XCK)
6 D5 Digital IO Pin 5 Timer (OC0B/T1)
7 D6 Digital IO Pin 6
8 D7 Digital IO Pin 7
9 D8 Digital IO Pin 8 Timer (CLK0/ICP1)
10 D9 Digital IO Pin 9 Timer (OC1A)
11 D10 Digital IO Pin 10 Timer (OC1B)
12 D11 Digital IO Pin 11 SPI (MOSI) Timer (OC2A)
13 D12 Digital IO Pin 12 SPI (MISO)
14 D13 Digital IO Pin 13 SPI (SCK)
15 GND Ground Text
16 AREF Analog Reference
17 SDA / D18 Digital IO Pin 18 I2C Data Pin
18 SCL / D19 Digital IO Pin 19 I2C Clock Pin
19 NC Not Connected
20 IOREF Voltage Reference
21 RESET Reset (Active LOW)
22 3V3 Power
23 5V +5V Output from regulator or +5V regulated Input
24 GND Ground
25 GND Ground
26 VIN Unregulated Supply
27 A0 Analog Input 0 Digital IO Pin 14
28 A1 Analog Input 1 Digital IO Pin 15
29 A2 Analog Input 2 Digital IO Pin 16
30 A3 Analog Input 3 Digital IO Pin 17
31 A4 Analog Input 4 Digital IO Pin 18 I2C (SDA)
32 A5 Analog Input 5 Digital IO Pin 19 I2C (SCL)

The following table describes the pins of the ICSP Connector.

NAME DESCRIPTION
MISO Master In Slave Out (Input or Output)
5V Supply
SCK Clock (from Master to Slave)
MOSI Master Out Slave In (Input or Output)
RESET Reset (Active LOW)
GND Ground

There is also a similar ICSP connector known as ICSP1 associated with the ATmega16U Microcontroller. For more information on this connector, take a look at the Arduino UNO Pinout image.

Arduino UNO Board Layout

The following image shows the layout of a typical Arduino UNO board. All the components are placed on the top side of the PCB.

Arduino-UNO-Board-Layout

As you can notice, there is a Type-B USB connector on the left short edge of the board, which is used for powering on the board as well as programming the Microcontroller. There is also a 2.1 mm DC jack to provide external power supply.

How to power up the Arduino UNO

There are a couple of ways in which you can power the UNO board. The first and easy way is using the Type-B USB Connector. The next way is to provide an unregulated supply in the range of 6V to 20V to VIN pin of the UNO (Pin number 26).

You can also supply the unregulated supply through the 2.1mm DC Jack, in which case, you can access the supplied voltage through the VIN Pin.

Communication Interfaces are available on Arduino UNO

Arduino UNO supports three different types of communication interfaces. They are:

  • Serial
  • I2C or I2C
  • SPI

The most common communication interface in the Arduino universe is the Serial Communication. In fact, the Arduino boards (UNO or Nano or Mega) are programmed using the serial communication.

Digital IO pins 0 and 1 are used as Serial RX and TX pins to receive and transmit serial data. These pins are connected to the serial pins of the on-board USB to Serial Converter IC.

Analog Input Pins A4 and A5 have alternative functions. They can be configured as SDA (A4) and SCL (A5) to support I2C or I2C or Two Wire Interface (TWI) communication.

The final communication interface is the SPI. Digital IO Pins 10, 11 12 and 13 can be configured as SPI pins SS, MOSI, MISO and SCK respectively.

Types of Memory Available to Arduino UNO

e are three different memories available in ATmega328P. They are:

  • 32 KB of Flash Memory
  • 2 KB of SRAM
  • 1 KB of EEPROM
  • 0.5 KB of the Flash Memory is used by the bootloader code.

Programmable Input and Output Pins of Arduino UNO

Of the 32 pins available on the UNO board, 22 pins are associated with input and output. In that 14 pins (D0 to D13) are true digital IO pins, which can be configured as per you application using pinMode(), digitalWrite() and digitalRead() functions.

All these Digital IO pins are capable of sourcing or sinking 20mA of current (maximum 40mA is allowed). An additional feature of the Digital IO pins is the availability of internal pull-up resistor (which is not connected by default).

The value of the internal pull-up resistor will be in the range of 20KΩ to 50KΩ.

There are also 6 Analog Input Pins (A0 to A5). All the analog input pins provide a 10-bit resolution ADC feature, which can be read using analogRead() function.

An important point about Analog Input pins is that they can be configured as Digital IO pins, if required.

Digital IO pins 3, 5, 6, 9, 10 and 11 are capable of producing 8-bit PWM Signals. You can use analogWrite() function for this.