Arduino Nano R4 Pinout, Datasheet, Schematic [Ultimate Guide]

In this guide, you’ll find the Arduino Nano R4 pinout diagram, its datasheet and schematic diagram, and every pin group explained with its default pins and gotchas. Without further ado, let’s get right into it!

The Arduino Nano R4 puts the UNO R4’s Renesas RA4M1, a 48MHz Arm Cortex-M4F with 256KB of flash and 32KB of SRAM, into the classic Nano footprint. It keeps 5v logic on all 20 I/O pins, and adds a USB-C port, a 12-bit DAC, an op-amp, CAN, and a 3.3v Qwiic connector.


Arduino Nano R4 Pinout Diagram

Here is a detailed Arduino Nano R4 Pinout Diagram with colored labels and legends to help you easily identify the functionalities that each pin can perform. It shows both 15-pin headers (JP1, the analog side, and JP2, the digital side), the Qwiic connector and the three extra pads next to it, with the Arduino pin numbers, the RA4M1 port pins, and every pin’s ADC, DAC, op-amp, PWM timer, UART, SPI, I2C and CAN functions.

Arduino Nano R4 pinout diagram with Arduino pin names, Renesas RA4M1 port pins, ADC, DAC, OPAMP, PWM timer, UART, SPI, I2C, CAN and Qwiic pin functions
Arduino Nano R4 (ABX00142 / ABX00143): headers JP1 (analog side), JP2 (digital side), and the Qwiic connector

Each row shows the Arduino pin number the core uses (D0–D13 are 0–13, A0–A7 are 14–21), the pin name, the RA4M1 port (P014, P101…), and its functions, color-coded by peripheral. Power and control pins (3V3, AREF, +5V, BOOT, RST, VIN) have no number. The dot symbol means the pin runs at 5v logic, the PWM symbol marks a hardware timer output, and the numbered badges point to the notes at the bottom of the diagram.

With the USB-C connector at the top, JP1 (left) runs from D13 (pin 1) down to VIN (pin 15), and JP2 (right) runs from D1/TX (pin 1, bottom) up to D12 (pin 15, top), as in Arduino’s datasheet and schematic. The rows are 15.24mm (600 mil) apart, like every Nano, and the Qwiic connector sits at the end opposite the USB-C port.

Buy an Arduino Nano R4: If you don’t have one yet, you can get the genuine Arduino board (ABX00143, with headers) from Amazon or AliExpress. It runs the same Arduino core as the UNO R4, so most UNO R4 sketches and libraries work on it right away.

Download Arduino Nano R4 Pinout Diagram (Full Resolution)

The Arduino Nano R4 pinout diagram (JP1 and JP2 headers, Qwiic connector and extra pads) in full resolution (5120×2800 px WebP), in one ZIP file. Print it, zoom in, or keep it next to your bench. Please consider supporting my work if it helped you.


Arduino Nano R4 Datasheet

This development board is built around the Renesas RA4M1 microcontroller (R7FA4M1AB3CFM, LQFP64), the same chip as the UNO R4 Minima and UNO R4 WiFi. So the Arduino Nano R4 datasheet set has two parts: Arduino’s documents for the board and Renesas’s for the chip. Here are the official documents you’ll need, linked to their original sources:

DocumentIDRevisionWhat You’ll Use It ForLink
Arduino Nano R4 datasheetABX00142 / ABX00143Rev 4 (20 Oct 2026)Board specs, power options, current limits, header pin listsPDF
Arduino Nano R4 schematicABX00142V1.2 (29 May 2025)The full board circuit (see the next section)PDF
Arduino Nano R4 full pinoutABX00142Nov 2025Arduino’s pin map, including the bottom test padsPDF
Arduino Nano R4 user manualArduino DocsSep 2026Core features: RGB LED, DAC, OPAMP, RTC, CAN, Qwiic, HID, bootloaderWeb
RA4M1 Group datasheetR01DS0355EJ0110Rev.1.10 (Sep 2023)Pin functions (multiplexing), electrical limits, drive current, input levelsPDF
RA4M1 Group User’s Manual: HardwareR01UH0887EJ0110Rev.1.10 (Sep 2023)Registers and every peripheral (GPT, SCI, IIC, CAN, ADC, DAC, boot modes)PDF

Which document do I need? The Arduino datasheet for the board’s power limits and header map, the schematic for what’s connected to each pin, the RA4M1 datasheet for pin functions and electrical limits, and the hardware manual when you write register-level code. Arduino keeps all its board files on the Arduino Nano R4 product page, and its Nano R4 user manual has the core-specific examples.


Arduino Nano R4 Schematic

The Arduino Nano R4 schematic is Arduino’s ABX00142 drawing, version V1.2 (29 May 2025), shared by the boards with and without headers. It’s one sheet, so here is the full sheet followed by close-ups of each block; click a page to view it full screen.

Arduino Nano R4 schematic page 1: full sheet (ABX00142 V1.2)
Page 1 of 7 · Full Sheet
Arduino Nano R4 schematic page 2: USB-C connector, ESD protection and RA4M1 microcontroller (ABX00142 V1.2)
Page 2 of 7 · USB-C & RA4M1 Microcontroller
Arduino Nano R4 schematic page 3: headers JP1/JP2, extra pads and reset button (ABX00142 V1.2)
Page 3 of 7 · Headers JP1/JP2 & Reset Button
Arduino Nano R4 schematic page 4: RGB LED, power LED and LED_BUILTIN (ABX00142 V1.2)
Page 4 of 7 · RGB, Power & Built-in LEDs
Arduino Nano R4 schematic page 5: MP2322 buck converter and AP2112K 3.3v LDO (ABX00142 V1.2)
Page 5 of 7 · MP2322 Buck & AP2112K LDO
Arduino Nano R4 schematic page 6: 5v to 3.3v I2C level translators and Qwiic connector (ABX00142 V1.2)
Page 6 of 7 · I2C Level Translators & Qwiic
Arduino Nano R4 schematic page 7: bottom test points (SWD, USB, reset) (ABX00142 V1.2)
Page 7 of 7 · Test Points
Page 1 of 4

