Arduino Nano
The Arduino Nano is a compact, breadboard-compatible microcontroller board based on the ATmega328 8-bit AVR microcontroller, designed for rapid prototyping and embedding in small-scale electronic projects.[1] It features 14 digital input/output pins (of which 6 can be used as PWM outputs), 8 analog inputs, a 16 MHz clock speed, 32 KB of flash memory (with 2 KB used by the bootloader), 2 KB of SRAM, and 1 KB of EEPROM, all powered by a 5V operating voltage.[2] The board measures 45 mm in length by 18 mm in width and weighs 7 grams, with power supplied via a Mini-B USB port or an external 7-12 V source through the Vin pin, and it includes support for serial communication protocols such as UART, SPI, and I2C.[3][2] Programmable using the Arduino IDE and compatible with the Arduino programming language, the Nano enables the development of interactive applications in fields like robotics, sensor-based monitoring, and basic automation.[2] As the original member of the Arduino Nano family, it has inspired subsequent variants such as the Nano Every, Nano 33 IoT, Nano ESP32, and Nano R4, which retain the same form factor while incorporating modern processors, wireless connectivity, and enhanced peripherals for advanced IoT and machine learning projects.[4][5]History
Origins and initial release
The Arduino Nano was developed in 2008 by Gravitech Technologies, a US-based firm, as a compact iteration of the existing Arduino Diecimila and Duemilanove boards, specifically tailored for embedded projects where space limitations were a primary concern.[6][7] This design emphasized breadboard compatibility and a reduced physical size while preserving the core electrical characteristics of its predecessors, enabling seamless integration into prototypes and devices with constrained layouts.[6] The primary motivations behind the Nano's creation were to address the need for a smaller footprint in space-constrained applications, such as wearable electronics and compact robotics, without sacrificing functionality or expandability.[6][3] By maintaining pin compatibility with standard Arduino shields—through identical I/O pinouts and voltage levels—the board ensured interoperability with the broader Arduino ecosystem, allowing users to leverage existing peripherals and extensions via direct wiring or adapters.[1] This approach facilitated rapid prototyping in embedded environments where full-sized boards like the Duemilanove proved too bulky.[7] At its inception, the Arduino Nano featured the ATmega168 microcontroller, operating at 16 MHz with 16 KB of flash memory (of which 2 KB is used by the bootloader), 1 KB of SRAM, and 512 bytes of EEPROM, marking its introduction to the Arduino ecosystem in mid-2008. Later revisions, starting with the Nano 3.x around 2009, updated to the ATmega328P with 32 KB flash, 2 KB SRAM, and 1 KB EEPROM.[7][3] The board's initial specifications included 14 digital I/O pins (six with PWM support), eight analog inputs, and USB connectivity via a Mini-B port, all powered by an onboard regulator supporting 5V operation.[1] Following its development, the Nano entered production through a partnership with the Arduino team, which officially announced the board and integrated it into the open-source platform.[6] Initial distribution occurred via authorized electronics distributors, including SparkFun Electronics, making it accessible to hobbyists and developers shortly after its debut in May 2008. This early availability helped establish the Nano as a staple for compact Arduino-based projects.Evolution and variant releases
Following the original Arduino Nano's establishment as a compact baseline for breadboard-compatible microcontroller projects, the Nano family evolved to address growing demands for enhanced performance and connectivity in embedded systems. In 2019, Arduino released the Nano Every, transitioning from the ATmega328P to the ATmega4809 microcontroller to provide increased flash memory capacity and support for modern peripherals like improved timers and communication interfaces, enabling more complex sketches without altering the pin-compatible form factor.[8][9] This update was driven by the need for greater processing efficiency in low-cost applications, such as robotics and wearables, while maintaining backward compatibility with existing shields and prototypes. The same year marked the introduction of the Nano 33 series, expanding the lineup with ARM-based architectures to integrate wireless capabilities for Internet of Things (IoT) development. The Nano 33 IoT, announced in May 2019 and shipped by mid-June, incorporated the SAMD21 microcontroller alongside a u-blox NINA-W102 module for Wi-Fi and Bluetooth Low Energy (BLE) connectivity, facilitating secure data transmission and remote device control in networked environments.[8][10][11] Complementing this, the Nano 33 BLE, released in July 2019, emphasized energy-efficient BLE for sensor applications, reflecting the rising emphasis on wireless integration to support pico-networks and cloud-connected projects.[12] These variants shifted from the original's Mini-USB connector to Micro-USB, improving compatibility with contemporary charging and data cables. In 2023, Arduino released the Nano ESP32 on July 17, featuring the ESP32-S3 microcontroller with integrated Wi-Fi and Bluetooth for advanced IoT projects, supporting both Arduino and MicroPython programming while maintaining the Nano form factor.[13] In late 2024, the Nano Matter was introduced on December 4, utilizing the Silicon Labs MGM240S SoC to support the Matter connectivity standard over Thread and BLE 5.3, aimed at smart home and building automation applications with USB-C connectivity.[14] In 2025, Arduino advanced the series further with the Nano R4, released on July 24, to meet demands for higher computational power and production scalability. Featuring the Renesas RA4M1 ARM Cortex-M4 processor with 256 KB flash memory, 32 KB SRAM, and 8 kB EEPROM, the board supports advanced features like a real-time clock and CAN bus, while adopting USB-C for faster data transfer and broader accessory compatibility.[5][15] This evolution underscores the progression toward more robust, future-proof hardware that bridges prototyping and deployment in resource-constrained designs, all while preserving the Nano's core footprint.Physical characteristics
Form factor and dimensions
The Arduino Nano family features a standardized compact form factor across all variants, with a footprint of 45 mm in length and 18 mm in width, positioning it as Arduino's smallest board series designed specifically for space-constrained prototyping and integration.[3][16][17] This rectangular shape includes inline pin headers on both long sides, forming a 30-pin dual-inline package (DIP) layout with 0.1-inch (2.54 mm) spacing between pins, enabling straightforward insertion into standard breadboards without adapters.[3][18] Weights differ modestly among models due to component variations: the original Nano measures approximately 7 grams, the Nano Every 5 grams, and the Nano 33 series (including BLE and IoT variants) also around 5 grams when equipped with headers.[19][20][17] The Nano R4 maintains a near-identical footprint at roughly 43 mm x 18 mm, preserving overall compatibility.[18] Mounting options emphasize versatility for embedded use, with four corner mounting holes (typically 1.65 mm in diameter) for securing the board in custom enclosures or fixtures, though Arduino provides no official cases—leveraging its open-source hardware design to encourage community-developed housings.[18] The low-profile construction, often under 10 mm in height without headers, suits applications like wearables and portable devices.[3] This form factor ensures mechanical and pin compatibility with larger Arduino boards, such as the Uno, facilitating easy upgrades in project scaling.[21]Pin layout and connectors
The Arduino Nano features a compact pin layout consisting of two parallel rows of 15 pins each, totaling 30 pins, arranged along the long edges of the board for easy integration with breadboards or custom PCBs.[3] The pins are divided functionally into digital input/output (I/O) pins (0 through 13), analog input pins (A0 through A7), power supply pins (including 5V, 3.3V, GND, and VIN), and reference pins like AREF. The digital pins occupy one side of the board, starting from the USB connector end with pin 0 (RX) and pin 1 (TX) for serial communication, followed by pins 2 through 13, while the opposite side hosts the analog pins (A0–A7) interspersed with power pins such as multiple GND connections, 5V, 3.3V, VIN (for 7–12V input), and IOREF.[22] Special functions include PWM capability on digital pins 3, 5, 6, 9, 10, and 11, enabling pulse-width modulation for analog-like outputs, and the reset pin for restarting the microcontroller.[22] In addition to the main pin rows, the Nano provides access to an In-Circuit Serial Programming (ICSP) header through dedicated pins: MOSI (pin 11, labeled COPI), MISO (pin 12, labeled CIPO), SCK (pin 13), RESET, 5V, and GND, allowing direct programming of the ATmega328P microcontroller without the bootloader.[22] This layout ensures compatibility with standard Arduino shields and prototyping setups, with pins labeled clearly on the board for user reference. Standard pinout diagrams, available from official documentation, illustrate this bilateral division, showing the USB connector at one end and the ICSP-accessible pins integrated into the digital row.[3] Across variants, the core pin arrangement remains consistent for backward compatibility, but USB connectors have evolved for improved usability. The original Nano and Nano Every use a Mini-B and Micro-USB connector, respectively, for programming and power delivery via the onboard FTDI FT232RL or similar USB-to-serial chip.[3][23] In contrast, the Nano 33 series (based on SAMD21) retains a Micro-USB connector, while the newer Nano R4 (Renesas RA4M1) adopts a USB-C connector to support faster data transfer and modern cabling standards.[24][18] This progression reflects broader industry shifts toward reversible, higher-speed interfaces without altering the 30-pin header layout.[15]Hardware variants
Original Nano (ATmega328P)
The original Arduino Nano is built around the 8-bit AVR ATmega328P microcontroller, which operates at a clock speed of 16 MHz using an external crystal oscillator.[1][25] This microcontroller provides a robust foundation for embedded applications, featuring a RISC architecture with 131 instructions, most of which execute in a single clock cycle, enabling efficient processing for tasks like sensor interfacing and actuator control.[25] Memory resources include 32 KB of flash memory (with 2 KB reserved for the bootloader), 2 KB of SRAM for runtime data, and 1 KB of EEPROM for non-volatile storage.[1][2] The board exposes 14 digital I/O pins (of which 6 support PWM output) and 8 analog input pins resolved by a 10-bit ADC, allowing for versatile connectivity to external components such as LEDs, motors, and sensors.[1][26] Communication peripherals consist of a UART for serial communication, an SPI interface for high-speed data exchange, and an I²C (TWI) bus for multi-device networking.[1][25] The clock system relies on the 16 MHz external crystal, providing precise timing for operations, while the microcontroller includes three timers: two 8-bit timers (Timer0 and Timer2) for general-purpose counting and PWM generation, and one 16-bit timer (Timer1) for extended range applications like precise delays.[25] Operating at 5 V logic levels, the board accepts input voltages of 7-12 V through the Vin pin or a regulated 5 V supply directly, with an onboard regulator ensuring stable power delivery to the microcontroller and peripherals.[1][2] This design establishes the pin compatibility baseline for subsequent Nano variants, facilitating seamless upgrades in projects.[1]Nano Every (ATmega4809)
The Arduino Nano Every represents an upgraded iteration of the original Nano, retaining the compact form factor while incorporating the ATmega4809 microcontroller, an 8-bit AVR processor operating at a 20 MHz clock speed.[23] This upgrade provides enhanced performance for embedded applications, with the ATmega4809 offering improved processing capabilities compared to the ATmega328P in the classic model, including hardware multiplier support for faster arithmetic operations.[27] The board maintains 5V logic levels, compatible with the original Nano's ecosystem, but features an expanded input voltage range of 4.5-21V through a more efficient DC-DC regulator that achieves up to 85% efficiency at 12V input, reducing power dissipation in battery-powered projects.[23] Memory resources in the Nano Every are significantly increased, featuring 48 KB of flash memory for program storage, 6 KB of SRAM for runtime data, and 256 bytes of emulated EEPROM for non-volatile data retention.[27] These specifications allow for more complex sketches and data handling than the original Nano's 32 KB flash, 2 KB SRAM, and 1 KB EEPROM, enabling applications like advanced sensor fusion or multi-tasking without external memory. The Nano Every provides 14 digital I/O pins, all of which support external interrupts and of which 5 (D3, D5, D6, D9, D10) can be used as PWM outputs via the microcontroller's versatile timers, alongside 8 analog input pins utilizing a 10-bit ADC for precise voltage measurements from 0-5V.[23] Communication peripherals include multiple UARTs (up to four USARTs on the ATmega4809), a single SPI interface, and an I2C interface, facilitating connectivity with sensors, displays, and other modules.[27][23] Key enhancements include a built-in USB controller via an integrated ATSAMD11 bridge chip, enabling native USB CDC for serial communication without additional hardware, five 16-bit timers for flexible timing and PWM generation, and an event system that allows peripherals to interact independently of the CPU, improving efficiency in event-driven designs.[23][27] This pin-compatible design with the original Nano simplifies upgrades in existing projects.[9]Nano 33 series
The Arduino Nano 33 series introduces ARM-based processing to the Nano form factor, with the Nano 33 IoT serving as the primary model utilizing the SAMD21 microcontroller for enhanced performance in IoT applications. This board employs the Microchip SAMD21G18A, a 32-bit ARM Cortex-M0+ processor operating at up to 48 MHz, providing a significant upgrade over previous AVR-based Nanos in terms of processing speed and efficiency.[24] The series emphasizes secure, wireless-enabled prototyping, maintaining the compact Nano dimensions of 45 mm x 18 mm, which is smaller than full-sized boards like the Uno R3.[11] Memory on the Nano 33 IoT consists of 256 KB of flash and 32 KB of SRAM, with no native EEPROM; instead, EEPROM functionality is emulated using a portion of the flash memory to support legacy Arduino sketches.[24] The board features 14 digital I/O pins, all capable of pulse-width modulation (PWM) output, alongside 8 analog input pins supporting a 12-bit analog-to-digital converter (ADC) for precise sensor readings. Communication peripherals include multiple serial options via six SERCOM modules configurable for UART, SPI, or I2C, as well as a built-in CAN controller for automotive or industrial networking when paired with an external transceiver.[24] Operating at a 3.3V logic level with a maximum input voltage of 21V through the VIN pin or micro USB connector, the I/O pins are not 5V tolerant, requiring level shifting for compatibility with 5V sensors or modules.[24] A key differentiator of the Nano 33 IoT is its integrated ATECC608A crypto chip from Microchip, which provides hardware acceleration for security protocols including AES-128 encryption, SHA-256 hashing, and elliptic curve cryptography (ECDH) to enable secure IoT communications and key storage.[24] For wireless connectivity, it incorporates the u-blox NINA-W102 module, supporting 802.11 b/g/n Wi-Fi and Bluetooth Low Energy (BLE) 4.2, allowing seamless integration into cloud services like Arduino IoT Cloud.[11] The Nano 33 BLE variant diverges by using the Nordic nRF52840 ARM Cortex-M4F microcontroller at 64 MHz instead of the SAMD21, with 1 MB flash and 256 KB SRAM, to deliver advanced BLE 5 capabilities and an onboard 9-axis IMU for motion sensing in wearable or edge AI projects.[28] Both models prioritize low-power operation and compatibility with the Arduino IDE, facilitating rapid development for embedded IoT and wireless applications.[11][28]Nano R4 (Renesas RA4M1)
The Arduino Nano R4, released in 2025, represents an advanced iteration in the Nano series, incorporating the Renesas RA4M1AB microcontroller for enhanced performance in embedded applications. This board maintains the compact Nano form factor while introducing a 32-bit ARM Cortex-M4F core operating at 48 MHz, complete with a floating-point unit (FPU) to accelerate floating-point arithmetic operations.[18] Memory resources on the Nano R4 include 256 KB of flash memory for program storage, 32 KB of SRAM for runtime data, and 8 KB of data flash serving as an EEPROM equivalent for non-volatile storage needs. The board supports 21 digital I/O pins, several of which offer pulse-width modulation (PWM) functionality across 6 channels, alongside 8 analog input channels equipped with a 14-bit analog-to-digital converter (ADC) for precise signal acquisition. Communication peripherals encompass one UART, one SPI, two I2C interfaces (including a 3.3 V Qwiic connector), a CAN controller (requiring an external transceiver), and USB 2.0 full-speed via the onboard USB-C port, enabling versatile interfacing options.[18][15] Key advancements in the Nano R4 include the FPU, which optimizes performance for math-intensive tasks such as signal processing and control algorithms, complemented by low-power modes for energy-efficient operation in battery-powered designs. The integrated 14-bit ADC provides higher resolution compared to earlier variants, improving accuracy in sensor readings, while the board remains pin-compatible with previous Nano models to facilitate seamless upgrades in existing projects. It builds on the ARM foundation of the Nano 33 series but omits built-in wireless connectivity. Operating at 5 V logic levels with 5 V-tolerant I/O pins, the Nano R4 accepts input voltages from 6 V to 21 V via VIN and delivers up to 500 mA through its USB-C connector for powered applications.[18][15]Power supply and I/O
Voltage requirements and regulation
The Arduino Nano family supports multiple power input options to accommodate various project requirements. Common sources include a USB connection providing 5 V at up to 500 mA, an unregulated DC input via the VIN pin typically recommended at 7–12 V (with tolerances up to 15–21 V depending on the variant), direct regulated 5 V or 3.3 V applied to dedicated pins, and in some cases, a VUSB pin for USB-derived power. These inputs allow flexibility for battery-powered, USB-hosted, or external supply scenarios, with automatic selection prioritizing USB when available.[2][1][18] Voltage regulation varies by variant to ensure stable operation at the board's logic level, either 5 V or 3.3 V. In the original Nano, an onboard linear low-dropout (LDO) regulator steps down VIN to 5 V, with a typical dropout voltage of around 0.5 V. The Nano Every uses an MPM3610 switching DC-DC buck converter to regulate VIN up to 21 V to 5 V. Both the original Nano and Nano Every have a secondary LDO providing 3.3 V for compatible components. Newer variants like the Nano 33 series employ a more efficient MPM3610 switching DC-DC buck converter to regulate inputs up to 21 V directly to 3.3 V, achieving over 85% efficiency at 12 V input. The Nano R4 uses an MP2322 buck converter for 5 V regulation from VIN (6–21 V), paired with an AP2112K-3.3 LDO for the 3.3 V Qwiic interface, reducing heat dissipation compared to linear methods in high-voltage scenarios.[2][23][24][18] Power consumption differs across variants, influenced by the microcontroller and regulation efficiency. The original Nano draws approximately 19 mA at idle under USB power, rising to around 40 mA during active operation with peripherals. The Nano Every maintains similar levels due to its 5 V AVR architecture. In contrast, the ARM-based Nano 33 series supports low-power modes on the SAMD21 microcontroller, reducing consumption to microamp levels in sleep states for battery-extending applications. The Nano R4's Renesas RA4M1 also features efficient low-power modes, though board-level idle draw remains in the low tens of milliamps without optimization.[1][24][18] Protection mechanisms safeguard the board from common faults. All variants include a resettable polyfuse on the USB line limiting current to 500 mA, preventing damage to the host device. A Schottky diode (e.g., SS14 in originals) blocks reverse current flow from the board to USB, while VIN inputs in earlier models lack explicit reverse polarity protection, requiring external diodes for safety. Newer designs like the Nano R4 incorporate a power OR circuit for seamless USB/VIN switching and brown-out detection for stable operation.[2][23][18]Digital and analog pins
The Arduino Nano features a set of digital and analog pins that enable interaction with external components, with electrical properties and capabilities differing across hardware variants due to their underlying microcontrollers. These pins support general-purpose input/output (GPIO), pulse-width modulation (PWM), analog-to-digital conversion, and interrupt handling, subject to voltage levels, current limits, and other constraints that ensure safe operation.[3] In the original Nano equipped with the ATmega328P microcontroller, the 14 digital pins operate at 5V logic levels, where a high output (VOH) is at least 4.1V at -20mA source current and a low output (VOL) is at most 0.8V at 20mA sink current; input high (VIH) requires at least 0.6 × VCC, and input low (VIL) is up to 0.3 × VCC. Each pin can source or sink a maximum of 40mA, but the recommended limit is 20mA to avoid damage, with a total current draw across all I/O pins limited to 200mA to protect the supply. Internal pull-up resistors, valued at 20-50 kΩ, can be enabled on all digital pins for input configurations, and interrupt support includes external interrupts on pins 2 and 3, plus pin-change interrupts on most pins via the PCINT mechanism.[25][1][25] The original Nano also includes 8 analog input pins (A0-A7), which share multiplexing to a single 10-bit ADC providing resolution from 0 to 1023, corresponding to an input voltage range of 0-5V when using the default VCC reference; these pins can alternatively function as digital I/O. PWM output is available on 6 digital pins (3, 5, 6, 9, 10, 11) using hardware timers, with default frequencies of 490 Hz (pins 5 and 6) or 980 Hz (other pins) at an 8-bit resolution, though frequencies can be adjusted via prescaler settings up to the 16 MHz system clock limit.[25][1] The Nano Every, based on the ATmega4809, maintains 5V logic levels on its 20 digital pins, with similar per-pin current handling of up to 40mA maximum (20mA recommended) and a 200mA total limit per I/O group; internal pull-up resistors are 20-50 kΩ, and all pins support external interrupts with asynchronous edge detection on select pins. Its 8 analog inputs use a 10-bit ADC (0-1023 resolution) over a 0-5V range, multiplexed across up to 16 internal channels. PWM is supported on multiple pins via three timers, enabling up to 8 channels at frequencies scalable to 20 MHz depending on clock and prescaler configuration.[29][20][29] For the Nano 33 series using the SAMD21 microcontroller, pins operate at 3.3V logic levels (not 5V tolerant), with input high (VIH) at 0.7 × VDD minimum and output high (VOH) at VDD - 0.5V; per-pin sink/source current is limited to 7mA recommended (up to 15mA in high-drive mode), with cluster totals of 46mA source and 65mA sink. Internal pull-up/pull-down resistors are nominally 40 kΩ (20-60 kΩ range), configurable on all 20 digital pins, which also support interrupts on up to 16 lines including all analog pins as digital inputs. The 8 analog inputs employ a 12-bit ADC (0-4095 resolution, extendable to 16-bit via oversampling) over a 0-3.3V range, multiplexed from 14 channels; PWM is available on up to 8 channels via TCC timers, with frequencies up to several MHz based on the 48 MHz clock and prescaler.[30][31][32] The Nano R4, powered by the Renesas RA4M1 (ARM Cortex-M4), uses 5V logic levels on 21 digital pins, with a per-pin current limit of 8mA source/sink and support for interrupts on all pins; pull-up/pull-down resistors are available but values are not specified in board documentation. It offers 8 analog inputs with a 14-bit ADC (0-16383 resolution) across a 0-5V range, plus a 12-bit DAC on A0 for analog output (0-5V). PWM functionality covers 6 pins at variable frequencies up to the 48 MHz clock rate, leveraging multiple timer units for enhanced resolution and speed in ARM-based operation.[18][33][18]| Variant | Digital Pins (Logic Level) | Max Current per Pin (Recommended) | Total Current Limit | Analog Pins (Resolution, Range) | PWM Channels (Default Freq.) | Pull-up Resistors | Interrupt Support |
|---|---|---|---|---|---|---|---|
| Original (ATmega328P) | 14 (5V) | 20 mA | 200 mA | 8 (10-bit, 0-5V) | 6 (~490/980 Hz) | 20-50 kΩ | Most pins (external on 2/3) |
| Nano Every (ATmega4809) | 20 (5V) | 20 mA | 200 mA/group | 8 (10-bit, 0-5V) | 8 (variable to 20 MHz) | 20-50 kΩ | All pins |
| Nano 33 (SAMD21) | 20 (3.3V) | 7 mA | 46/65 mA/cluster | 8 (12-bit, 0-3.3V) | 8 (up to MHz) | ~40 kΩ (20-60 kΩ) | All pins |
| Nano R4 (RA4M1) | 21 (5V) | 8 mA | Not specified | 8 (14-bit, 0-5V) + 1 DAC (12-bit) | 6 (variable to 48 MHz) | Configurable | All pins |
Communication protocols
Serial and USB interfaces
The Arduino Nano supports key wired communication protocols through its onboard hardware, including UART for asynchronous serial communication, USB for host connectivity, SPI for synchronous peripheral interfacing, and I2C for multi-device addressing. These interfaces enable the board to interact with sensors, displays, and other modules, with specifics varying by hardware variant such as the original ATmega328P-based model, Nano Every, Nano 33 series, and Nano R4.[34][35][36] The UART interface provides asynchronous serial communication, primarily via a hardware serial port on digital pins 0 (RX) and 1 (TX) in the original Nano and most variants. It supports baud rates up to 115200 bps for reliable data transmission between the board and external devices or a host computer. Additionally, software serial libraries enable UART-like functionality on other digital pins, allowing multiple serial connections without dedicating the hardware port.[34][37] The USB interface facilitates programming, power supply, and serial data exchange with a host computer. In the original Nano, it employs a dedicated USB-to-serial converter chip, such as the FTDI FT232RL, bridging the microcontroller's UART to the USB port using the CDC/ACM class for virtual COM port emulation. Later variants, such as the Nano 33 IoT (SAMD21), Nano 33 BLE (nRF52840), and Nano R4 (RA4M1), integrate native USB directly into the microcontroller, supporting CDC/ACM without an external converter. The Nano Every (ATmega4809) uses a secondary ATSAMD11 microcontroller for USB functionality.[1][9][38][39] The SPI interface operates in full-duplex synchronous mode, using dedicated digital pins: 13 (SCK for clock), 12 (MISO for master-in slave-out), 11 (MOSI for master-out slave-in), and 10 (SS for slave select) on the original Nano, with equivalent mappings in other variants. It supports both master and slave configurations, with clock speeds up to 8 MHz on the 16 MHz ATmega328P model, suitable for high-speed data transfer to peripherals like SD cards or displays.[35][37] The I2C (or TWI) interface enables half-duplex communication with multiple devices on a shared bus, utilizing analog pins A4 (SDA for data) and A5 (SCL for clock) across all Nano variants. It operates at standard mode speeds of 100 kHz or fast mode up to 400 kHz, with 7-bit addressing for device selection, making it ideal for connecting low-speed sensors and actuators. Pull-up resistors (typically 4.7 kΩ) are required on SDA and SCL lines for proper operation.[36][37]Wireless capabilities in select variants
The Arduino Nano 33 IoT variant incorporates the u-blox NINA-W102 module, which provides integrated Wi-Fi and Bluetooth connectivity tailored for IoT applications.[11] This module supports Wi-Fi standards IEEE 802.11b/g/n in the 2.4 GHz band, enabling data rates up to 72 Mbps, and Bluetooth 4.2, including both Basic Rate/Enhanced Data Rate (BR/EDR) up to 3 Mbps and Low Energy (LE) modes.[40] The antenna is integrated directly on the board as a PCB design, facilitating compact deployment without external components.[24] Security is enhanced by the onboard ATECC608A crypto chip, which supports WPA2 for Wi-Fi authentication and AES-128 encryption for Bluetooth communications.[24] Power consumption during active wireless transmission on the Nano 33 IoT typically reaches 100-150 mA, reflecting the demands of the ESP32-based NINA-W102 chipset.[41] Developers can leverage the Arduino WiFiNINA library for straightforward Wi-Fi integration, including network connection and data transmission, while the ArduinoBLE library handles Bluetooth LE peripheral and central roles.[42][43] These APIs abstract low-level protocol details, allowing focus on application logic such as sensor data upload to cloud services. The Arduino Nano 33 BLE variant features the Nordic nRF52840 SoC with an integrated NINA-B306 module, emphasizing low-power Bluetooth connectivity for wearable and edge devices. It supports Bluetooth 5.0, including long-range modes, mesh networking, and compatibility with Thread and Zigbee protocols via IEEE 802.15.4.[44] The antenna uses an integrated balun for 50 Ω output, ensuring reliable RF performance in a small form factor.[45] Security is provided by the Arm CryptoCell-310 subsystem, incorporating AES-128 and ECC for secure pairing and data exchange.[44] During Bluetooth transmission at 0 dBm output, the Nano 33 BLE draws approximately 4.8 mA in TX mode and 4.6 mA in RX, enabling extended battery life in low-duty-cycle scenarios, though overall board consumption can approach 100 mA under combined loads.[45] The ArduinoBLE library simplifies implementation, supporting features like GATT services and advertising for device interoperability.[43] Initial firmware updates for wireless functionality utilize the board's USB interface.Programming interface
Arduino IDE integration
The Arduino Nano family seamlessly integrates with the Arduino Integrated Development Environment (IDE), enabling users to write, compile, and upload sketches to the board via a USB connection. To begin programming, users must install the appropriate board core package through the IDE's Boards Manager under Tools > Board > Boards Manager. For the original Arduino Nano based on the ATmega328P microcontroller, select "Arduino AVR Boards" from the package list and install the latest version; once installed, choose "Arduino Nano" from Tools > Board > Arduino AVR Boards. Variant-specific selections include "Arduino Nano Every" under the same AVR Boards package for the ATmega4809 model, "Arduino Nano 33 IoT" or "Arduino Nano 33 BLE" under the "Arduino SAMD Boards" package for the SAMD21-based 33 series, and "Arduino Nano R4" under the "Arduino UNO R4 Boards" package for the Renesas RA4M1 variant.[46][47][1][48] The upload process involves compiling the sketch into a hexadecimal or binary file within the IDE, followed by transfer to the board via its USB interface using the onboard bootloader. Users select the appropriate port from Tools > Port, which appears as a COM port on Windows or /dev/ttyACM on Linux/macOS after connecting the board; the original Nano uses a Mini-B USB cable, the Nano Every uses a Micro-B USB cable, while the 33 series and R4 employ USB-C. Clicking the Upload button in the IDE initiates the process, where the IDE communicates with the bootloader to program the microcontroller's flash memory. This workflow supports automatic port detection and handles compilation for the specific architecture, ensuring compatibility across variants without additional hardware.[49][46][48] The Arduino IDE provides official cores tailored to each Nano variant, incorporating hardware abstractions for digital/analog pins, PWM, and interrupts, along with pre-built examples accessible via File > Examples. For wireless capabilities in the 33 series, the WiFiNINA library handles Wi-Fi and Bluetooth Low Energy connectivity, while the ArduinoBLE library supports BLE peripherals; these are installed via Tools > Manage Libraries and include sketches for sensor integration and IoT applications. The R4 core extends support to advanced peripherals like CAN bus and DAC through dedicated libraries such as Arduino_CAN and Arduino_DAC, with examples demonstrating real-time clock (RTC) and HID functionality. All cores include foundational libraries like Wire for I2C, SPI, and Serial for communication protocols.[50][51][52][48] Compatibility with Arduino IDE versions varies by variant: the original Nano and Every function with IDE 1.8 or later, while the 33 series benefits from IDE 2.0 for improved SAMD support and library management. The Nano R4 is optimized for IDE 2.x, which offers enhanced debugging, serial plotting, and multi-board workflow features aligned with its Renesas architecture. Users are recommended to use the latest IDE release for all variants to access updated cores and security fixes.[53][46][48]Bootloader and reset mechanism
The bootloader on the original Arduino Nano, featuring the ATmega328P microcontroller, utilizes Optiboot, a compact firmware occupying 512 bytes of flash memory that facilitates sketch uploads via AVR In-System Programming (ISP). This minimal size maximizes available program space while enabling reliable over-the-air updates through the integrated USB-to-serial interface. In contrast, ARM-based variants like the Nano 33 series, powered by the SAMD21 microcontroller, employ a larger bootloader of approximately 8 KB to accommodate advanced features such as double-tap reset, where rapidly pressing the reset button twice activates bootloader mode for USB programming.[54] The automatic reset mechanism on the original Nano relies on the USB-to-serial converter chip (such as the FT232RL or CH340), where the Data Terminal Ready (DTR) line connects to the microcontroller's reset pin via a 0.1 μF capacitor.[55] During sketch uploads in the Arduino IDE, the DTR signal pulses low, generating a brief reset approximately 100 ms prior to data transmission, which synchronizes the bootloader activation and eliminates the need for manual intervention.[56] This hardware-coupled approach ensures consistent entry into programming mode upon connection. Manual resets are performed using the dedicated active-low reset pin or onboard button, which pulls the pin to ground to restart the microcontroller. On the original Nano, precise timing is essential for manual bootloader entry; after reset, the bootloader listens for serial data for about 8 seconds before executing the user sketch, requiring uploads to commence within this window if auto-reset is disabled.[56] Variant-specific differences enhance usability in later models. The Nano R4 (Renesas RA4M1) incorporates native USB directly on the microcontroller, obviating the external converter and streamlining resets through software methods like opening the serial port at 1200 baud to trigger bootloader mode.[9] The Nano Every uses a separate ATSAMD11 microcontroller to handle USB communication via UPDI and supports the 1200 baud method for bootloader entry.Applications and ecosystem
Common use cases
The Arduino Nano's compact dimensions (45 mm × 18 mm) and breadboard-friendly pin layout make it a popular choice for rapid prototyping in sensor networks, small-scale robotics, and wearable devices, where space constraints are critical.[9] Its low profile allows seamless integration into custom circuits without requiring soldering for initial testing, enabling quick iterations in hobbyist and educational projects.[1] In embedded systems, the Nano excels in IoT applications, particularly with variants like the Nano 33 IoT and Nano 33 BLE Sense, which support Wi-Fi and Bluetooth Low Energy for connecting smart home sensors to networks.[11] For instance, these boards facilitate the creation of motion-tracking devices using onboard inertial measurement units (IMUs) for environmental monitoring or activity recognition in wearables.[11] The original Nano and Nano Every are commonly used for simple data loggers in monitoring tasks, such as logging temperature or humidity readings via analog inputs, due to their straightforward I/O capabilities.[9] Specific projects highlight the Nano's versatility, including LED controllers that utilize pulse-width modulation (PWM) pins to drive dynamic lighting effects, and motor drivers for controlling small DC motors in robotic prototypes. Environmental monitoring setups often employ the Nano's analog pins to interface with sensors like DHT11 for humidity and temperature data in greenhouses or air quality trackers.[57] The Nano R4 variant, with its 32-bit ARM Cortex-M4 processor, supports more advanced digital signal processing tasks, such as real-time audio analysis in interactive sound projects.[58] Key advantages include its affordability, with prices ranging from approximately $10 to $25 depending on the variant, making it accessible for low-volume production or educational use.[1] Additionally, the board's low power consumption enables battery-powered portability in remote or mobile applications, such as wearable fitness trackers or wireless sensor nodes, often powered by lithium-ion cells for extended operation.[59] This combination of size, cost, and ease of shielding supports its widespread adoption in portable embedded solutions.Comparison to other Arduino boards
The Arduino Nano stands out in the Arduino ecosystem for its compact form factor, measuring 45 mm by 18 mm, which is approximately one-quarter the footprint of the Arduino Uno while maintaining compatibility with the same ATmega328P microcontroller and core pinout for digital and analog I/O.[3][60] Unlike the Uno, which includes a barrel jack for external power supplies and offers more physical space for prototyping, the Nano lacks a barrel jack but provides a Vin pin for external 7-12 V power, along with Mini-B USB for both power and programming, making it ideal for embedding in space-constrained projects but less beginner-friendly due to the need for breadboard integration from the start.[3][60] The Uno's larger size (68.6 mm by 53.4 mm) and built-in power options provide greater ease for initial learning and shield compatibility, positioning it as the go-to board for newcomers.[60] In comparison to the Arduino Micro, the Nano shares a similar breadboard-friendly size but differs in microcontroller architecture and USB handling; the Micro uses the ATmega32U4 for native USB communication, allowing it to emulate devices like keyboards or mice without additional hardware, and features 20 digital I/O pins (7 PWM) versus the Nano's 14 (6 PWM).[61][3] The Micro's pin mapping diverges from the classic AVR layout of the Nano, which appeals to users familiar with the Uno's ecosystem, while the Micro's micro USB and expanded analog inputs (12 versus 8) suit USB-centric applications like HID controllers.[61][3] The Arduino Nano offers advantages over the Arduino Pro Mini in usability for compact designs, as both boards are diminutive (the Pro Mini measures about 33 mm by 18 mm) and based on the ATmega328, providing 14 digital I/O pins (6 PWM) and 6 analog inputs, but the Nano integrates a USB-to-serial converter for direct programming, eliminating the need for an external FTDI adapter required by the Pro Mini.[62][3] This built-in USB on the Nano simplifies development workflows, particularly for iterative prototyping, whereas the Pro Mini's bare-bones design with optional power switch and battery jack targets ultra-minimalist, low-cost builds where space and cost outweigh convenience.[62][3] Within the broader Arduino family, the Nano series is positioned for applications demanding minimal footprint and the familiar 8-bit AVR processing, contrasting with the Arduino Mega 2560's expansive 54 digital I/O pins (15 PWM) and 16 analog inputs on the ATmega2560, which excels in projects requiring extensive connectivity like robotics or data logging.[63][3] Newer Nano variants, such as the Nano 33 IoT/BLE Sense with wireless capabilities or the Nano R4 series featuring a 32-bit Renesas RA4M1 microcontroller, 256 kB flash, and 32 kB SRAM, serve as bridges to more advanced boards like the Portenta H7, which offers dual-core ARM processing at up to 480 MHz, AI support, and high-density connectors for industrial-grade embedded computing.[18][64][3]| Feature | Nano (Classic) | Uno Rev3 | Micro | Pro Mini | Mega 2560 |
|---|---|---|---|---|---|
| Size (mm) | 45 x 18 | 68.6 x 53.4 | ~48 x 18 | 33 x 18 | 101.5 x 53.3 |
| Microcontroller | ATmega328P | ATmega328P | ATmega32U4 | ATmega328 | ATmega2560 |
| Digital I/O Pins | 14 (6 PWM) | 14 (6 PWM) | 20 (7 PWM) | 14 (6 PWM) | 54 (15 PWM) |
| Analog Inputs | 8 | 6 | 12 | 6 | 16 |
| USB Type | Mini-B (w/ converter) | Type-B | Micro (native) | None (FTDI req.) | Type-B |
| Power Options | USB, Vin pin | USB, barrel, battery | USB/Micro | Battery jack | USB, barrel |
| Best For | Embedded, compact | Beginners, prototyping | USB devices, small | Minimalist, low-cost | High I/O projects |