Arduino Nano: everything you need to know about this development board

Arduino Nano

Arduino Nano is another version where you can find the famous Arduino development board. It’s small, but don’t be fooled by its size, it hides a lot of possibilities. It’s like a real Swiss Army knife in electronics. You can use it to create a lot of projects where it’s important to keep consumption and size in check.

Like all Arduino and compatible plates, it has similarities with its older sisters, although it also has certain technical characteristics that are unique and different from the others. In this article you will be able to see all those similarities and differences in order to understand everything you need to know about this board and start developing your own DIY projects with Arduino Nano.

What is Arduino Nano?

Arduino is already a classic in the free hardware and maker world. With its development and software beaches you can create many projects where the limit is your imagination and well… some technical limitations of course. But they allow you to learn electronics, programming and also to create real wonders.

Even professional projects are based on these development boards. In the case of Arduino Nano, it is a reduced version of Arduino UNO. This minimizes the energy demand it consumes and also means that less space is needed to house the bale, making it ideal for projects where size matters.

This is not Arduino UNO miniaturized plate exactly, as you will see there are some important technical differences. Nor is it an alternative to LilyPad. But it shares other characteristics and the essence that is present in all Arduino projects. Of course, it can be programmed with the same Arduino IDE as the rest.

Buy Arduino Nano

Technical features

Arduino Nano technical characteristics

The Arduino Nano board has some technical characteristics that you should know before starting with it, besides to evaluate if it is what you need for your project or it does not meet your expectations.

Those technical features are:


  • IIt is a small, flexible and easy to use microcontroller board.
  • It is based on the microcontroller or MCU Atmel ATmega328p in versions 3.x and ATmega168 in other previous ones.  In any case it works at a frequency of 16 Mhz.
  • The memory consists of 16 KB or 32 KB flash depending on the version (2KB used for the boot loader), with 1 or 2 KB SRAM memory and a 512 bytes EEPROM or 1 KB depending on the MCU.
  • It has a power supply voltage of 5v, but the input voltage can vary from 7 to 12v.
  • It has 14 digital pins, 8 analog pins, 2 reset pins and 6 power pins (Vcc and GND). Of the analog and digital pins, they have several extra functions assigned as pinMode() and digitalWrite() and analogRead() for the analog ones. In the case of analog, they allow 10-bit resolution from 0 to 5v. In the digital ones, 22 can be used as PWM outputs.
  • It does not include a direct current outlet.
  • It uses a standard mini-USB for its connection to the computer for programming or power.
  • Its power consumption is 19mA.
  • The size of the PCB is 18x45mm with a weight of only 7 grams.

Pinout and datasheet


pinout Arduino Nano

In this image courtesy of Arduino you can see ‘the pinout’ or the pin and connection layout that you can find on this development board. As you can see, Arduino Nano doesn’t have as many I/O pins as his sisters, but he has a considerable amount for most projects.

If you want to see more details, you can access the datasheets that exist for this Arduino Nano version:

Differences with other Arduino Mini and Micro plates

Placas de Arduino

Inside the official Arduinos you can find those versions we’ve been talking about in this blog, like UNO, Mega, etc. One more is this Arduino Nano, which has the following differences that you have seen in the previous sections.

However, to summarize the most important ones, these are the most important compared to the other official small plates:

  • It was designed with the same objective as the Arduino Mini, only Nano has a miniUSB port to program and power it.
  • Its price is between the Arduino Mini and the Arduino Micro.
  • The rest of the features can be seen in the following table:


Arduino Mini>

Arduino Micro

Arduino Nano>





Operating voltage

5 V

5 V

5 V

Supply voltage

7-9 V

7-12 V

7-9 V

Operating frequency

16 MHz

16 MHz

16 MHz

Analytical inputs/outputs




Digital inputs/outputs











0.512 / 0




1 / 2

Flash (kB)



16 / 32

Programming port and main power supply

by means of a card or an FTDI cable







3 x 1.8 cm 4.8 x 1.77 cm 4.5 x 1.8 cm


The Arduino Nano board is compatible with all types of electronic components as the rest of the boards. There are no limitations beyond the maximum current and voltage limitations it supports. But otherwise, you can use any component you want from href=”” target=”_blank” rel=”noopener noreferrer”>all seen in HwLibre.

Start with Arduino Nano

Screenshot of Arduino IDE

As I said, you can use the same software to program and get started with this development board. Therefore, Arduino Nano can be used with the same Arduino IDE software that is used for the rest of the boards. You know that this software is quite flexible and even allows to use other different development boards than Arduino .

To start with an example of how to program Arduino Nano, you can use the following electronic schematic to connect a simple LCD screen to the display:

Arduino Nano LCD scheme

Although the board that appears in this drawing with Fritzing is ONE, is the same for Nano, you only have to connect it to the corresponding pins… That is, you can connect the following:LCD RS to pin D12 of Nano.

  • LCD Enable to D11 Nano.
  • Nano LCD D4 to D5.
  • Nano LCD D5 to D4
  • Nano LCD D6 to D3
  • Nano LCD D7 to D2
  • VO LCD at 5v power. On this line you should set the 10k resistor that appears in the picture.
  • On the other hand, you also have to connect GND of the LCD to a GND of the board.
  • You know that pins 15 and 16 of the LCD are to change the brightness of the screen and go with a potentiometer to regulate.

As for the sketch code, you can use the following example to start seeing how it works. Remember to use the LiquidCrystal library for LCD displays. You can see more information in our free Arduino programming course.

#include <LiquidCrystal.h> // Don't forget to download the library

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {

//Set the number of columns and rows on the LCD

lcd.begin(16, 2);

// Print message on LCD

lcd.print("HOLA MUNDO!");

void loop() {

//Place cursor on column 0, line 1

lcd.setCursor(0, 1);

// Print the number of seconds since reset

lcd.setCursor(0, 1);
lcd.print(millis() / 1000);


Leave a Comment