Official source: the Arduino Nano R4 schematic V1.2 (PDF) on Arduino Docs. Here’s what to look at:

  • Power path: VIN (6v–21v) feeds the MP2322GQH buck converter (U2), which makes 5v and reaches the +5V rail through the Schottky diode D1 (PMEG6020). USB-C VBUS reaches the same rail through Q2 (AO3407), a P-MOSFET used as an ideal diode. That’s the “power OR” circuit in Arduino’s datasheet.
  • 3.3v rail: the AP2112K-3.3 LDO (U3) makes 3.3v from the 5v rail for the 3V3 pin, the Qwiic connector and the 3.3v side of the I2C shifters. Its EN pin is driven by P500 (with a 5.1kΩ pull-up), so a sketch can turn the whole 3.3v rail off.
  • RA4M1 (U1): runs from the 5v rail (VCC and AVCC0 = 5v), which is why every header pin is 5v logic. The 16MHz crystal (Y1) sits on P212/P213. XCIN/XCOUT (P214/P215) are not connected: there’s no 32.768kHz crystal. USB D+/D− go straight to the chip’s own USB (P914/P915) through the ESD diodes Z1/Z2.
  • AREF: connected to +5V through R1 (5.1kΩ) and to the chip’s VREFH0 through the ferrite bead L1, so the ADC reference is 5v when nothing is connected.
  • Headers: JP1 pin 13 is the MD (boot mode) pin with the 5.1kΩ pull-up R4, labelled BOOT on the board; on a classic Nano this position is RESET. RST (JP2-3) has the 5.1kΩ pull-up R3 and the reset button PB1. The schematic names the 5V pin (JP1-12) “VUSB”, but it’s the board’s +5V rail.
  • Qwiic (J2): the chip’s second I2C bus, IIC0 on P401 (SDA) and P400 (SCL), goes through two MOSFET level translators (Q1, Q3) with 5.1kΩ pull-ups on both sides. The 3.3v side also comes out on the J3 (SCL_3V3) and J4 (SDA_3V3) pads, next to the J5 VBATT pad.
  • LEDs: the common-anode RGB LED (DL1) on P409/P410/P411 through 1kΩ resistors (active LOW), the yellow LED_BUILTIN (DL2) on P204, and the green power LED (DL3) on the 5v rail.
  • Test points (bottom): SWDIO (P108), SWCLK (P300), RESET, USB D+/D−, VBUS, +5V and GND, for a debug probe.

Note: The user manual’s digital-pin table lists D0 as P302 (TX) and D1 as P301 (RX), but the schematic, the Arduino core, and the full pinout all say D0 = P301 = RX and D1 = P302 = TX, which is what this article uses. The schematic also labels D11/D12 as SCI9 TXD/RXD, while the core drives them as SPI (RSPI1 MOSIB/MISOB).


Arduino Nano R4 Specs

The Arduino Nano R4 is a Nano-size RA4M1 board from Arduino. Here are its specifications, including the board-level parts that chip-only spec lists usually skip.

Arduino Nano R4 development board (ABX00142) with the Renesas RA4M1 microcontroller and Qwiic connector

Get an Arduino Nano R4: The genuine Arduino board (ABX00143, with headers) is the one I recommend. Grab it from Amazon or AliExpress.

ItemArduino Nano R4
MicrocontrollerRenesas RA4M1 (R7FA4M1AB3CFM, LQFP64)
CPU32-bit Arm Cortex-M4F at 48MHz, with FPU and MPU
Memory256KB flash, 32KB SRAM, 8KB data flash (used as EEPROM)
Logic level5v on every header pin; 3.3v only on the Qwiic connector and its two pads
I/O pins20 on the headers: D0–D13, A0–A7
Analog8 ADC inputs (A0–A7, up to 14-bit), 1x 12-bit DAC (A0), 1x op-amp (A1–A3)
Board supplyUSB-C 5v (4.8v–5.5v, 500mA), or 6v–21v on VIN
5v regulatorMP2322GQH synchronous buck converter (VIN to 5v)
3.3v regulatorAP2112K-3.3 LDO; the board gets very hot above 150mA on the 3V3 pin
Pin current8mA per pin (Arduino); RA4M1: 60mA total for all outputs
Clocks16MHz crystal (Y1); no 32.768kHz crystal
USB connectorUSB-C, wired to the RA4M1’s native USB (upload, Serial, HID keyboard/mouse)
Connectors2x 15-pin Nano headers, Qwiic (JST SH 4-pin, 3.3v), VBATT/SDA_3V3/SCL_3V3 pads
DebugSWD on the bottom test pads (SWDIO P108, SWCLK P300)
User I/ORGB LED (active LOW), yellow LED_BUILTIN (P204), green power LED, reset button
Form factorArduino Nano, 18 × 45mm, castellated pads
Order codesABX00142 (without headers), ABX00143 (with headers)
Operating temperature−40°C to +85°C
NoWi-Fi, Bluetooth, or 32.768kHz RTC crystal

Arduino Nano R4 Specifications Summary

  • The Arduino Nano R4 runs a Renesas RA4M1 (Arm Cortex-M4F) at 48MHz with 256KB flash, 32KB SRAM and 8KB EEPROM (data flash), the same MCU as the UNO R4.
  • It has 20 I/O pins on the headers (D0–D13, A0–A7), and they all work at 5v logic: outputs swing to 5v, and a HIGH input needs at least 4.0v.
  • It has 8 analog inputs (A0–A7) with a 14-bit ADC (10-bit by default), a 12-bit DAC on A0, and an op-amp on A1 (+), A2 (−), A3 (out).
  • analogWrite() gives PWM on 16 pins (D0–D13, A4, A5); Arduino marks 6 of them with “~” (D3, D5, D6, D9, D10, D11).
  • Serial is the USB-C port; Serial1 is the hardware UART on D0 (RX) / D1 (TX).
  • Wire is on A4 (SDA) / A5 (SCL) at 5v; Wire1 is the Qwiic connector at 3.3v (RA4M1 IIC0).
  • SPI is D11 (COPI), D12 (CIPO), D13 (SCK) with D10 as CS.
  • The CAN pins are D4 (TX) and D5 (RX); they need an external CAN transceiver.
  • 13 pins support attachInterrupt(): D0, D1, D2, D3, D8, D12, D13, A1–A6.
  • Power it from USB-C (5v) or VIN (6v–21v); the +5V and 3V3 pins are outputs.
  • LED_BUILTIN is on P204 (pin 22), not on D13; the RGB LED is LEDR/ LEDG/ LEDB (active LOW).
  • Each pin is rated 8mA by Arduino; keep the total of all outputs under 60mA (Renesas).

