This Arduino Board is a combination of everyone's favorite board, the Arduino Uno with an integrated Wi-Fi chip. The board uses the ATmega328P like all Uno boards, however, includes an ESP8266 WiFi Module as well! Boasting 14 digital input/output pins (6 of which can also utilize the ADC onboard for PWM), 6 analog inputs, a 16 MHz ceramic resonator, a USB Type-A connector, a DC Barrel jack for power, an ICSP header and a reset button! Everything needed to support the microcontroller is included onboard; simply connect it to a computer with a USB cable or power it with an AC-to-DC adapter or battery to get started with your projects.
The ESP8266 processor from Espressif is an 80 MHz microcontroller that can act as a client or access point. If you want to learn more about the Espressif Chips, check out our guide. Additionally, the device can act as a wireless access point. One interesting and useful feature of Uno Wi-Fi is support for OTA (over-the-air) programming, this could include either Arduino Sketches or wireless firmware modifications.
Arduino Uno Wifi Specifications
The Arduino Uno Wi-Fi can be powered via the USB connection or with an external power supply. The power source is selected automatically from the 4 different methods available, these include:
- USB (5V) - The Uno will use any 5V power supply with a USB Type A connector. The total current drawn will be limited by the supply, most PCs only provide 250-500mA so bear that in mind if you are looking to power your project directly from a PC.
- 2.1mm Centre-Positive Barrel Jack (Regulates Voltage from 7-12V DC) - The Uno will use any 7-12V source here, as long as it is connected center positive and is 7-12V DC.
- Vin Pin/GND Pin on Power Header on board - This pin can either be a power input (7-12V DC) or to drawn power directly from the barrel jack supply.
- 5V Power Pin on Power Header on Board - This pin can either be used as a 5V output pin or supply 5V.
- When powering the circuit via multiple methods, the 7-12V supply options will take preference over the 5V, and the 5V will be used for data transfer.
The ATmega328 controller chip contains 32 KB of memory (0.5 KB of this is reserved for the bootloader). It also has 2 KB of Static RAM and 1 KB of EEPROM.
Input and Output
All of the digital I/O pins on the Uno WiFi use 5V logic. Each of the pins can either supply or receive a maximum of 40mA without damaging the microcontroller. You can handle the control of each pin in the IDE.
Some of these pins can work not only as IO pins:
- Pins 0 and 1 can be used to receive (RX) and transmit (TX) TTL serial data. These pins are connected to the corresponding pins of the ATmega8U2 USB-to-TTL Serial chip.
- Pins 2 and 3 can be used as External Interrupt pins. See the attachInterrupt() function for details on how to use these pins.
- Pins 3, 5, 6, 9, 10, and 11 are able to provide an 8-bit PWM output. This is denoted on the board by a tilde (~) symbol beside the pin number.
- Pins 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) can be used to connect sensors via an SPI Bus. These pins support SPI communication using the SPI library.
- Pin 13 has a built-in LED connected to it, writing this Pin HIGH and LOW will control the LED.
- Pins A0 through A5 are all analog input pins. Each of which provides 10 bits of resolution (i.e. 1024 different values). Typically these voltages will measure between 0 and 5V, however you can use the AREF pin to change this.
- The analog pins A4 and A5 are used for a TWI (or I2C bus) as the SDA pin and SCL pin.
- The Reset Pin. You can add an additional reset button in by bringing this pin low.
To communicate between your Uno WiFi and other Microcontrollers/Computers, you have a few options. The ATmega328 has UART TTL (5V) for serial communication. The ATmega16U2 onboard takes that serial data over USB, this will appear as a virtual com port to software on the computer. The 16U2 firmware uses a standard USB COM drivers. However, on Windows, a .inf file is required.
The Arduino software includes a serial monitor which allows simple textual data to be sent to and from the Arduino board (over USB). There are RX and TX LEDs on the board that will flash when data is being transmitted via the USB-to-serial chip and USB connection to the computer (but not for serial communication on pins 0 and 1).
A SoftwareSerial library allows for serial communication on any of the Uno's digital pins.
The ATmega328 also supports I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify the use of the I2C bus; For SPI communication, use the SPI library.
On the Arduino Uno Wi-Fi, there’s also an SC16IS750IBS IO Expander Single UART with I2C-bus/SPI interface that allows the communication between AtMega 16u2, AtMega 328p and the ESP8266EX.
Arduino Uno Wifi Communication
IoT systems are accessible using the WiFi capability of the Uno WiFi. All of the sensors and components you are used to using with your Uno are now easily used over the air! You can use your Arduino Uno Wi-Fi as a client of your Wi-Fi network, as a server to connect other client devices or you can create an ad-hoc Wi-Fi connection.
The perfect way to communicate to internet via your Arduino Uno Wi-Fi is the Ciao Library that provides you several different connectors: REST, MQTT and more.
On the Arduino Uno Wi-Fi is pre-uploaded the RestServer sketch that allows you to command immediately your board via browser:
More information on the Ciao Library is available here.
The Arduino Uno Wi-Fi can be programmed as a classic Arduino Uno with the Arduino software (download). Select "Arduino Uno Wi-Fi from the Tools > Board menu (according to the microcontroller on your board.
The new features of the Arduino Uno Wi-Fi allow you to upload your sketch via Wi-Fi (in the same way of Arduino Yun), without any wired connection to your PC and your board.
The ATmega328 on the Arduino Uno Wi-Fi comes pre-burned with a bootloader that allows you to upload new code to it without the use of an external hardware programmer. It communicates using the original STK500 protocol.
You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header using Arduino ISP or similar.
Automatic (Software) Reset
Rather than requiring a physical press of the reset button before an upload, the Arduino Uno Wi-Fi is designed in a way that allows it to be reset by software running on a connected computer. One of the hardware flow control lines (DTR) of the ATmega8U2/16U2 is connected to the reset line of the ATmega328 via a 100 nanofarad capacitor. When this line is asserted (taken low), the reset line drops long enough to reset the chip. The Arduino software uses this capability to allow you to upload code by simply pressing the upload button in the Arduino environment. This means that the bootloader can have a shorter timeout, as the lowering of DTR can be well-coordinated with the start of the upload.
This setup has other implications. When the Uno WiFi is connected to either a computer running Mac OS X or Linux, it resets each time a connection is made to it from software (via USB). For the following half-second or so, the bootloader is running on the Uno. While it is programmed to ignore malformed data (i.e. anything besides an upload of new code), it will intercept the first few bytes of data sent to the board after a connection is opened. If a sketch running on the board receives one-time configuration or other data when it first starts, make sure that the software with which it communicates waits a second after opening the connection and before sending this data.
The Uno WiFi contains a trace that can be cut to disable the auto-reset. The pads on either side of the trace can be soldered together to re-enable it. It's labeled "RESET-EN". You may also be able to disable the auto-reset by connecting a 110 ohm resistor from 5V to the reset line.
USB Overcurrent Protection
The Arduino Uno Wi-Fi has a resettable polyfuse that protects your computer's USB ports from shorts and overcurrent. Although most computers provide their own internal protection, the fuse provides an extra layer of protection. If more than 500 mA is applied to the USB port, the fuse will automatically break the connection until the short or overload is removed.
The maximum length and width of the Uno Wi-Fi PCB are 2.7 and 2.1 inches respectively, with the USB connector and power jack extending beyond the former dimension. Four screw holes allow the board to be attached to a surface or case. Note that the distance between digital pins 7 and 8 is 160 mil (0.16"), not an even multiple of the 100 mil spacing of the other pins.
Arduino Uno Wifi Diagram
This product is listed in:
Documentation and Resources:
- Arduino Workshop for Beginners
Welcome to the Arduino Workshop, where you'll be able to follow our guided course which covers everything you'll need to know in order to create your own Arduino projects and become a leveled up maker. My name is Sam and along with being a maker my...
- C Programming for Makers
Welcome to the C Programming Workshop for Makers! Here you'll be able to follow along with our series of easily digestible videos that cover everything you'll need to know to on your way with C programming and start making awesome projects. As you pr...
- Arduino Boards, Compared
There are a bunch of Arduino boards, they come in different shapes and sizes, with different processing power, digital IO, and other capabilities. Rather than telling you guys what to buy, we have put together a handy guide to show you the capabiliti...
- The Maker Revolution
The Maker Revolution celebrates the creation of new devices and the modification of existing ones - the transition from a consumer buying goods to eventually having a major part in their creation. The Maker Revolution places strong emphasis on free (...
- History of Arduino
So, after almost a week of researching, cross-referencing, double checking, and image hunting, I’m excited to show you guys my take on the history of Arduino, and the evolution of the Arduino hardware into what it is today. With so many Arduino...
- How to Use a Logic Level Shifter/Converter
So you’ve got your microcontroller/development board ready to go, you’ve got your sensors and external components and you’re ready to build an IoT device to make the world your slave. But hang on a minute, the sensor you have only o...
- Arduino with LattePanda
Ah, Arduino and LattePanda coming together at last. What could be better? Well along with the fact that your LattePanda is a fully fledged Windows 10 computer so you can program any Arduino board you want as normal, one of the best things about Latte...
- Handheld UV Meter
UV is important to reptiles (and people) in processing vitamin D3 which is needed to absorb calcium. Without it reptiles often suffer from Metabolic Bone Disease (MBD) which leads to weak bones and can be fatal. Thankfully, pet shops have the answer, UV producing globes which can stave off the dreaded MBD. These are in the form of T8 florescent tubes or compact florescent globes and go for $50+ each. And, yeah, they need to be re...
Tabot is a robotic tablet dispenser. It is designed to help elderly people maintain their independence and help anyone who has tablets remember to take them on time.
- Cosplay Blaster
Hey guys! First time poster. I've been working on a blaster for my girlfriend's costume, and I thought I would share it with everyone. When triggered, it plays a selected sound effect and flashes the light. Pretty simple :)
- Coffee Grinder With Arduino
Using a few bits and pieces, this ordinary coffee grinder now has two presets to run the motor for a programmable length of time. The idea being that the grinder running for a set amount of time will deliver a certain amount of coffee each button press meaning the beans can be stored unground, keeping them fresher for longer. I completed this project for a friend, Ian, who lives for coffee. Ian wanted the same functionality in h...
- The Hipster Coaster
We wanted to make a interactive display of the fun that can be had with DIY projects to take to Sydney Mini Maker Faire. We decided to do so by utilising the TinkerKit Braccio from Arduino.org, alongside some 3D Printing ingenuity, for an engaging display for all ages. Enter the Hipster Coaster in all its glory. All the parts were printed seperately on our family of Lulzbot 3D Printers, later stuck together using a mi...
Exact shipping can be calculated on the view cart page (no login required).
We deliver Australia-wide with these options:
- $3 for Small Items (3-7 days, not tracked, only available on selected small items)
- $6.95 for Standard Post (2-4 days, tracked)
- $8.95 for Express Post (Overnight for Australia Post Next Day Network, tracked)
- Pickup - Free! Only available to customers who live in the Newcastle region (only after we email you to notify your order is ready)
International Orders - the following rates are for New Zealand and will vary for other countries:
- $11.49 for Pack and Track (3+ days, tracked)
- $16.50 for Express International (2-5 days, tracked)
If you order lots of gear, the postage amount might increment based on the weight of your order.
Our physical address (here's a PDF which includes other key business details):
Unit 18, 132 Garden Grove Parade
Take a look at our customer service page if you have other questions such as "do we do purchase orders" (yes!) or "are prices GST inclusive" (yes they are!). We're here to help - get in touch with us to talk shop.