Loading the figure…
The UNO goes 32-bit: a 48 MHz Arm chip with a real DAC and a 14-bit ADC, the same 5 V pins and shield footprint, and USB-C. The WiFi version adds an ESP32-S3 radio and a 12 x 8 LED matrix.
Each lesson runs your own code on the board. Finish its checks to tick it off.
Build the board in the right order, then power it up and check it, as on the bench.
0 of 10 stepsPull the USB-C cable and the adapter. Never build or repair a live board.
Each fault really happens in the simulation. Trigger one, watch the figure, then read why.
The UNO R4 keeps the UNO R3's outline, header positions and 5 V logic, so most shields still fit, but swaps the 8-bit ATmega328P for a Renesas RA4M1: an Arm Cortex-M4F at 48 MHz with 256 KB of flash, 32 KB of RAM and 8 KB of data flash for EEPROM. It adds a 12-bit DAC on A0, a 14-bit ADC, an op-amp on A1-A3 and a CAN controller, and runs from its internal oscillator (there is no crystal on the board). Power comes from USB-C at 5 V, or 6-24 V on the barrel jack or VIN through a buck converter that stays cool where the R3's linear regulator got hot. There are two versions. The Minima is the bare board, with native USB and an SWD debug header. The WiFi adds an ESP32-S3 module that is both the USB bridge and the Wi-Fi and Bluetooth radio, a 12 x 8 red LED matrix and a 3.3 V Qwiic connector. One rule changes from the R3: each pin is good for 8 mA, not 20.
| Header | Pin | Name | Functions | Level | Max current | Notes |
|---|---|---|---|---|---|---|
| JANALOG | 1 | BOOT | MD (P201), boot mode strap, Strapping pin | 5 V | – | BOOT: the RA4M1's MD pin, where the UNO R3 had NC. Held LOW at reset, the chip starts its ROM boot mode instead of your sketch. Leave it unconnected. |
| JANALOG | 2 | IOREF | 5 V logic reference | 5 V | – | IOREF: tied to 5 V, so a shield knows the logic level. |
| JANALOG | 3 | RESET | RESET (active low) | 5 V | – | |
| JANALOG | 4 | 3.3V | 3.3 V out | 3.3 V | – | 3.3 V out. Weak on the Minima (the RA4M1's own USB regulator); on the WiFi it shares a regulator with the ESP32-S3. |
| JANALOG | 5 | 5V | 5 V rail | 5 V | – | The 5 V rail: out to your circuits, or a clean 5 V in, with no protection at all. |
| JANALOG | 6 | GND | ground | – | – | |
| JANALOG | 7 | GND | ground | – | – | |
| JANALOG | 8 | VIN | 6-24 V in | – | – | 6-24 V in, the same node as the barrel jack's centre pin. |
| JANALOG | 9 | A0 | A0, P014, AN09, DAC (12-bit) | 5 V5 V tolerant | 8 mA | Analog input, and the RA4M1's 12-bit DAC output. DAC is another name for A0. |
| JANALOG | 10 | A1 | A1, P000, AN00, OPAMP + | 5 V5 V tolerant | 8 mA | |
| JANALOG | 11 | A2 | A2, P001, AN01, OPAMP - | 5 V5 V tolerant | 8 mA | |
| JANALOG | 12 | A3 | A3, P002, AN02, OPAMP out | 5 V5 V tolerant | 8 mA | |
| JANALOG | 13 | A4 | A4, P101, AN21, I2C SDA (Wire) | 5 V5 V tolerant | 8 mA | |
| JANALOG | 14 | A5 | A5, P100, AN22, I2C SCL (Wire) | 5 V5 V tolerant | 8 mA | |
| JDIGITAL | 1 | RX◂0 | D0, P301, Serial1 RX | 5 V5 V tolerant | 8 mA | Serial1 RX (P301). On the R4, Serial is USB, so D0 and D1 are free for another device and never get in the way of an upload. |
| JDIGITAL | 2 | TX▸1 | D1, P302, Serial1 TX | 5 V5 V tolerant | 8 mA | |
| JDIGITAL | 3 | 2 | D2, P105, IRQ0 | 5 V5 V tolerant | 8 mA | |
| JDIGITAL | 4 | ~3 | D3, P104, IRQ1, PWM | 5 V5 V tolerant | 8 mA | |
| JDIGITAL | 5 | 4 | D4, P103, CAN TX | 5 V5 V tolerant | 8 mA | |
| JDIGITAL | 6 | ~5 | D5, P102, CAN RX, PWM | 5 V5 V tolerant | 8 mA | |
| JDIGITAL | 7 | ~6 | D6, P106, PWM | 5 V5 V tolerant | 8 mA | |
| JDIGITAL | 8 | 7 | D7, P107 | 5 V5 V tolerant | 8 mA | |
| JDIGITAL | 9 | 8 | D8, P304 | 5 V5 V tolerant | 8 mA | |
| JDIGITAL | 10 | ~9 | D9, P303, PWM | 5 V5 V tolerant | 8 mA | |
| JDIGITAL | 11 | ~10 | D10, P112, SPI CS, PWM | 5 V5 V tolerant | 8 mA | |
| JDIGITAL | 12 | ~11 | D11, P109, SPI COPI, PWM | 5 V5 V tolerant | 8 mA | |
| JDIGITAL | 13 | 12 | D12, P110, SPI CIPO | 5 V5 V tolerant | 8 mA | |
| JDIGITAL | 14 | 13 | D13, P111, SPI SCK, LED_BUILTIN | 5 V5 V tolerant | 8 mA | D13 (P111): LED_BUILTIN, the L LED's pin, and SPI SCK. |
| JDIGITAL | 15 | GND | ground | – | – | |
| JDIGITAL | 16 | AREF | analog reference in | 5 V | – | AREF: an external reference for analogRead() after analogReference(AR_EXTERNAL). |
| JDIGITAL | 17 | SDA | I2C SDA (Wire), same pin as A4 | 5 V5 V tolerant | 8 mA | SDA: the same wire as A4. There are no pull-up resistors on the board, so an I²C module must bring its own. |
| JDIGITAL | 18 | SCL | I2C SCL (Wire), same pin as A5 | 5 V5 V tolerant | 8 mA | |
| ICSP | 1 | CIPO | SPI CIPO, same signal as D12 | 5 V | – | |
| ICSP | 2 | 5V | 5 V rail | 5 V | – | |
| ICSP | 3 | SCK | SPI SCK, same signal as D13 | 5 V | – | |
| ICSP | 4 | COPI | SPI COPI, same signal as D11 | 5 V | – | |
| ICSP | 5 | RESET | RESET (active low) | 5 V | – | |
| ICSP | 6 | GND | ground | – | – | |
| SWD | 1 | +5V | target voltage (5 V) | 5 V | – | The debug header's target voltage is 5 V, not 3.3 V: use a probe that accepts it. |
| SWD | 2 | SWDIO | P108 SWDIO | 5 V | – | |
| SWD | 3 | GND | ground | – | – | |
| SWD | 4 | SWCLK | P300 SWCLK | 5 V | – | |
| SWD | 5 | GND | ground | – | – | |
| SWD | 6 | NC | not connected | – | – | |
| SWD | 7 | RX | P502 RXD1 (spare UART) | 5 V | – | |
| SWD | 8 | TX | P501 TXD1 (spare UART) | 5 V | – | |
| SWD | 9 | GND | ground | – | – | |
| SWD | 10 | RESET | RESET (active low) | 5 V | – | RESET. The datasheet says NC, but Arduino's own design files wire it to RESET, as the standard 10-pin Cortex debug pinout does. |
| ESP | 1 | IO42 | ESP32-S3 GPIO42, MTMS (JTAG) | 3.3 V | – | ESP32-S3 pins, 3.3 V only. Never wire them to a 5 V RA4M1 pin. |
| ESP | 2 | IO41 | ESP32-S3 GPIO41, MTDI (JTAG) | 3.3 V | – | |
| ESP | 3 | TXD0 | ESP32-S3 UART0 TX | 3.3 V | – | |
| ESP | 4 | DOWNLOAD | ESP32-S3 GPIO0, boot strap, Strapping pin | 3.3 V | – | DOWNLOAD (ESP32-S3 GPIO0). Held to GND at reset, the ESP32-S3 waits in its ROM download mode for esptool, and the USB bridge and Serial are gone. |
| ESP | 5 | RXD0 | ESP32-S3 UART0 RX | 3.3 V | – | |
| ESP | 6 | GND | ground | – | – | |
| JOFF | 1 | OFF | buck enable (pulled up) | – | – | OFF: tie it to GND to switch the buck off. It cuts power from VIN and the jack only; USB still runs the board. |
| JOFF | 2 | GND | ground | – | – | |
| JOFF | 3 | VRTC | RA4M1 VBATT (RTC backup) | – | – | VRTC: a backup supply, such as a coin cell, for the RA4M1's real-time clock. Only the clock keeps running from it. |
| QWIIC | 1 | GND | ground | – | – | |
| QWIIC | 2 | 3.3V | 3.3 V through a 500 mA PTC | 3.3 V | – | 3.3 V for the Qwiic device, through a 500 mA resettable fuse. |
| QWIIC | 3 | SDA | Wire1 SDA (P401, level-shifted) | 3.3 V | – | SDA of Wire1 (P401), shifted to 3.3 V by a MOSFET. A Qwiic sensor goes on Wire1, not Wire. |
| QWIIC | 4 | SCL | Wire1 SCL (P400, level-shifted) | 3.3 V | – |
Sensors and actuators this board drives, with the real connections.
Long leg (anode) through a 1 kΩ resistor to D13, short leg to GND. 1 kΩ gives about 3 mA, well inside the R4's 8 mA per pin.
| Part pin | Board pin |
|---|---|
| A | D13Wire colour orange |
| K | GNDWire colour black |
Never without a resistor: an R4 pin is good for 8 mA, and a bare LED would try to pull far more.
Between D2 and GND with pinMode(2, INPUT_PULLUP): it reads LOW while pressed. D2 and D3 also take attachInterrupt().
| Part pin | Board pin |
|---|---|
| 1 | D2Wire colour yellow |
| 3 | GNDWire colour black |
Ends to GND and 5V, the middle leg (wiper) to A1. analogRead(A1) goes from 0 to 1023 by default, or to 16383 after analogReadResolution(14).
| Part pin | Board pin |
|---|---|
| 1 | GNDWire colour black |
| 2 | A1Wire colour blue |
| 3 | 5VWire colour red |
Brown to GND, red to 5V, orange to D9. Servo.attach(9), then write(0..180).
| Part pin | Board pin |
|---|---|
| brown | GNDWire colour brown |
| red | 5VWire colour red |
| orange | D9Wire colour orange |
A starting servo can pull several hundred mA. On USB that comes straight from the computer's port, with no fuse on the board. More than one servo needs its own 5 V supply, with the grounds joined.
VCC to 5V, GND to GND, Trig to D7, Echo to D6. The R4's pins are 5 V, so they read the 5 V echo directly.
| Part pin | Board pin |
|---|---|
| VCC | 5VWire colour red |
| Trig | D7Wire colour green |
| Echo | D6Wire colour yellow |
| GND | GNDWire colour black |
VCC to 5V, GND to GND, SDA to SDA, SCL to SCL. It answers at 0x68 (0x69 with AD0 high). The breakout's own pull-up resistors matter here: the R4 has none fitted.
| Part pin | Board pin |
|---|---|
| VCC | 5VWire colour red |
| GND | GNDWire colour black |
| SDA | SDAWire colour blue |
| SCL | SCLWire colour yellow |
Use a breakout with a regulator on it (the common GY-521 has one); the bare chip is 3.3 V only.