Arduino Nano R4 Peripherals: RA4M1 vs On the Headers

The RA4M1 has more peripherals than the Nano headers can expose. This table shows what the chip has and what you can actually reach on the Nano R4.

PeripheralRA4M1On the Nano R4
GPIO51 I/O on the LQFP6420 (D0–D13, A0–A7)
ADC14-bit SAR, up to 25 channels8 Arduino inputs (A0–A7); the chip also has AN019/AN020 on D4/D5
DAC1x 12-bit (DA0)A0
Op-amp4 (OPAMP0–3)OPAMP0 complete on A1 (+), A2 (−), A3 (out)
PWM timers2x 32-bit GPT + 6x 16-bit GPT16 GPT outputs: D0–D13, A4, A5
UART (SCI)4 (SCI0, SCI1, SCI2, SCI9)Serial1 = SCI2 on D0/D1
SPI2 (RSPI0, RSPI1)Arduino SPI = RSPI1 on D10–D13
I2C2 (IIC0, IIC1)Wire = IIC1 on A4/A5 (5v); Wire1 = IIC0 on Qwiic (3.3v)
CAN1 (CAN 2.0B)D4 (TX), D5 (RX)
USBUSB 2.0 Full-SpeedUSB-C connector only
RTCYes (with VBATT domain)Runs from the internal LOCO oscillator; VBATT pad for backup
Touch (CTSU)YesNot supported by the Arduino core on this board
Not on the board–Wi-Fi, Bluetooth, 32.768kHz crystal

Arduino Nano R4 Quick Pin Selection Guide

Not sure which pin to use? Here are the Arduino Nano R4 pins I’d pick first for each job, and why.

Use CaseRecommended PinsWhy
Serial to the PCUSB-C (Serial)Native USB CDC; no adapter needed
Serial to a module (GPS, GSM…)D0 (RX), D1 (TX) as Serial1The only hardware UART on the headers
5v I2C sensors and displaysA4 (SDA), A5 (SCL)The Arduino Wire bus, at 5v
3.3v I2C sensorsQwiic connector (Wire1)Built-in level shifting and 3.3v power
SPI devicesD11 (COPI), D12 (CIPO), D13 (SCK), D10 (CS)The Arduino SPI pins
Analog inputsA0–A7 (A6, A7 first)A6/A7 have no other role; A4/A5 are I2C
True analog outputA0 (DAC)12-bit DAC, a real voltage instead of PWM
PWM (LEDs, motors, servos)D3, D5, D6, D9, D10, D11The default “~” pins, each on its own timer output
CAN busD4 (TX), D5 (RX)Arduino_CAN library defaults; add a transceiver
External interruptD2, D8, D13, D1Each has its own interrupt channel
On-board LEDsLED_BUILTIN, LEDR / LEDG / LEDBPins 22–25; the RGB LED is active LOW
Safest general GPIOD2, D6, D7, D8, D9No bus, boot or analog role

Arduino Nano R4 Pins to Use With Caution

PinReasonWhat to Do
BOOT (JP1-13)RA4M1 MD pin: LOW at power-up starts the Renesas ROM boot modeLeave it open; check old Nano shields that use this position as RESET
AREFTied to 5v through 5.1kΩ on the boardUse a reference source that can drive against 5.1kΩ, or leave it open
D0, D1Serial1 (UART)Free them only if you don’t need the hardware UART
D2 + D11, D3 + D12Same timer output (GTIOC1A, GTIOC1B)Don’t PWM both pins of a pair with different duty cycles
A1, A2, A3The op-amp’s pinsNot ADC inputs while OPAMP.begin() is active
A0The DAC outputNot an ADC input while the DAC is in use
A4, A5The Wire I2C busDon’t use them as analog inputs while I2C runs
D11SPI COPI and the SWO trace pinPick one role
All header pins5v logic; HIGH needs ≥ 4.0vLevel-shift every 3.3v device (or use Qwiic)
3V3LDO gets hot above 150mA; P500 can switch it offPower bigger 3.3v loads separately

Arduino Nano R4 Pin Numbering: Arduino Pins vs RA4M1 Ports

In the Arduino IDE, the Arduino Nano R4 uses plain Arduino pin numbers: D0–D13 are 0–13 and A0–A7 are 14–21. The RA4M1 port behind each pin (P301, P105…) only matters when you read the Renesas datasheet or write register-level code. Here is the full map from the core’s NANOR4 variant:

PinArduino #RA4M1 PortPinArduino #RA4M1 Port
D0 (RX)0P301A0 (DAC)14P014
D1 (TX)1P302A115P000
D22P105A216P001
D3~3P104A317P002
D4 (CAN TX)4P103A4 (SDA)18P101
D5~ (CAN RX)5P102A5 (SCL)19P100
D6~6P106A620P004
D77P107A721P003
D88P304LED_BUILTIN22P204
D9~9P303LEDR23P409
D10~ (CS)10P112LEDG24P410
D11~ (COPI)11P109LEDB25P411
D12 (CIPO)12P110Qwiic SCL / SDA26 / 27P400 / P401
D13 (SCK)13P111ENABLE_3V328P500

Arduino Nano R4 Pins Functions

The 30 header pins of the Arduino Nano R4 are divided into the following groups based on the hardware functionality they’re used for. Most I/O pins belong to several groups at once.

We’ll discuss each pin group in the following sections one by one in more detail.


Arduino Nano R4 Power Pins

The Arduino Nano R4 is powered from the USB-C port (5v) or from 6v–21v on VIN. VIN goes through the MP2322GQH buck converter to the 5v rail that runs the RA4M1, and an AP2112K LDO makes 3.3v for the 3V3 pin and the Qwiic connector. The power pins are highlighted in red in the pinout diagram.

Arduino Nano R4 power pins (VIN, +5V, 3V3, GND, VBATT)

