Arduino Nano RP2040 Connect Pinout: RP2040, Wi-Fi, BLE and IMU

Arduino Nano RP2040 Connect pinout guide: RP2040 GPIO, PIO, 12-bit ADC, NINA-W102 Wi-Fi/BLE, LSM6DSOX IMU, PDM microphone, SPI, I2C, UART, USB, RGB LED and analog-input quirks.

The Arduino Nano RP2040 Connect combines Raspberry Pi’s RP2040 microcontroller with Arduino’s Nano form factor and a separate u-blox NINA-W102 wireless module.

It is an unusual dual-processor board:

  • the RP2040 runs your main Arduino sketch;
  • the NINA-W102, based on an ESP32, provides Wi-Fi and Bluetooth connectivity;
  • the NINA module also extends the board’s analog-input capability and controls the onboard RGB LED.

The board also includes:

  • an LSM6DSOX 6-axis IMU;
  • an MP34DT06J digital MEMS microphone;
  • an ATECC608A secure element;
  • 16 MB external QSPI Flash;
  • native RP2040 USB;
  • RP2040 PIO programmable-I/O hardware.

Arduino currently marks Nano RP2040 Connect as End of Life, but it remains an important reference design because it shows how RP2040 can be paired with a separate ESP32-class radio module while preserving the compact Nano footprint.

Arduino Nano RP2040 Connect Specifications

Feature Nano RP2040 Connect
Main MCU Raspberry Pi RP2040
CPU Dual-core Arm Cortex-M0+
Maximum clock 133 MHz
SRAM 264 kB
External Flash 16 MB QSPI
Logic voltage 3.3 V
RP2040 ADC 4 channels, 12 bit
Nano analog labels A0-A7
UART D0 RX, D1 TX
SPI D10-D13
I²C A4 SDA, A5 SCL
Wi-Fi 2.4 GHz through NINA-W102
Bluetooth Through NINA-W102
IMU LSM6DSOX 6-axis
Microphone MP34DT06JTR PDM microphone
Crypto ATECC608A
USB Native RP2040 USB 1.1 host/device hardware
PIO 2 PIO blocks, 8 state machines total

Complete Arduino-to-RP2040 Pin Mapping

Arduino pin RP2040 GPIO Main functions
D0 / RX GPIO1 UART RX, digital I/O, PWM, PIO
D1 / TX GPIO0 UART TX, digital I/O, PWM, PIO
D2 GPIO25 Digital I/O, PWM, PIO
D3 GPIO15 Digital I/O, PWM, PIO
D4 GPIO16 Digital I/O, PWM, PIO
D5 GPIO17 Digital I/O, PWM, PIO
D6 GPIO18 Digital I/O, PWM, PIO
D7 GPIO19 Digital I/O, PWM, PIO
D8 GPIO20 Digital I/O, PWM, PIO
D9 GPIO21 Digital I/O, PWM, PIO
D10 GPIO5 SPI SS/CS, digital I/O, PWM
D11 GPIO7 SPI COPI/MOSI, digital I/O, PWM
D12 GPIO4 SPI CIPO/MISO, digital I/O, PWM
D13 GPIO6 SPI SCK, LED_BUILTIN, digital I/O, PWM
A0 / D14 GPIO26 RP2040 ADC0, digital I/O, PWM
A1 / D15 GPIO27 RP2040 ADC1, digital I/O, PWM
A2 / D16 GPIO28 RP2040 ADC2, digital I/O, PWM
A3 / D17 GPIO29 RP2040 ADC3, digital I/O, PWM
A4 / D18 GPIO12 + NINA ADC I²C SDA, NINA-assisted analog input
A5 / D19 GPIO13 + NINA ADC I²C SCL, NINA-assisted analog input
A6 / D20 NINA-W102 path Analog input via NINA
A7 / D21 NINA-W102 path Analog input via NINA

Physical Header Layout

With the Micro-USB connector at the top, Nano RP2040 Connect follows the familiar Nano dual-row format:

3.3 V Logic Only

Nano RP2040 Connect is a 3.3 V logic board.

Arduino’s pinout warns that the maximum GPIO input voltage is:

and the maximum I/O supply voltage is approximately:

Do not connect 5 V logic directly to RP2040 GPIO.

GPIO Current Limits

Arduino documents a maximum combined current of approximately:

being sunk through GPIO and QSPI pins.

That is a total-device limit, not a sensible per-pin operating target.

Use external drivers for relays, motors, solenoids and high-power LEDs.

UART: D0 and D1

The default external UART is:

Use:

for external serial hardware.

USB Serial Is Separate

The RP2040 includes native USB.

So:

This lets an external UART device remain connected while Serial Monitor uses USB independently.

SPI Pins

The default external SPI interface uses:

Mapped to RP2040 GPIO:

Basic SPI Example

