In short: The Arduino Uno and Nano run the same ATmega328P at 16 MHz with identical code and memory, so the choice is purely mechanical and electrical: pick the Uno for shields, a barrel jack and easy teaching, and the Nano when size, a breadboard fit or a permanent embedded build matters.
Same brain, different body
Both boards are built around the Microchip (formerly Atmel) ATmega328P, an 8-bit AVR with 32 KB of flash (about 0.5 KB taken by the Optiboot bootloader on the Uno), 2 KB of SRAM and 1 KB of EEPROM. A sketch compiled for one uploads to the other unchanged, because the Arduino core maps both to the same ATmega328P target. If you want the full silicon tour, our Arduino Uno specifications and features guide covers the peripherals in depth.
Key fact: Flash, SRAM, EEPROM, clock (16 MHz crystal), timers and interrupts are identical on both boards. Performance never decides Uno versus Nano.
What differs is everything wrapped around the chip: the package, the USB bridge, the power path, the connectors and the pin count.
Form factor and pins
The Uno measures roughly 68.6 x 53.4 mm and uses a socketed 28-pin DIP ATmega328P. The Nano is about 45 x 18 mm, ships with 0.1 inch header pins on its long edges, and uses the surface-mount 32-pin TQFP version of the same chip. That extra footprint is the reason for the one genuine functional difference: the TQFP package breaks out two more ADC channels, A6 and A7. They are analog-input only, so they cannot be used as digital I/O, and they have no internal pull-ups.
The USB-to-serial bridge
The ATmega328P has no USB hardware. It talks UART at 5 V logic, so each board carries a bridge chip that turns USB packets into serial and also toggles DTR to reset the MCU for uploading. Genuine Unos use an ATmega16U2 programmed as a USB-CDC device, which you can even reflash to behave as a keyboard. Genuine Nanos use an FTDI FT232RL. The cheap clones of both usually substitute a WCH CH340 (or CH340G/C), which is the usual reason a clone is not recognised until you install the vendor driver.
The difference shows in the bootloader too. The Uno uses Optiboot at 115200 baud. Many Nanos, especially clones, still ship the older bootloader at 57600 baud, so in the IDE you pick ATmega328P (Old Bootloader) when an upload fails with a sync error. This one setting accounts for a huge share of "my Nano won't upload" forum posts.
Power options
Both boards accept 5 V from USB. For external supply, the Uno has a barrel jack feeding an onboard linear regulator; the Nano has no jack, so you feed 7 to 12 V to the VIN pin or a regulated 5 V directly to the 5V pin. Linear regulators waste the difference as heat: at 12 V in and 100 mA load, the regulator burns (12 - 5) x 0.1 = 0.7 W, which is warm on a tiny board. A 7 to 9 V supply is the sweet spot.
Key fact: Never feed 12 V into the Nano's 5V pin. That pin bypasses the regulator and 12 V will destroy the 328P. Use VIN for anything above 5 V.
Side-by-side comparison
| Feature | Uno R3 | Nano (classic) |
|---|---|---|
| MCU | ATmega328P, DIP-28 | ATmega328P, TQFP-32 |
| Size | 68.6 x 53.4 mm | 45 x 18 mm |
| Analog inputs | 6 (A0-A5) | 8 (A0-A7) |
| USB bridge | ATmega16U2 (CH340 on clones) | FT232RL (CH340 on clones) |
| USB connector | Type-B | Mini-B |
| External power | Barrel jack and VIN | VIN only |
| Shield support | Yes | No |
| Chip replaceable | Yes, socketed | No, soldered |
When each fits a project
- Choose the Uno for classrooms, first prototypes and anything using shields such as motor drivers or Ethernet. The socketed DIP chip means a fried MCU costs a few dollars, not a board. The barrel jack also suits bench supplies.
- Choose the Nano when it must fit inside an enclosure, a wearable or a sensor node, or when you want to plug straight into a breadboard and keep the rest of the layout compact. The two extra ADC channels help with multi-sensor rigs such as a battery monitor plus several thermistors.
- Move on from both if you need more than 2 KB of RAM or native USB. The Nano Every, ESP32 or an ARM board is a better target. See our guide to AVR timers and PWM for what the 328P can still do.
A practical example: a greenhouse logger reading eight analog soil probes fits a Nano but needs a Uno plus an external ADC. Conversely, a stepper-motor CNC shield only drops onto a Uno.
Gotchas worth knowing for interviews
- Each I/O pin is rated 40 mA absolute max (20 mA recommended), and the whole package about 200 mA, on both boards.
- Pins 0 and 1 share the UART with USB on both, so wired devices there can break uploads.
- The 3.3 V pin is limited (about 50 mA), so do not drive Wi-Fi modules from it.
- Production designs usually drop the dev board and place the bare ATmega328P with a crystal on a custom PCB, laid out in tools like Cadence Allegro or Siemens PADS. Design houses such as Avecas take boards like that from schematic to fabrication.
Want to go from blinking LEDs to firmware, timers and custom boards? Explore the hands-on embedded tracks in our CourseTron courses. For classroom-style lab training, see ChipXpert VLSI and embedded training.
FAQ
Can I run the same sketch on an Uno and a Nano?
Yes. Both use the ATmega328P, so the compiled code is identical. Only the IDE board selection (and possibly the old bootloader option) changes.
Why does my Nano not upload?
Usually a missing CH340 driver, a wrong COM port, or the wrong bootloader setting. Try Tools, Processor, ATmega328P (Old Bootloader).
Is the Nano faster than the Uno?
No. Both run at 16 MHz with identical instruction timing.
Can I power a Nano from a 9 V battery?
Yes, via the VIN pin. Expect roughly 20 to 40 mA for the bare board, so a 9 V alkaline lasts a day or two at best.