PinHeader PinRangeNotes
VINJP1-156v–21v inInto the MP2322 buck converter, then the 5v rail through Schottky diode D1
+5VJP1-125vThe board’s main 5v rail (MCU supply); output on USB or VIN power
3V3JP1-23.3v outAP2112K LDO; above 150mA the board gets very hot
GNDJP1-14, JP2-40vAll grounds are common
VBATT (pad J5)Next to the Qwiic connector1.6v–3.6v inBackup supply for the RTC domain; switches in below about 2.09v on VCC

USB-C must stay within 4.8v–5.5v (500mA max, the USB 2.0 limit), and VIN within 6v–21v. When both are connected, the board’s power-OR circuit (D1 + Q2) picks the supply automatically, so you can leave the USB cable in while the board runs from VIN. Arduino’s user manual also allows feeding a regulated 5v into the +5V pin, as long as you’re careful never to exceed 5.5v.

Note: The 3.3v rail can be switched off by software: the LDO’s enable pin is P500, which the core calls ENABLE_3V3 (pin 28). pinMode(ENABLE_3V3, OUTPUT); digitalWrite(ENABLE_3V3, LOW); turns off the 3V3 pin and the Qwiic power together, which is handy for low-power projects, and puzzling if a sketch does it by accident.


Arduino Nano R4 GPIO Pins

The Arduino Nano R4 has 20 GPIO pins on its headers: D0–D13 and A0–A7 (digital pins 14–21). All of them work at 5v logic, just like a classic Nano or UNO, so 5v sensors, modules and shields connect directly.

Arduino Nano R4 GPIO pins (D0-D13, A0-A7) with their RA4M1 port pins

Each pin can be INPUT, INPUT_PULLUP or OUTPUT. Here are the electrical limits from the Arduino and Renesas datasheets:

  • Logic level 5v; never apply more than 5.5v to any pin.
  • A HIGH input needs at least 4.0v (0.8 × VCC, RA4M1 datasheet), so a 3.3v signal is not a guaranteed HIGH.
  • Arduino rates each pin at 8mA. The RA4M1 datasheet is stricter for the P1xx/P3xx ports (most D pins): 4mA source and 8mA sink at the default drive, and 60mA total for all outputs together (Arduino’s user manual says 200mA total, which the chip doesn’t back up).
  • A6 and A7 are normal digital pins too (20 and 21), even though the user manual calls them “analog input only”.

Note: Because the Arduino Nano R4 is a 5v board, a 3.3v sensor on the headers gets 5v on its inputs and may not read as HIGH on the Nano R4. Use a level shifter for 3.3v devices, or plug I2C ones into the Qwiic connector, which has its own shifters.

Learn more in our Arduino digitalWrite() GPIO Tutorial.


Arduino Nano R4 Interrupt Pins

The Arduino Nano R4 has 13 interrupt pins: D0, D1, D2, D3, D8, D12, D13 and A1–A6. attachInterrupt(digitalPinToInterrupt(D2), isr, FALLING) works on any of them, with RISING, FALLING, CHANGE and LOW triggers. D4–D7, D9–D11, A0 and A7 have no external interrupt.

PinIRQ ChannelShared WithPinIRQ ChannelShared With
D0IRQ6A1A1IRQ6D0
D1IRQ5–A2IRQ7–
D2IRQ0–A3IRQ2A5
D3IRQ1A4A4IRQ1D3
D8IRQ9–A5IRQ2A3
D12IRQ3A6A6IRQ3D12
D13IRQ4–

Two pins on the same IRQ channel can’t both be interrupts at the same time: pick D3 or A4, D0 or A1, and so on. And on the R4 core, call pinMode() before attachInterrupt(): users report that an interrupt on D2 never fires without it (Arduino Forum).

Learn more in our Arduino External Interrupts Tutorial.


Arduino Nano R4 ADC Pins

The Arduino Nano R4 has 8 ADC pins, A0–A7, on the RA4M1’s 14-bit ADC. analogRead() returns 10-bit values (0–1023) by default, and analogReadResolution(12) or (14) gives 0–4095 or 0–16383. The input range is 0v to 5v. The ADC pins are highlighted in green in the pinout diagram.

Arduino Nano R4 ADC pins (A0-A7, 14-bit) and DAC pin A0

PinRA4M1 PortADC ChannelAlso
A0P014AN009DAC output
A1P000AN000Op-amp + input
A2P001AN001Op-amp − input
A3P002AN002Op-amp output
A4P101AN021I2C SDA (Wire)
A5P100AN022I2C SCL (Wire)
A6P004AN004–
A7P003AN003–

The default reference is the 5v rail, through the AREF pin’s 5.1kΩ resistor. analogReference(AR_INTERNAL) switches to the internal reference, about 1.43v in the core (Arduino’s manual rounds it to 1.5v), for small signals. Let’s say you read a 0–1v sensor: with the 5v reference and 14-bit resolution you get about 3,277 steps across its range; with the internal reference you get more than 11,000.

Note: The RA4M1 also has ADC channels on D4 (AN019) and D5 (AN020), and the pinout diagram shows them. But in the Arduino core, analogRead(D4) reads A4: analogRead() treats pin numbers below 14 as A0–A7 (0 = A0), like the classic Nano. So stay with A0–A7 for analog inputs.

There are so many sensors that we can read with the ADC pins, which include: potentiometers, LDRs, analog temperature sensors (LM35, TMP36, NTC thermistors), soil moisture sensors, joysticks, current sensors (ACS712), and much more.

Learn more in our Arduino ADC analogRead() Tutorial.


Arduino Nano R4 DAC and Op-Amp Pins

The Arduino Nano R4 has a 12-bit DAC on A0 and a built-in op-amp on A1 (+), A2 (−) and A3 (output). Neither exists on the classic Nano or the Nano ESP32.

FunctionPinHow to Use It
DAC output (12-bit)A0 (P014, DA0)analogWriteResolution(12); analogWrite(DAC, 2048); gives about 2.5v
Op-amp + inputA1 (P000)#include <OPAMP.h>, then OPAMP.begin(OPAMP_SPEED_HIGHSPEED);
Op-amp − inputA2 (P001)Wire the feedback network here
Op-amp outputA3 (P002)The amplified signal, from 0.1v to VCC − 0.1v

