Since the launch of the first Arduino board in 2006, a lot has changed. Alongside clones of the Arduino line-up, many companies have brought out new development boards featuring different chipsets and features, along with libraries providing compatibility with the Arduino integrated development environment (IDE). Today we are looking at the Arduino Nano Every, part of a new range of Nano form factor boards released mid-2019. At first glance, it's similar to the original Nano. There are, however, some subtle but significant differences.
Arduino Nano Every Overview
The Nano Every uses the ATmega4809 microcontroller unit (MCU), which on paper is a significant upgrade to the ATmega328p on the original Nano and Uno. The more powerful processor, a new switching power regulator (allowing input voltages of 6-21v), and a micro USB connector stand out.
The pinout for the Every Nano matches the original Nano, which is surprising as it has only 5 PWM capable pins – one less than the original Nano. It's clear this board has been produced with backward compatibility in mind, and the store page reflects this, explaining that "If you used Arduino Nano in your projects in the past, the Nano Every is a pin-equivalent substitute. Your code will still work, and you will NOT need to re-wire those motors you planned in your original design." Surprisingly, given the upgraded specs, the Nano Every costs only $9.90 (€8.00), making it less than half the original Nano price. The combination of low price and updated hardware make this seem a very promising board indeed.
Nano Every: Should You Buy It?
We'll be looking at the Nano Every in a little more detail later in this article, but first, let's answer the important question. Should you buy an Arduino Nano Every?
In a word: No. Despite the low price and updated architecture, there are a few small but important issues with the Nano Every, making it not as beginner-friendly as it's predecessor and, in turn, somewhat limiting for advanced users wanting to get started with the ATmega4809 and the megaAVR-0 family of chips.
You can see what Arduino was trying to do with the Every – giving the familiar Nano form factor an upgrade and preserving backward compatibility. In practice, it's hard to see who it is for. Beginners would be better off buying an original Nano or clone. Advanced users can get much more out of the ATmega4809 using an evaluation board designed for the chip itself rather than Arduino backward compatibility.
Arduino Nano Every: Specifications
- Microcontroller: ATMega4809
- Operating Voltage: 5V
- VIN min-MAX: 7-21V
- DC Current per I/O Pin: 20 mA
- DC Current for 3.3V Pin: 50 mA
- Clock Speed: 20MHz
- CPU Flash Memory: 48KB (ATMega4809)
- SRAM: 6KB (ATMega4809)
- EEPROM: 256byte (ATMega4809)
- PWM Pins: 5 (D3, D5, D6, D9, D10)
- UART: 1
- SPI: 1
- I2C: 1
- Analog Input Pins: 8 (ADC 10 bit)
- Analog Output Pins: Only through PWM (no DAC)
- External Interrupts: all digital pins
- LED_BUILTIN: 13
- USB: Uses the ATSAMD11D14A (datasheet)
- Length: 45 mm
- Width: 18 mm
- Weight: 5 g (with headers)
Arduino Nano Every: Almost Great
Before moving on, I want to be clear: There's nothing wrong with the Arduino Nano Every in principle. It's a significant upgrade at a lower price, and it's nice to see Arduino branching out into different chip architectures. The Every Nano was released alongside the Nano 33 IoT, Nano 33 BLE, and Nano 33 BLE Sense. All four boards are significant updates, but the Every Nano seems to be the odd one out.
If you are a beginner, you'll likely be using a breadboard to attach components to the digital and analog input/output (I/O) pins. Bizarrely, the Nano Every has its pin numbers printed on the bottom of the board, meaning you'd either need to solder the pin headers on upside down or print out a pin guide for reference. To use the Nano Every in the Arduino IDE, you'll need to add support for Arduino megaAVR in the board manager.
Despite having one fewer PWM pins, it's touted as being completely compatible with the original Nano. In reality, some third party libraries don't support it as yet, though the Arduino team has included a workaround in the Nano Every getting started guide. To those who've worked with Arduino before, these small issues won't be a problem. For complete beginners, these small hurdles could get in the way of learning the fundamentals of using Arduino boards. With years of beginner content available for the original Nano spec, it's hard to recommend this new variant.
Not For Power Users
If you are approaching the Nano Every from a more experienced angle, there are other issues to be aware of. The original Nano had an external 16MHz ceramic resonator for timing. The ATmega4809 has an internal phase-locked loop (PLL) oscillator, and while they are sufficient for some uses, PLLs are not as stable as external ceramic or crystal resonators. The change to an internal oscillator presents another problem. Despite the claimed 20MHz clock speed, the board definition is configured to run at 16MHz. This issue, along with a few others, are outlined by YouTuber The White Byte:
Users in the Arduino forum have come up with a workaround but running the board at 20MHz seems to give some inconsistent behavior. There is no single reason why the Arduino Every Nano seems out of place, and many people will buy it for its low price and have no negative issues with it. Arduino has consistently provided fantastic, accessible development boards for people of all abilities. I have no doubt they'll continue to add new and exciting products to their line – but the Arduino Nano Every seems stuck between the single architecture of development boards past, and the new multi-MCU architecture of the future.