If you've moved to an Arduino Uno R4 Minima straight from an R3, the shield header looks identical -- same 14 digital pins, same 6 analog pins, same physical footprint -- so it's tempting to wire it up exactly like the old board and assume everything just carries over. Most of it does. A few things genuinely don't, and they're not obvious from the silkscreen.
The Minima replaces the old 8-bit ATmega328P with a 32-bit Arm Cortex-M4 (the Renesas RA4M1), and that swap changes more than raw speed -- the per-pin current budget is meaningfully lower, the ADC can run at higher resolution, and there's now a DAC and a built-in op-amp the R3 never had. It's the no-wireless sibling of the Uno R4 WiFi -- same core chip, same core pinout, just without the ESP32-S3 coprocessor and everything that comes with it.
Digital I/O Pins and Current Limits
Fourteen digital pins, D0 through D13, each configurable as input or output with pinMode() exactly like the R3.
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
This is the single biggest migration gotcha. These pins run 5V logic like the R3, but each one is only rated for 8mA, with a 60mA ceiling across every digital pin combined. The ATmega328P on the R3 could push 20-40mA per pin. A wiring pattern that worked fine driving an LED or a small relay coil directly off an R3 pin can brown out or damage the Minima's output driver at the same current. Anything beyond a single LED with a sensible resistor should go through a transistor or driver IC, not straight off the pin.
Every digital pin also has a built-in pull-up resistor (around 20kΩ), enabled with pinMode(pin, INPUT_PULLUP) -- unchanged from the R3.
PWM Pins
Six pins support PWM: D3, D5, D6, D9, D10, D11, marked with a tilde on the silkscreen, same count and same pins as the R3.
analogWrite(9, 128); // ~50% duty cycle
PWM resolution defaults to 8-bit (0-255) for backward compatibility, but the Minima can go up to 12-bit via analogWriteResolution(12) -- a range from 0-255 up to 0-4095, for finer control when dimming or driving analog-style outputs.
Interrupt Pins
D2 and D3 are the two pins the Arduino API exposes for attachInterrupt(), matching the R3's interrupt pins exactly, even though the underlying Cortex-M4 hardware (via its NVIC) can technically handle interrupts on nearly every pin.
ADC Pins
Six analog input pins, A0 through A5, same as the R3.
int reading = analogRead(A0);
The default resolution is 10-bit (0-1023) for compatibility with existing R3 code, but the ADC can be pushed to 12-bit or 14-bit with analogReadResolution(14) -- at 14-bit, it resolves voltage changes as small as roughly 0.3mV against a 5V reference, versus the R3's fixed ~4.9mV steps. Every analog pin can also double as a plain digital I/O pin if a project runs out of digital ones.
By default the ADC reference is the board's 5V rail. For sensors that top out at 3.3V, analogReference(AR_EXTERNAL) with a voltage applied to the AREF pin gives more usable resolution across that narrower range than reading a 3.3V signal against a 5V reference.
DAC Pin
A0 doubles as a true Digital-to-Analog Converter -- something the R3 never had at all. It uses the same analogWrite(pin, value) call as PWM, but outputs a real smoothed analog voltage rather than a switched square wave.
analogWrite(A0, 127); // roughly 2.5V at 8-bit default resolution
Default resolution is 8-bit (0-255), raisable to 12-bit (0-4095) with analogWriteResolution(12). Using A0 as a DAC output and as an analog input at the same time isn't possible -- it's one role or the other.
Op-Amp Pins
Another R3-first: the RA4M1 has four internal op-amps, and one is broken out to the header -- A1 as the non-inverting (+) input, A2 as the inverting (-) input, and A3 as the output. Wiring A2 directly to A3 turns it into a simple voltage-follower buffer; adding two resistors between A2/A3 and A2/GND turns it into a basic voltage amplifier. It needs the OPAMP.h library and an explicit OPAMP.begin() call before use.
Capacitive-Touch Pins
Eleven GPIOs double as capacitive touch inputs: D0, D1, D2, D3, D8, D9, D11, D13, A1, A2, plus a heart-shaped touch pad on the board's underside -- this is a chip-level RA4M1 feature, not tied to wireless, so it's fully present on the Minima. Wiring aluminum foil or conductive fabric to one of these turns it into a custom touch button, using the Arduino_CapacitiveTouch library's isTouched() and setThreshold() calls.
I2C Pins
One I2C bus, on A4 (SDA) / A5 (SCL) -- same location as the R3, accessed with the standard Wire object. No built-in pull-ups on this bus by default, though solder pads exist to add them.
The Uno R4 WiFi adds a second, dedicated 3.3V I2C bus (via Wire1) wired to a Qwiic connector for mixing 3.3V sensor breakouts safely alongside 5V devices. The Minima doesn't have that second bus or the Qwiic connector -- just the one 5V bus, same as the R3.
SPI Pins
SPI uses the modern Controller/Peripheral naming in R4 documentation, but the pins and function are unchanged from the R3: D11 (COPI/MOSI), D12 (CIPO/MISO), D13 (SCK), D10 (CS), also accessible through the 6-pin ICSP header for shields that connect there instead.
UART Pins
Another real upgrade over the R3: two independent hardware serial ports. The USB-C port connects to Serial, while pins D0 (RX) and D1 (TX) connect to a completely separate Serial1. On the R3, the USB connection and pins 0/1 share the same UART, so using an external serial device on those pins conflicts with the Serial Monitor. On the Minima, both can run at once -- debug over USB while a GPS or Bluetooth module talks on Serial1.
Serial1.begin(9600);
Serial1.println("Hello from Serial1");
CAN Pins
Also new versus the R3: a built-in CAN controller, with CAN TX on D4 and CAN RX on D5, using the Arduino_CAN library. This is the controller only, not a transceiver -- an external transceiver module (an MCP2551 or TJA1050) is still needed to actually put signals on a CAN bus.
ICSP Header
The 6-pin ICSP header is physically present, same as the R3, but its job has changed. On the R3, it's commonly used to flash a bootloader with an external ISP programmer. The RA4M1 doesn't support programming over SPI at all, so on the Minima the ICSP header exists purely for SPI-based shields expecting the signals there -- it's not a bootloader-flashing header anymore.
Power Pins
| Pin | Function | Notes |
|---|---|---|
| VIN | External power input (6-24V) | Regulated down to 5V by an onboard buck converter; also tied to the barrel jack |
| 5V | Regulated 5V output | ~1.2A available when powered via VIN/barrel jack; up to ~2A when powered via USB-C (bypasses the buck converter). Runs closer to 4.7V on USB power due to a protection diode drop |
| 3.3V | Regulated 3.3V output | Reference voltage for 3.3V sensors and logic; check current draw against the datasheet before relying on it for anything power-hungry |
| GND | Ground | Multiple ground pins broken out |
High-current loads like servo motors should still be powered separately rather than off the board's 5V pin, same advice as on the R3.
The Minima has no OFF or VRTC pins -- those battery-backed-RTC and remote-shutdown features are exclusive to the WiFi variant, which needs them to manage its extra ESP32-S3 coprocessor.
What the Minima Doesn't Have
Everything wireless-adjacent on the Uno R4 WiFi comes from its extra ESP32-S3 coprocessor, which the Minima simply doesn't carry:
| Feature | Minima |
|---|---|
| WiFi / Bluetooth LE | No |
| Second I2C bus / Qwiic connector | No |
| 12x8 LED Matrix | No |
| ESP debug header | No |
| OFF / VRTC pins | No |
Everything else -- digital I/O, PWM, ADC, DAC, op-amp, capacitive touch, SPI, dual UART, CAN -- is identical between the Minima and the WiFi variant, since both run the same RA4M1 chip.
Quick Answers to Common Uno R4 Minima Pin Questions
Will my R3 shields still work on the Minima? Physically, yes -- the header layout is unchanged. Electrically, check the shield's current draw per pin against the 8mA/60mA budget before assuming it'll behave identically.
Should I get the Minima or the WiFi variant? If a project doesn't need wireless, the second I2C bus, or the LED matrix, the Minima has the identical core pinout for less money -- there's no pin-count or capability loss on the digital/analog/PWM/DAC/CAN side.
Can I use 5V sensors with the Minima? Yes -- every pin on this board runs 5V logic, same as the R3, with no 3.3V-only exceptions to worry about.
Why does analogRead() still return 0-1023 by default? For backward compatibility with existing R3 code. Call analogReadResolution(12) or (14) explicitly to use the Minima's higher native ADC resolution.
What's the DAC pin actually useful for? Generating a real analog voltage -- smooth waveforms, a variable reference voltage, or driving a VCO in a simple synth circuit -- something PWM alone can only approximate.
Where to Go From Here
Once the lower current budget and the dual-UART setup feel like second nature, the DAC and op-amp pins are worth exploring next since they open up analog circuit designs an R3 simply couldn't do on its own. From there, if a project ends up needing wireless connectivity, a second I2C bus, or the built-in LED matrix, the Uno R4 WiFi carries the exact same core pinout with those features added on top -- no rewiring or relearning required for anything covered here.