The DAC gives a real analog voltage (0v to the 5v reference), not a PWM square wave, so you can make audio tones, sine waves, or a programmable reference without a filter. The op-amp is a full amplifier: wire A3 to A2 for a voltage follower (buffer), or add two resistors for a non-inverting amplifier (two 10kΩ resistors give a gain of 2). Its output swings from 0.1v to about 4.9v (VCC − 0.1v).

Note: While the DAC runs, A0 isn’t an ADC input, and while OPAMP.begin() is active, A1–A3 aren’t ADC inputs either. Plan your analog inputs on A4–A7 (A6 and A7 if you also use I2C).


Arduino Nano R4 PWM Pins

The Arduino Nano R4 can output PWM on 16 pins: D0–D13, A4 and A5, all driven by the RA4M1’s GPT timers. Arduino marks only 6 of them with “~” (D3, D5, D6, D9, D10, D11), the UNO-style default set, but the core’s analogWrite() sets up a timer for any pin that has a GPT output. The PWM pins are highlighted in orange in the pinout diagram.

Arduino Nano R4 PWM pins (D0-D13, A4, A5 GPT timer outputs)

Arduino Nano R4 Default PWM Pins: D3, D5, D6, D9, D10, and D11 (8-bit by default, up to 16-bit with analogWriteResolution(16)).

GPT TimerOutput AOutput B
GPT0 (32-bit)D7D6~
GPT1 (32-bit)D2, D11~D3~, D12
GPT2D4D5~
GPT3D13D10~
GPT4D1D0
GPT5A4A5
GPT7D8D9~

Pins on the same GPT timer share one PWM frequency, and D2/D11 and D3/D12 are even the same output signal (GTIOC1A and GTIOC1B), so they always carry the same duty cycle. That’s why Arduino’s manual notes that D3 and D11 share GPT1. In practice: use the six “~” pins first, and add other pins from different timers when you need more.

Note: The on-board LEDs are PWM-capable too: analogWrite(LED_BUILTIN, 64) dims the yellow LED, and the RGB LED pins (LEDR, LEDG, LEDB) can mix colors. Remember the RGB LED is active LOW, so 255 is off.

There are so many things that we can control with PWM, which include: LED dimming, RGB LEDs, DC motor speed (with a driver), servo motors, buzzers, ESCs for brushless motors, and much more.

Learn more in our Arduino PWM analogWrite() Tutorial.


Arduino Nano R4 UART Pins

The Arduino Nano R4 has 1 hardware UART on its headers: Serial1 on D0 (RX) and D1 (TX) (RA4M1 SCI2). Serial is the native USB-C port, which talks to the Serial Monitor. The UART pins are highlighted in blue in the pinout diagram.

Arduino Nano R4 UART pins (D0 RX P301, D1 TX P302, Serial1)

Arduino Nano R4 Default UART Pins: D0 (RX) and D1 (TX) for Serial1.

PortArduino ObjectRX PinTX PinNote
USB CDCSerialUSB-CUSB-CSerial Monitor over the USB cable
SCI2Serial1D0 (P301)D1 (P302)5v logic, 300 baud to 2Mbaud

Unlike the classic Nano, D0/D1 aren’t shared with the USB port, so you can talk to a GPS or GSM module on Serial1 and print debug messages to the PC on Serial at the same time.

Note: Old sketches written for the classic Nano use Serial for D0/D1. On the Nano R4, change them to Serial1, or the module gets nothing. And a 3.3v module’s TX may not reach the 4.0v HIGH level on D0, so add a level shifter.

There are so many modules that we can interface with the UART pins, which include: GPS modules, GSM/LTE modules, fingerprint sensors, RS485 transceivers, DFPlayer Mini, Bluetooth modules (HC-05), other microcontrollers, and much more.

Learn more in our Arduino UART Serial Communication Tutorial.


Arduino Nano R4 I2C Pins

The Arduino Nano R4 has 2 I2C buses. Wire is on A4 (SDA) and A5 (SCL) at 5v (RA4M1 IIC1), the same place as on every Nano. Wire1 is the Qwiic connector at 3.3v (RA4M1 IIC0 on P401/P400), with on-board MOSFET level translators. The I2C pins are highlighted in yellow in the pinout diagram.

Arduino Nano R4 I2C pins (A4 SDA, A5 SCL, Qwiic SDA_3V3 and SCL_3V3)

Arduino Nano R4 Default I2C Pins: A4 (SDA) and A5 (SCL) for Wire; the Qwiic connector for Wire1.

I2C BusArduino ObjectSDASCLLevelNote
IIC1WireA4 (P101)A5 (P100)5vClassic Nano position; no pull-ups on the board
IIC0Wire1Qwiic pin 3 / pad J4 (P401)Qwiic pin 4 / pad J3 (P400)3.3v5.1kΩ pull-ups on both sides of the shifters

The Qwiic connector is a JST SH 4-pin (SM04B-SRSS-TB) in the standard order: GND, 3.3v, SDA, SCL. It works with SparkFun Qwiic, Adafruit STEMMA QT and Arduino Modulino boards. If you’d rather solder, the same 3.3v bus comes out on the SDA_3V3 and SCL_3V3 pads next to it.

Note: Most Qwiic library examples call Wire; on the Nano R4 the Qwiic port is Wire1, so pass it to the library (for example sensor.begin(Wire1)). And A4/A5 have no pull-ups on the board, so add 4.7kΩ pull-ups to 5v unless your module already has them.

There are so many modules and sensors that we can interface with the I2C bus, which include: OLED displays (SSD1306), I2C LCDs, RTC modules (DS3231), IMUs (MPU6050), BME280 sensors, port expanders, Qwiic and Modulino nodes, and much more.

Learn more in our Arduino I2C Tutorial.


Arduino Nano R4 SPI Pins

The Arduino Nano R4 has 1 SPI port in the Arduino core (RA4M1 RSPI1). The default SPI pins are D11 (COPI), D12 (CIPO) and D13 (SCK), with D10 as CS, the same as the classic Nano. The SPI pins are highlighted in pink in the pinout diagram.

Arduino Nano R4 SPI pins (D10 CS, D11 COPI, D12 CIPO, D13 SCK)

Arduino Nano R4 Default SPI Pins: D11 (COPI/MOSI), D12 (CIPO/MISO), D13 (SCK), and D10 (CS).