D13 Is Also LED_BUILTIN

The standard onboard user LED is:

Because D13 is also SPI SCK, the LED can flicker during SPI activity.

I²C Pins

The default user I²C bus is:

Use:

A4 and A5 Are Shared with Onboard I²C

Arduino’s documentation notes that A4/A5 are used as the RP2040 I²C bus and have onboard pull-up resistors.

They are therefore best treated primarily as I²C pins when the onboard peripherals are in use.

Eight Analog Labels, but Only Four Native RP2040 ADC Inputs

This is one of the most important Nano RP2040 Connect quirks.

The RP2040 itself provides native ADC access on:

These map directly to:

A0-A3: Native RP2040 ADC

These are the best analog inputs when you want direct and predictable RP2040 ADC behaviour.

Example:

The RP2040 hardware ADC is 12 bit, so a native result spans:

Arduino may use a lower compatibility default unless you change the resolution explicitly.

A4-A7: NINA-Assisted Analog Inputs

A4-A7 are not all connected to the RP2040 ADC in the same way as A0-A3.

The NINA-W102 module provides extra ADC capability that Arduino uses for these additional Nano-style analog inputs.

Conceptually:

This means all eight analog-labelled pins are not electrically identical.

A4 and A5 Are Also the I²C Bus

A4/A5 are particularly multifunctional:

If I²C is active, do not expect A4/A5 to behave as independent analog inputs.

A6 and A7 Are Not Normal RP2040 GPIO

A6/A7 should be treated primarily as analog inputs through the NINA path.

They are not equivalent to A0-A3 as ordinary RP2040 GPIO/ADC pins.

ADC Input Range Differences

Arduino has documented a lower analog range for the NINA-assisted inputs than for A0-A3.

With current NINA firmware, A4-A7 can reach approximately the mid-2 V range rather than the full 3.3 V native RP2040 range.

Older NINA firmware had an even lower range.

If you rely on A4-A7:

  • update NINA firmware;
  • verify the actual input range on your board;
  • calibrate against a known voltage source.

RP2040 ADC Linearity

The RP2040 ADC is useful for sensors but should not be treated as a precision instrumentation ADC.

RP2040 has documented ADC differential-nonlinearity behaviour that can produce small code irregularities.

For precision measurement:

  • average samples;
  • calibrate gain/offset;
  • use a stable reference/supply;
  • consider an external precision ADC.

No True DAC

RP2040 does not include a normal voltage DAC.

If you need analog output, use:

  • PWM plus a low-pass filter;
  • an external DAC;
  • a specialised PIO/audio solution.

PWM

RP2040 provides eight PWM slices, each with two channels.

Most exposed RP2040 GPIO can be used for PWM.

The main exception in the Nano mapping is that A4-A7 are not ordinary RP2040 PWM outputs.

Example:

PIO: Programmable I/O

The RP2040 contains two Programmable I/O blocks:

with four state machines each, giving:

PIO is one of the RP2040’s defining features.

It can implement timing-sensitive protocols such as:

  • WS2812/NeoPixel output;
  • custom serial protocols;
  • quadrature encoders;
  • additional UARTs;
  • custom SPI;
  • specialised pulse generation;
  • I²S-like digital audio interfaces.

Why PIO Matters

PIO runs independently from the two CPU cores and can transfer data through FIFOs and DMA.

This allows the RP2040 to handle strange or timing-critical I/O protocols without constantly interrupting application code.

Dual-Core RP2040

RP2040 has two Cortex-M0+ cores running from the same memory system.

The Arduino Mbed core presents the familiar setup()/loop() model by default, but advanced software can use the second core for:

  • signal processing;
  • communications;
  • control loops;
  • background acquisition.

16 MB External Flash

Nano RP2040 Connect includes:

This is far larger than the 2 MB Flash found on the original Raspberry Pi Pico.

It provides useful space for:

  • larger applications;
  • filesystems;
  • MicroPython;
  • machine-learning models;
  • web assets.

NINA-W102 Wireless Module

The NINA-W102 is an ESP32-based wireless module.

It provides:

  • 2.4 GHz 802.11 b/g/n Wi-Fi;
  • Bluetooth 4.2-class radio capability;
  • its own dual-core Xtensa processor;
  • its own SRAM and Flash;
  • extra ADC channels;
  • control of the onboard RGB LED.

Your normal Arduino sketch still runs on the RP2040.

WiFiNINA Architecture

The normal software model is:

This is different from Nano ESP32, where the ESP32-S3 is both the application MCU and the wireless processor.

Basic Wi-Fi Example

Bluetooth Support

The NINA-W102 also provides Bluetooth/BLE capability.

ArduinoBLE can use the NINA radio for BLE applications such as:

  • phone-connected sensor nodes;
  • BLE peripherals;
  • BLE central devices;
  • beacons.

NINA Firmware Version Matters

