Arduino Uno WiFi Rev2: Your Connected Microcontroller Companion
The Arduino Uno WiFi Rev2 brings integrated Wi-Fi and Bluetooth connectivity to the familiar Uno form factor, powered by a modern microcontroller.

The Arduino Uno WiFi Rev2 is a significant evolution of the classic Arduino Uno, designed to bridge the gap between simple microcontroller projects and the Internet of Things (IoT). It retains the user-friendly form factor and pinout familiar to Arduino users but incorporates a more powerful and versatile microcontroller, the Microchip ATmega4809, alongside a u-blox NINA-W102 module for wireless communication. This combination makes it an excellent choice for makers, students, and embedded engineers looking to create connected devices without the complexity of external shields for basic Wi-Fi functionality.
At the heart of the Uno WiFi Rev2 is the Microchip ATmega4809, a modern 8-bit AVR microcontroller. Unlike the ATmega328P found in the original Uno, the ATmega4809 offers more flash memory, SRAM, and a more advanced peripheral set, including a hardware Serial Peripheral Interface (SPI) and I2C, alongside multiple timers and Analog-to-Digital Converters (ADCs). This upgrade provides greater processing power and flexibility for more complex applications, while the integrated u-blox NINA-W102 module provides dual-band 2.4 GHz Wi-Fi and Bluetooth connectivity, enabling seamless integration into wireless networks and communication with other devices.
Positioned as a successor to the original Uno for connected projects, the Uno WiFi Rev2 offers a compelling upgrade path. It maintains compatibility with most existing Uno shields and accessories, making it easy for users to transition their projects. Its history is rooted in Arduino's commitment to making embedded systems accessible, and this board specifically targets the growing demand for IoT-enabled projects. It's ideal for anyone wanting to build smart home devices, remote sensors, or interactive web-connected art installations, providing a robust platform for learning and experimentation in the connected world.
This board is particularly well-suited for makers and students who have outgrown the limitations of the original Uno and are ready to explore wireless communication. Embedded engineers will appreciate the modern microcontroller and the integrated wireless module, which simplifies hardware design for connected applications. Whether you're building your first IoT project or integrating wireless capabilities into a more complex system, the Uno WiFi Rev2 offers a powerful yet approachable solution.
Watch
Related video, embedded from YouTube.
Specifications
| Microcontroller / SoC | Microchip ATmega4809 |
| Architecture | 8-bit AVR |
| Clock speed | 16 MHz |
| Flash / Storage | 48 KB |
| RAM / SRAM | 6 KB |
| Operating voltage | 3.3V |
| Digital I/O pins | 14 (of which 6 provide PWM output) |
| Analog / ADC | 6 (10-bit resolution) |
| PWM | 6 pins (marked with ~) |
| Connectivity | Wi-Fi 802.11 b/g/n (2.4 GHz), Bluetooth 4.2 |
| USB | Micro-USB connector for programming and power |
| Power input | 7-12V recommended via DC barrel jack, 5V via USB, 3.3V via VIN pin |
| Dimensions | 68.6 mm x 53.4 mm (2.7 x 2.1 inches) |
Pinout & pin functions
| Pin | Function |
|---|---|
| GND | Ground |
| 3.3V | 3.3V power output |
| VIN | Input voltage (7-12V recommended) |
| RESET | Reset button and pin |
| D0 (RX) | Serial communication Receive |
| D1 (TX) | Serial communication Transmit |
| D2 | Digital I/O |
| D3 | Digital I/O, PWM |
| D4 | Digital I/O |
| D5 | Digital I/O, PWM |
| D6 | Digital I/O, PWM |
| D7 | Digital I/O |
| D8 | Digital I/O |
| D9 | Digital I/O, PWM |
| D10 | Digital I/O, PWM, SPI SS |
| D11 | Digital I/O, PWM, SPI MOSI |
| D12 | Digital I/O, SPI MISO |
| D13 | Digital I/O, SPI SCK, LED (onboard) |
| A0 | Analog Input, Digital I/O |
| A1 | Analog Input, Digital I/O |
| A2 | Analog Input, Digital I/O |
| A3 | Analog Input, Digital I/O |
| A4 | Analog Input, Digital I/O, I2C SDA |
| A5 | Analog Input, Digital I/O, I2C SCL |
| AREF | Analog Reference voltage |
| IOREF | I/O Reference voltage (3.3V) |
| NINA_W102_STATUS | NINA-W102 module status pin |
| NINA_W102_RESET | NINA-W102 module reset pin |
Wiring & circuit basics
Powering the Arduino Uno WiFi Rev2 can be done via the micro-USB port (5V), the DC barrel jack (7-12V recommended), or the VIN pin (7-12V recommended). The board has an onboard voltage regulator that steps down the input voltage to the 3.3V required by the ATmega4809 and the NINA-W102 module. Avoid applying more than 12V to the barrel jack or VIN pin to prevent damage to the regulator. For USB power, ensure your USB source can supply at least 500mA, especially when using Wi-Fi, which can draw significant current.
It is crucial to remember that the Arduino Uno WiFi Rev2 operates at a logic level of 3.3V, unlike the original Uno which used 5V. Connecting 5V logic devices directly to the 3.3V GPIO pins can damage the microcontroller. If you need to interface with 5V sensors or actuators, use a logic level converter. Conversely, if you are connecting a 3.3V device to a 5V system, you may need a level shifter, though many 3.3V devices can tolerate 5V inputs. Always check the specifications of your external components.
A simple LED circuit demonstrates basic wiring. Connect an LED's anode (longer leg) to a digital pin, for example, D13 (which also has an onboard LED). Connect the LED's cathode (shorter leg) through a current-limiting resistor (typically 220-330 ohms) to a GND pin. This resistor protects both the LED and the microcontroller from excessive current. When the Arduino code sets D13 HIGH, current flows, and the LED lights up. For I2C communication, connect the SDA pin (A4) and SCL pin (A5) to the corresponding SDA and SCL pins on your I2C sensor, along with VCC (to 3.3V) and GND.
Programming & getting started
The primary toolchain for the Arduino Uno WiFi Rev2 is the Arduino IDE. After installing the IDE, you will need to add the board support package for the ATmega4809-based boards, which can be done via the Board Manager. Select 'Arduino Uno WiFi Rev2' from the Tools > Board menu. You can then write code in the Arduino language (based on C/C++) and upload it to the board via the micro-USB connection. For wireless connectivity, you'll use libraries like 'WiFiNINA' which abstract the complexity of the NINA-W102 module.
To upload your first program, connect the board to your computer via USB. Open the Arduino IDE, select the correct board and port from the Tools menu. Write a simple sketch, such as the 'Blink' example, modify the pin number if necessary (though D13 is usually the onboard LED), and click the Upload button. The IDE will compile the code and send it to the microcontroller. For Wi-Fi projects, you will need to include the WiFiNINA library and use functions to connect to your network and perform tasks like making HTTP requests or serving web pages.