SignalPinRA4M1 PortNote
SCKD13P111 (RSPCKB)Not loaded by an LED on this board
CIPO (MISO)D12P110 (MISOB)
COPI (MOSI)D11P109 (MOSIB)Also SWO
CS (SS)D10P112 (SSLB0)Any GPIO can be an extra CS

The chip’s second SPI (RSPI0) is also on the headers (SCK on D5, MISO on A5, MOSI on A4, SS on D4), but the Arduino core doesn’t create an object for it, and those pins are your I2C and CAN pins anyway.

There are so many modules that we can interface with the SPI bus, which include: TFT displays (ILI9341, ST7789), SD card modules, LoRa radios (SX1276), nRF24L01 radios, MAX7219 LED drivers, W5500 Ethernet modules, and much more.


Arduino Nano R4 CAN Pins

The Arduino Nano R4 has 1 CAN 2.0B controller. Its default pins are D4 (CAN TX) and D5 (CAN RX), up to 1Mbps, with standard (11-bit) and extended (29-bit) IDs. It needs an external CAN transceiver, since the board has none. The CAN pins are highlighted in purple in the pinout diagram.

Arduino Nano R4 CAN pins (D4 CAN TX, D5 CAN RX)

Arduino Nano R4 Default CAN Pins: D4 (TX) and D5 (RX), used by the Arduino_CAN library that comes with the core.

Because the board is 5v, you can use a 5v transceiver like the MCP2551 or TJA1050 directly. A 3.3v transceiver like the SN65HVD230 outputs only 3.3v on RXD, below the 4.0v HIGH level of D5, so it isn’t a safe match. Wire the transceiver’s TXD to D4 and RXD to D5, and terminate the bus with 120Ω at both ends.


Arduino Nano R4 USB Pins

The Arduino Nano R4’s USB-C connector is wired straight to the RA4M1’s native USB (P914 D−, P915 D+). There’s no USB-UART chip: the same port does the uploads, the Serial port, and USB device modes like HID keyboard and mouse ( Keyboard.h, Mouse.h).

SignalRA4M1 PinOn This Board
USB D−P914USB-C connector (and a bottom test pad)
USB D+P915USB-C connector (and a bottom test pad)
VBUS–Into the 5v rail through Q2

Because USB is handled by the RA4M1 itself, a sketch that crashes early can make the port disappear. That’s what the double-tap reset in the next section is for.


Arduino Nano R4 BOOT, Reset and Debug Pins

The Arduino Nano R4 has a BOOT pin (JP1-13) and a RST pin (JP2-3). BOOT is the RA4M1’s MD pin: if it’s LOW when the chip comes out of reset, the RA4M1 starts its Renesas ROM boot mode instead of your sketch. RST resets the board when pulled LOW, like the reset button.

Arduino Nano R4 BOOT, reset and SWO pins (BOOT MD, RST, D11 SWO)

PinRA4M1RoleOn the Board
BOOT (JP1-13)MD (P201)LOW at reset = ROM (SCI/USB) boot mode5.1kΩ pull-up to 5v
RST (JP2-3)RESReset, active LOW5.1kΩ pull-up, reset button PB1
SWDIO / SWCLKP108 / P300SWD debugBottom test pads only
D11P109SWO trace output (alternate)Shared with SPI COPI

Arduino Nano R4 Bootloader Recovery Steps

If your Arduino Nano R4 isn’t detected anymore (no port after an upload), try these steps, in this order:

  1. Double-tap reset: press the reset button twice quickly. The board stays in the Arduino bootloader (the yellow LED fades), so you can upload a working sketch.
  2. ROM boot mode (if the bootloader is damaged): connect BOOT to GND, then plug in the USB cable. Flash dfu_nano.hex (in the core’s bootloaders/NANOR4 folder) with the Renesas Flash Programmer, remove the wire, and reset. Arduino walks through it in its Nano R4 bootloader recovery tutorial.

Note: On a classic Nano, JP1-13 is a second RESET pin. A Nano shield or expansion board that connects that position to a reset circuit can hold BOOT LOW at power-up, and the Nano R4 then sits in ROM boot mode instead of running your sketch. Check what your shield does with that pin before plugging the board in.


Arduino Nano R4 On-Board Features

Besides the headers, the Arduino Nano R4 has 3 LEDs (one of them RGB), a reset button, a crystal, the Qwiic connector, and a real-time clock. Here’s what each one does.

PartPin / ConnectionWhat It Does
RGB LED (DL1)LEDR P409 (23), LEDG P410 (24), LEDB P411 (25)Common anode, active LOW: digitalWrite(LEDR, LOW) turns red on
Yellow LED (DL2)P204 (22)LED_BUILTIN, active HIGH; fades while the bootloader waits
Green power LED (DL3)5v railOn whenever 5v is present
Reset button (PB1)RES to GNDOne press resets; a double-tap enters the bootloader
16MHz crystal (Y1)P212 / P213Accurate main clock (for USB and timing)
Qwiic connector (J2)IIC0 (P401/P400) via level shifters3.3v I2C bus, Wire1
RTCInternal, clocked by LOCODate and time with RTC.h; VBATT pad for backup

A note on the RTC: the board has no 32.768kHz crystal, so the core’s RTC.h runs the RTC from the RA4M1’s internal LOCO oscillator. Renesas specifies LOCO at 27.85kHz–37.68kHz (32.768kHz typical, about ±15%), so the clock can drift a lot over a day. It’s fine for timestamps that get corrected from the PC or a network, but for an accurate clock, add a DS3231 module on the Qwiic or A4/A5 bus.

Here’s a first test that cycles the RGB LED and blinks the yellow LED. Note the inverted logic of the RGB LED:


Getting Started With Arduino Nano R4

You can program the Arduino Nano R4 with the Arduino IDE (or Arduino Cloud) and PlatformIO, all over the USB-C cable. No external programmer is needed.

  • Arduino IDE 2: in the Boards Manager, install “Arduino UNO R4 Boards” (the same core as the UNO R4 Minima and WiFi), then select Arduino Nano R4. Uploads go over USB with no button to press.
  • Libraries: the core includes OPAMP.h, RTC.h, Arduino_CAN.h, EEPROM.h, Keyboard.h/ Mouse.h (HID), and the usual Wire and SPI.
  • Most UNO R4 Minima code runs as is. Just check the pins that differ: LED_BUILTIN isn’t on D13, and the Qwiic port is Wire1.
