# UNO R3 WiFi (ATmega328P + ESP8266): specs and pinout

> A third-party Uno-style board that carries an ATmega328P and an ESP8266 Wi-Fi chip with 4 MB flash on one board, with a CH340G USB-serial chip.

[HTML version](https://soldr.ai/docs/boards/uno-r3-wifi)

[Docs](https://soldr.ai/docs) / [Boards](https://soldr.ai/docs/boards)

A third-party Uno-style board that carries an ATmega328P and an ESP8266 Wi-Fi chip with 4 MB flash on one board, with a CH340G USB-serial chip.

Every value cites its sourceReference-design pinout

[Buy on Compoden](https://compoden.com/products/uno-r3-wifi-atmega328pesp8266-4mb-ch340g-compatible)

## Specs

| Spec | Value | Source |
|---|---|---|
| ATmega328P operating voltage | 1.8 V to 5.5 V | source Features, Operating Voltage (p.2) |
| ATmega328P speed grades | 0-4 MHz at 1.8-5.5 V, 0-10 MHz at 2.7-5.5 V, 0-20 MHz at 4.5-5.5 V | source Features, Speed Grade (p.2) |
| ATmega328P memory | 32 KB flash, 1 KB EEPROM, 2 KB SRAM | source Features (p.2) |
| ATmega328P I/O lines | 23 programmable I/O lines | source Features, I/O and Packages (p.2) |
| ATmega328P temperature range | -40 C to 85 C | source Features, Temperature Range (p.2) |
| ATmega328P DC current per I/O pin | 40.0 mA absolute maximum; voltage on any pin up to VCC + 0.5 V | source 29.1 Absolute Maximum Ratings (doc p.308) |
| ESP8266EX operating voltage | 2.5 V to 3.6 V | source Table 5-1 (p.24) |
| ESP8266EX input high level maximum | 3.6 V (TAMB = 25 C) | source Table 5-1 (p.24) |
| ESP8266EX ADC | 10-bit, input range 0 to 1.0 V on TOUT | source Section 4.9 (p.22) |

## Power

| | Value | Source |
|---|---|---|
| Supply | Chip-level only: ATmega328P 1.8 V to 5.5 V; ESP8266EX 2.5 V to 3.6 V. How the board supplies each is not documented. | source Features (p.2); ESP8266EX Table 5-1 (p.24) |

## Pinout

This is a third-party board with no maker document. The table below is the standard Arduino UNO R3 header layout from the official UNO R3 manual (A000066), a different board; it is not confirmed for this one, so check your board&#x27;s silkscreen. The DIP-switch routing between the ATmega328P, ESP8266 and CH340G is not documented, and neither is the board logic level.

| Pin | Function | Voltage | Notes | Source |
|---|---|---|---|---|
| IOREF | Reference for digital logic V | 5 V (on the Arduino UNO R3) | connected to 5 V on the Arduino UNO R3 | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| RESET | Reset | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| +3V3 | +3V3 power rail | 3.3 V | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| +5V | +5V power rail | 5 V | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| GND | Ground | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| VIN | Voltage input | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| A0 | Analog input 0 / GPIO | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| A1 | Analog input 1 / GPIO | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| A2 | Analog input 2 / GPIO | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| A3 | Analog input 3 / GPIO | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| A4/SDA | Analog input 4 / I2C data line | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| A5/SCL | Analog input 5 / I2C clock line | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| D0 | Digital pin 0 / GPIO | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| D1 | Digital pin 1 / GPIO | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| D2 | Digital pin 2 / GPIO | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| D3 | Digital pin 3 / GPIO | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| D4 | Digital pin 4 / GPIO | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| D5 | Digital pin 5 / GPIO | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| D6 | Digital pin 6 / GPIO | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| D7 | Digital pin 7 / GPIO | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| D8 | Digital pin 8 / GPIO | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| D9 | Digital pin 9 / GPIO | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| SS (D10) | SPI chip select | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| MOSI (D11) | SPI main out, secondary in | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| MISO (D12) | SPI main in, secondary out | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| SCK (D13) | SPI serial clock output | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |
| AREF | Analog reference voltage | | | Arduino datasheet A000066 UNO R3 user manual A000066 (a different board), Section 5.1 JANALOG / 5.2 JDIGITAL (manual contents p.12; PDF page 10) |

## Build with it
Project ideas for the UNO R3 WiFi (ATmega328P + ESP8266). Each link opens Soldr with the prompt filled in; Soldr assigns the pins, checks power and shows how to wire every part.

- [A Wi-Fi weather logger with an UNO R3 WiFi board and a DHT22 sensor](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20Wi-Fi%20weather%20logger%20with%20an%20UNO%20R3%20WiFi%20board%20and%20a%20DHT22%20sensor): The ATmega328P reads the DHT22 on a digital pin and sends data to the ESP8266 over the board&#x27;s serial link, which must be switched to the ESP8266 by the DIP switches (check your board&#x27;s markings).
- [A water tank distance reader sent over Wi-Fi with an UNO R3 WiFi board and an HC-SR04 ultrasonic sensor](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20water%20tank%20distance%20reader%20sent%20over%20Wi-Fi%20with%20an%20UNO%20R3%20WiFi%20board%20and%20an%20HC-SR04%20ultrasonic%20sensor): The HC-SR04 is a 5 V module, which suits the 5 V ATmega328P side; keep its echo line away from the ESP8266 pins, which are 3.3 V only. A learning project, not an overflow safety system.
- [A Wi-Fi controlled low voltage lamp switch with an UNO R3 WiFi board and a 5 V relay module](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20Wi-Fi%20controlled%20low%20voltage%20lamp%20switch%20with%20an%20UNO%20R3%20WiFi%20board%20and%20a%205%20V%20relay%20module): The ATmega328P drives the relay module input and the ESP8266 receives the on/off command over Wi-Fi. Use it for a low-voltage lamp only; mains wiring needs a qualified person.
- [A Wi-Fi doorbell notifier with an UNO R3 WiFi board and a tactile push button](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20Wi-Fi%20doorbell%20notifier%20with%20an%20UNO%20R3%20WiFi%20board%20and%20a%20tactile%20push%20button): The button to ground on a digital pin (internal pull-up) triggers a message sent through the ESP8266; no level shifting is needed for a plain switch.

## Common mistakes

- ESP8266 pins are not 5 V tolerant (VIH max 3.6 V) while the ATmega328P can run at 5 V; check the board serial link between the two chips before assuming it is level-shifted (source: [link](https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf), Table 5-1, p.24; [link](https://cdn.sparkfun.com/assets/9/d/0/c/e/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf), p.2).
- At 3.3 V the ATmega328P speed grade is limited to 10 MHz; 16 MHz needs the 4.5 to 5.5 V range (source: [link](https://cdn.sparkfun.com/assets/9/d/0/c/e/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf), Features, p.2).
- Do not draw more than 40 mA from one pin (source: [link](https://cdn.sparkfun.com/assets/9/d/0/c/e/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf), 29.1 Absolute Maximum Ratings).

## Not covered by the official source

- No maker document is available for this third-party board: the regulator, CH340G wiring, DIP switches, ESP8266 flash/serial link and logic level are not documented.
- Header rows are copied from the official Arduino UNO R3 manual on the assumption of the UNO layout; they are not confirmed by a document for this board.
- Board-level supply current is not available.
- ESP8266 flash size (4 MB) comes from the listing title only and is not verified.

## Sources

- [link](https://cdn.sparkfun.com/assets/9/d/0/c/e/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf) (ATmega48A/PA/88A/PA/168A/PA/328/P Data Sheet DS40002061B, Microchip 2020)
- [link](https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf) (ESP8266EX Datasheet v7.1, Espressif)
- Arduino datasheet A000066 (Arduino UNO R3 user manual A000066; a different board, used only for the standard header layout)
