Arduino is an open-source platform used for building electronics projects. Arduino consists of both a physical programmable circuit board (often referred to as a microcontroller) and a piece of software, or IDE (Integrated Development Environment) that runs on your computer, used to write and upload computer code to the physical board.
Arduino board designs use a variety of microprocessors and controllers. The boards are equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards or breadboards (shields) and other circuits. The boards feature serial communications interfaces, including Universal Serial Bus (USB) on some models, which are also used for loading programs from personal computers.
Applications of Arduino Board
Arduboy, a handheld game console based on Arduino
Arduinome, a MIDI controller device that mimics the Monome
Ardupilot, drone software and hardware
ArduSat, a cubesat based on Arduino.
C-STEM Studio, a platform for hands-on integrated learning of computing, science, technology, engineering, and mathematics (C-STEM) with robotics.
Data loggers for scientific research.
OBDuino, a trip computer that uses the on-board diagnostics interface found in most modern cars
XOD, a visual programming language for Arduino
The Arduino Nano can be powered via the Mini-B USB connection, 6-20V unregulated external power supply (pin 30), or 5V regulated external power supply (pin 27). The power source is automatically selected to the highest voltage source.
The FTDI FT232RL chip on the Nano is only powered if the board is being powered over USB. As a result, when running on external (non-USB) power, the 3.3V output (which is supplied by the FTDI chip) is not available and the RX and TX LEDs will flicker if digital pins 0 or 1 are high.
The ATmega168 has 16 KB of flash memory for storing code (of which 2 KB is used for the bootloader); the ATmega328 has 32 KB, (also with 2 KB used for the bootloader). The ATmega168 has 1 KB of SRAM and 512 bytes of EEPROM (which can be read and written with the EEPROM library); the ATmega328 has 2 KB of SRAM and 1 KB of EEPROM.
Input and Output
Each of the 14 digital pins on the Nano can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 5 volts. Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms.
The Arduino Nano can be programmed with the Arduino software (download). Select “Arduino Diecimila, Duemilanove, or Nano w/ ATmega168” or “Arduino Duemilanove or Nano w/ ATmega328” from the Tools > Board menu (according to the microcontroller on your board).
Microcontroller Atmel ATmega168 or ATmega328
Operating Voltage: (logic level) 5 V
Input Voltage: (recommended) 7-12 V
Input Voltage: (limits) 6-20 V
Digital I/O Pins: 14 (of which 6 provide PWM output)
Analog Input Pins: 8
DC Current per I/O Pin: 40 mA
Flash Memory: 16 KB (ATmega168) or 32 KB (ATmega328) of which 2 KB used by bootloader
SRAM: 1 KB (ATmega168) or 2 KB (ATmega328)
EEPROM: 512 bytes (ATmega168) or 1 KB (ATmega328)
Clock Speed: 16 MHz
Dimensions: 0.73″ x 1.70″
Great platform for beginners.
Tiny size makes it perfect for compact projects.
Functionally the same as their larger counterparts.
Fits onto a breadboard making prototyping easier.
Lack of native connectivity limits possible Internet of Things (IoT) uses.
Limited on board memory can make complex programs difficult.
Choosing a micro controller can be a very situational task. In most cases the Nano is the perfect platform to learn about coding with the Arduino IDE, or basic electronics. Knowing the strengths and weaknesses of the board beforehand should help with choosing a board to fit your task.