Arduino NamePinDefault
SerialUSB-CUSB CDC to the Serial Monitor
Serial1D0 (RX), D1 (TX)SCI2
WireA4 (SDA), A5 (SCL)IIC1, 5v
Wire1Qwiic connectorIIC0, 3.3v
SPID11 / D12 / D13, SS = D10RSPI1
CAND4 (TX), D5 (RX)CAN0
LED_BUILTIN22 (P204)Yellow LED, active HIGH
LEDR / LEDG / LEDB23 / 24 / 25RGB LED, active LOW
DACA012-bit DAC

Arduino Nano R4 Common Problems & Fixes

Why doesn’t LED_BUILTIN blink on D13? Because it isn’t on D13. The yellow LED is on P204 (pin 22). Use LED_BUILTIN in your code, and D13 stays free for SPI SCK (Arduino Forum).

Why doesn’t my GPS or Bluetooth module work on D0/D1? Use Serial1, not Serial. On the Nano R4, Serial is the USB port.

Why isn’t my Qwiic sensor found? The Qwiic port is Wire1. Use #include <Wire.h> (there’s no Wire1.h), call Wire1.begin(), and pass Wire1 to the sensor library. Also check that no sketch turned off ENABLE_3V3.

Why does attachInterrupt() never fire? Call pinMode(pin, INPUT) or INPUT_PULLUP first, and make sure the pin is one of the 13 interrupt pins and doesn’t share its IRQ channel with another interrupt you use.

Why does analogRead(D4) return the A4 reading? The core maps pin numbers 0–7 to A0–A7 in analogRead(). Use A0–A7 for analog inputs.

Why do two of my PWM pins change together? D2/D11 and D3/D12 are the same timer outputs. Move one of them to a pin on another GPT timer.

Why does my RTC lose minutes? The board has no 32.768kHz crystal, so the RTC runs on the internal LOCO oscillator. Sync it regularly, or use a DS3231.

Why won’t the board start on my Nano shield? The shield may pull JP1-13 (BOOT on the Nano R4, RESET on a classic Nano) LOW at power-up, which starts the ROM boot mode. Check the shield’s wiring for that pin.

Why isn’t my Nano R4 detected after an upload? Double-tap the reset button and upload a working sketch. If that fails, restore the bootloader with BOOT to GND and the Renesas Flash Programmer (see the recovery steps above).


Arduino Nano R4 vs Arduino Nano vs Nano ESP32

The Arduino Nano R4 is the 32-bit upgrade of the classic Nano that keeps its 5v logic. Here’s how it compares with the classic Nano and the Nano ESP32:

FeatureArduino Nano R4Arduino Nano (classic)Arduino Nano ESP32
MCURenesas RA4M1 (Cortex-M4F)ATmega328P (AVR)ESP32-S3 (NORA-W106)
Clock48MHz16MHz240MHz, dual-core
Flash / RAM256KB / 32KB32KB / 2KB16MB / 512KB + 8MB PSRAM
Logic level5v5v3.3v
ADC8 pins, up to 14-bit8 pins, 10-bit16 pins, 12-bit
DAC / op-ampYes / YesNo / NoNo / No
CANYes (needs a transceiver)NoYes (TWAI, any pins)
WirelessNoneNoneWi-Fi + Bluetooth LE
Qwiic connectorYes (3.3v, Wire1)NoNo
USBUSB-C, nativeMini-USB, USB-UART chipUSB-C, native
JP1-13 (classic RESET position)BOOT (MD)RESETB1 (GPIO0)

Pick the Arduino Nano R4 when your project is full of 5v sensors, modules and Nano shields and you want more speed, memory, a DAC, CAN, or Qwiic. Pick the Arduino Nano ESP32 when you need Wi-Fi or Bluetooth and can live with 3.3v logic. The classic Nano is still fine for simple 5v projects, but the Nano R4 does everything it does and more.


Arduino Nano R4 Pin Details

Here is every Arduino Nano R4 header pin in physical order, with its Arduino number, RA4M1 port, main functions, all its alternate functions from the Renesas datasheet, and a short description. With the USB-C connector at the top, JP1 is the left (analog) header, numbered from the USB end, and JP2 is the right (digital) header, numbered from the far end (JP2-1 is D1/TX).

Arduino Nano R4 JP1 Analog Header Pins

PinLabelArduino #RA4M1 PortMain FunctionsAll Alternate FunctionsLogic LevelDescription
JP1-1D1313P111SPI SCK, GTIOC3AIRQ4, GTIOC3A, SCK2, SCK9, RSPCKB, CAPH, TS125vThe SPI SCK pin (RSPI1); not the LED pin on this board, so it’s free for SPI or general I/O.
JP1-23V3––3.3v out––3.3v output of the AP2112K LDO; keep the load under 150mA, and note a sketch can switch it off (P500).
JP1-3AREF–VREFH0ADC reference––ADC reference input, tied to the 5v rail through 5.1kΩ, so an external reference must be able to drive against that resistor.
JP1-4A014P014ADC, DAC, AN009, DA0AN009, DA05vAnalog input and the 12-bit DAC output: analogWrite(A0, x) gives a real analog voltage, not PWM.
JP1-5A115P000AN000, AMP0+IRQ6, AN000, AMP0+, TS215vAnalog input and the op-amp’s non-inverting input (OPAMP0 +).
JP1-6A216P001AN001, AMP0−IRQ7, AN001, AMP0−, TS225vAnalog input and the op-amp’s inverting input (OPAMP0 −).
JP1-7A317P002AN002, AMP0OIRQ2, AN002, AMP0O5vAnalog input and the op-amp’s output (OPAMP0 out).
JP1-8A418P101Wire SDA, AN021, GTIOC5AKR01/IRQ1, AGTEE0, GTETRGB, GTIOC5A, TXD0/MOSI0/SDA0, CTS1/RTS1/SS1, SDA1, MOSIA, AN021, CMPREF0, VL25vThe default I2C SDA pin (Wire, 5v); also an analog input and a PWM-capable pin.
JP1-9A519P100Wire SCL, AN022, GTIOC5BKR00/IRQ2, AGTIO0, GTETRGA, GTIOC5B, RXD0/MISO0/SCL0, SCK1, SCL1, MISOA, AN022, CMPIN0, VL15vThe default I2C SCL pin (Wire, 5v); also an analog input and a PWM-capable pin.
JP1-10A620P004AN004IRQ3, AN004, AMP2O5vAnalog input that also works as digital pin 20.
JP1-11A721P003AN003AN003, AMP1O5vAnalog input that also works as digital pin 21 (no interrupt).
JP1-12+5V––5v rail––The board’s 5v rail: an output when powered from USB or VIN, or a regulated 5v input (with care).
JP1-13BOOT–MD (P201)Boot mode select (MD)––The RA4M1 MD pin with a 5.1kΩ pull-up; held LOW at power-up it starts the Renesas ROM boot mode for bootloader recovery.
JP1-14GND–––––Ground.
JP1-15VIN––6v–21v in––External supply input, 6v to 21v, into the MP2322 buck converter.