The NINA module firmware affects:

  • Wi-Fi behaviour;
  • Bluetooth support;
  • the A4-A7 analog path;
  • module communication.

If Wi-Fi or the extra analog inputs behave strangely, update the NINA firmware before debugging obscure hardware faults.

RGB LED Is Controlled Through NINA

The onboard RGB LED is connected to NINA GPIO rather than the main RP2040 header pins.

Arduino exposes symbolic names for the RGB channels.

The LED is active-low/common-anode style, so:

LSM6DSOX 6-Axis IMU

The onboard LSM6DSOX contains:

  • 3-axis accelerometer;
  • 3-axis gyroscope;
  • embedded temperature sensing;
  • event/gesture functions;
  • a machine-learning core.

This makes the board useful for:

  • motion detection;
  • wearables;
  • gesture recognition;
  • orientation sensing;
  • TinyML projects.

MP34DT06J Digital Microphone

The onboard MP34DT06JTR is a digital PDM microphone.

It can be used for:

  • sound-level analysis;
  • keyword spotting;
  • audio classification;
  • voice-triggered interfaces.

The Arduino PDM library converts the high-rate one-bit microphone stream into PCM samples for application code.

ATECC608A Secure Element

The ATECC608A stores cryptographic secrets in protected hardware.

It can support:

  • secure device identity;
  • private-key storage;
  • certificate-based authentication;
  • hardware random-number generation.

This is useful for Arduino Cloud and other authenticated IoT designs.

Native USB

The RP2040 includes USB 1.1 hardware with host and device capability.

On Nano RP2040 Connect the USB interface is used for:

  • programming;
  • USB serial;
  • bootloader recovery;
  • native USB applications supported by the core.

REC / BOOTSEL Pin

The board exposes a recovery pin labelled:

which is associated with RP2040 BOOTSEL/recovery operation.

This is useful if a bad sketch prevents normal USB programming.

Double-Reset Recovery

Arduino also supports the common double-reset bootloader sequence:

  1. power the board;
  2. double-tap RESET quickly;
  3. wait for bootloader mode;
  4. select the temporary bootloader port;
  5. upload a known-good sketch.

Powering Nano RP2040 Connect

The board can be powered through:

  • Micro-USB;
  • VIN;
  • the regulated 3.3 V rail in specialised configurations.

As with other modern Nano boards, the 5 V/VUSB position is tied to the USB power path rather than behaving exactly like the classic Nano’s general-purpose regulated 5 V rail.

Nano RP2040 Connect vs Raspberry Pi Pico

Feature Nano RP2040 Connect Raspberry Pi Pico
MCU RP2040 RP2040
CPU Dual Cortex-M0+ 133 MHz Dual Cortex-M0+ 133 MHz
RAM 264 kB 264 kB
Flash 16 MB 2 MB on original Pico
Wi-Fi/BLE Yes, NINA-W102 No on original Pico
IMU Yes No
Microphone Yes No
Secure element Yes No
Nano form factor Yes No

Nano RP2040 Connect vs Nano ESP32

Nano ESP32 is a very different architecture:

Nano ESP32 is faster and has much more RAM/PSRAM, while Nano RP2040 Connect gives you RP2040 PIO, dual-core Cortex-M0+ behaviour and a separate wireless subsystem.

See our Arduino Nano ESP32 pinout guide for the ESP32-S3 alternative.

Quick Pin Reference

Best Practices

  1. Use A0-A3 for the cleanest direct RP2040 analog measurements.
  2. Treat A4-A7 as a separate NINA-assisted analog subsystem rather than assuming they match A0-A3.
  3. Do not use A4/A5 as analog inputs while the I²C bus is active.
  4. Keep GPIO at 3.3 V; the board is not 5 V tolerant.
  5. Use D10-D13 for the standard external SPI bus.
  6. Use Serial for USB and Serial1 for D0/D1 UART.
  7. Keep NINA firmware current if Wi-Fi/BLE or A4-A7 behave unexpectedly.
  8. Use PIO when a protocol requires exact timing or more serial interfaces.
  9. Do not treat the RP2040 ADC as a precision instrumentation converter without calibration.
  10. Use the onboard IMU, microphone and secure element before adding duplicate external modules.

Final Thoughts

Nano RP2040 Connect is best understood as an RP2040 development board with a separate ESP32-based wireless coprocessor.

The most important pinout rules are:

Its defining strengths are RP2040 PIO, 16 MB Flash, Wi-Fi/BLE through NINA, an onboard IMU and microphone, and the compact Nano footprint.

The main trap is assuming all eight analog-labelled pins behave the same. They do not: A0-A3 are direct RP2040 ADC inputs, while A4-A7 depend on the NINA subsystem.

Once that distinction is understood, the board becomes much easier to use reliably for connected RP2040 projects.

Share your love