Arduino Nano R4 JP2 Digital Header Pins

PinLabelArduino #RA4M1 PortMain FunctionsAll Alternate FunctionsLogic LevelDescription
JP2-15D1212P110SPI CIPO, GTIOC1BIRQ3, GTOVLO, GTIOC1B, CRX0, CTS2/RTS2/SS2, RXD9/MISO9/SCL9, MISOB, VCOUT, SEG245vThe SPI CIPO (MISO) pin; it also has CAN RX as an alternate function.
JP2-14~D1111P109SPI COPI, GTIOC1AGTOVUP, GTIOC1A, CTX0, SCK1, TXD9/MOSI9/SDA9, MOSIB, SEG23, TS105vThe SPI COPI (MOSI) pin and a default PWM pin; it’s also the SWO trace pin.
JP2-13~D1010P112SPI CS, GTIOC3BGTIOC3B, TXD2/MOSI2/SDA2, SCK1, SSLB0, SSIBCK0, CAPL, TSCAP5vThe SPI CS pin and a default PWM pin.
JP2-12~D99P303GTIOC7BGTIOC7B, SEG03/COM7, TS025vA default PWM pin (GPT7 B) with no other default role.
JP2-11D88P304GTIOC7AIRQ9, GTIOC7A, SEG20, TS115vGeneral-purpose I/O with its own interrupt channel (IRQ9); PWM-capable through analogWrite().
JP2-10D77P107GTIOC0AKR07, GTIOC0A, COM35vGeneral-purpose I/O; PWM-capable through analogWrite() (GPT0 A).
JP2-9~D66P106GTIOC0BKR06, GTIOC0B, SSLA3, COM25vA default PWM pin (GPT0 B) with no other default role.
JP2-8~D55P102CAN RX, AN020, GTIOC2BKR02, AGTO0, GTOWLO, GTIOC2B, CRX0, SCK0, TXD2/MOSI2/SDA2, RSPCKA, AN020/ADTRG0, CMPIN1, VL35vThe CAN RX pin (CAN0) and a default PWM pin.
JP2-7D44P103CAN TX, AN019, GTIOC2AKR03, GTOWUP, GTIOC2A, CTX0, CTS0/RTS0/SS0, SSLA0, AN019, CMPREF1, VL45vThe CAN TX pin (CAN0); PWM-capable through analogWrite() (GPT2 A).
JP2-6~D33P104GTIOC1BKR04/IRQ1, GTETRGB, GTIOC1B, RXD0/MISO0/SCL0, SSLA1, COM0, TS135vA default PWM pin and an interrupt pin (IRQ1, shared with A4).
JP2-5D22P105GTIOC1AKR05/IRQ0, GTETRGA, GTIOC1A, SSLA2, COM1, TS345vThe recommended interrupt pin (IRQ0, its own channel); PWM-capable through analogWrite().
JP2-4GND–––––Ground.
JP2-3RST–RESReset (active low)––Reset input (active LOW) with a 5.1kΩ pull-up; pulling it LOW resets the board, like the button.
JP2-2D00P301Serial1 RX, GTIOC4BIRQ6, AGTIO0, GTOULO, GTIOC4B, RXD2/MISO2/SCL2, CTS9/RTS9/SS9, SSLB2, SEG01/COM5, TS095vSerial1 RX (SCI2 RXD, port P301); free when you use the USB Serial port only.
JP2-1D11P302Serial1 TX, GTIOC4AIRQ5, GTOUUP, GTIOC4A, TXD2/MOSI2/SDA2, SSLB3, SEG02/COM6, TS085vSerial1 TX (SCI2 TXD, port P302).

Wrap Up

To conclude this guide article, the Arduino Nano R4 is a very solid upgrade for anyone who loves the classic Nano. It gives you a 48MHz Cortex-M4F with 256KB of flash, a 14-bit ADC, a 12-bit DAC, an op-amp, CAN, and a Qwiic port, while keeping 5v logic and the familiar Nano footprint. Just remember the board-level gotchas: LED_BUILTIN isn’t on D13, the Qwiic port is Wire1, D0/D1 are Serial1, JP1-13 is BOOT, and the RTC has no crystal.

We hope it’s been a helpful guide to help you decide which pins to use for your project. For more boards, check out the Pinouts, Datasheets & Schematic Diagrams Library. Follow this Arduino Series of Tutorials to learn more about Arduino programming.

If you’re just getting started with Arduino, you need to check out the Arduino Getting Started Ultimate Guide below.

Getting Started With Arduino Programming For Beginners

The complete beginner’s guide to Arduino programming: installing the IDE, your first sketch, and the Arduino tutorials series step by step.

Share This Page With Your Network!
Join Our +25,000 Newsletter Subscribers!

Stay Updated With All New Content Releases. You Also Get Occasional FREE Coupon Codes For Courses & Other Stuff!

Photo of author
Author
Embedded systems engineer with several years of experience in embedded software and hardware design. I work as an embedded SW engineer in the Automotive & e-Mobility industry. However, I still do Hardware design and SW development for DSP, Control Systems, Robotics, AI/ML, and other fields I'm passionate about.
I love reading, writing, creating projects, and teaching. A reader by day and a writer by night, it's my lifestyle. I believe that the combination of brilliant minds, bold ideas, and a complete disregard for what is possible, can and will change the world! I will be there when it happens, will you?

Leave a Comment