Arduino Nano RP2040 Connect

Overview

The Arduino Nano RP2040 Connect is a powerful addition to the Arduino ecosystem that brings the RP2040 microcontroller together with Wi-Fi and Bluetooth connectivity. Whether you’re a beginner stepping into the world of IoT or an advanced user looking to incorporate it into your next product, the Nano RP2040 Connect is a versatile choice.

Key features of the Nano RP2040 Connect:

  • Tiny footprint: Designed with the well-known Nano form factor in mind, this board’s compact size makes it perfect for embedding in standalone projects.

  • Wi-Fi and Bluetooth: The u-blox NINA-W102 module provides Wi-Fi 802.11b/g/n and Bluetooth 4.2 connectivity, making it ideal for IoT applications.

  • Onboard sensors: Features an LSM6DSOX 6-axis IMU (accelerometer and gyroscope) and an MP34DT06J digital microphone for audio and motion sensing applications.

  • Security: Includes an ATECC608A cryptographic coprocessor for secure IoT applications.

  • RGB LED: An onboard RGB LED driven by the NINA module for visual feedback.

Hardware

  • Raspberry Pi RP2040 (dual-core Arm Cortex-M0+ at 133 MHz)

  • SRAM: 264 KB

  • Flash: 16 MB (AT25SF128A)

  • u-blox NINA-W102 (Wi-Fi 802.11b/g/n, Bluetooth 4.2)

  • ST LSM6DSOX 6-axis IMU

  • ST MP34DT06J MEMS Microphone

  • Microchip ATECC608A Crypto

  • Built-in LED on GPIO6

  • Digital I/O Pins: 22

  • PWM Pins: 20

  • Analog Input Pins: 8

  • Operating Voltage: 3.3V

  • Input Voltage (VIN): 5-21V

Supported Features

The arduino_nano_connect board supports the hardware features listed below.

on-chip / on-board
Feature integrated in the SoC / present on the board.
2 / 2
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files.
vnd,foo
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.

arduino_nano_connect/rp2040 target

Type

Location

Description

Compatible

CPU

on-chip

ARM Cortex-M0+ CPU2

arm,cortex-m0+

ADC

on-chip

Raspberry Pi Pico ADC1

raspberrypi,pico-adc

Clock control

on-chip

Raspberry Pi Pico clock controller node1

raspberrypi,pico-clock-controller

on-chip

The representation of Raspberry Pi Pico’s clock112

raspberrypi,pico-clock

on-chip

The representation of Raspberry Pi Pico’s PLL2

raspberrypi,pico-pll

on-chip

The representation of Raspberry Pi Pico ring oscillator1

raspberrypi,pico-rosc

on-chip

The representation of Raspberry Pi Pico external oscillator1

raspberrypi,pico-xosc

Counter

on-chip

Raspberry Pi Pico timer1

raspberrypi,pico-timer

DMA

on-chip

Raspberry Pi Pico DMA1

raspberrypi,pico-dma

Flash controller

on-chip

Raspberry Pi Pico flash controller1

raspberrypi,pico-flash-controller

GPIO & Headers

on-chip

Raspberry Pi Pico GPIO1

raspberrypi,pico-gpio

on-chip

Raspberry Pi Pico GPIO Port1

raspberrypi,pico-gpio-port

I2C

on-chip

Raspberry Pi Pico I2C11

raspberrypi,pico-i2c

Interrupt controller

on-chip

ARMv6-M NVIC (Nested Vectored Interrupt Controller) controller1

arm,v6m-nvic

LED

on-board

Group of GPIO-controlled LEDs1

gpio-leds

Mailbox

on-chip

Raspberry Pi Pico interprocessor mailbox1

raspberrypi,pico-mbox

Miscellaneous

on-chip

Raspberry Pi Pico PIO2

raspberrypi,pico-pio

on-chip

Raspberry Pi Pico SIO1

raspberrypi,pico-sio

MTD

on-chip

Flash node1

soc-nv-flash

Pin control

on-chip

Raspberry Pi Pico Pin Controller1

raspberrypi,pico-pinctrl

PWM

on-chip

Raspberry Pi Pico PWM1

raspberrypi,pico-pwm

Regulator

on-chip

Raspberry Pi Pico core supply regurator1

raspberrypi,core-supply-regulator

Reset controller

on-chip

Raspberry Pi Pico Reset Controller1

raspberrypi,pico-reset

RTC

on-chip

Raspberry Pi Pico RTC1

raspberrypi,pico-rtc

Sensors

on-board

STMicroelectronics LSM6DSO 6-axis IMU (Inertial Measurement Unit) sensor accessed through SPI bus1

st,lsm6dso

on-chip

Raspberry Pi Pico family temperature sensor node1

raspberrypi,pico-temp

Serial controller

on-chip

Raspberry Pi Pico UART11

raspberrypi,pico-uart

SPI

on-chip

Raspberry Pi Pico SPI11

raspberrypi,pico-spi

SRAM

on-chip

Generic on-chip SRAM1

mmio-sram

Timer

on-chip

ARMv6-M System Tick1

arm,armv6m-systick

USB

on-chip

Raspberry Pi Pico USB Device Controller1

raspberrypi,pico-usbd

Watchdog

on-chip

Raspberry Pi Pico Watchdog1

raspberrypi,pico-watchdog

Wi-Fi

on-board

ESP8266/ESP32 WiFi modem (AT Commands)1

espressif,esp-at

Connections and IOs

The Arduino Store [1] and Arduino Docs [2] have detailed information about board connections. Download the datasheet [3] for more detail.

Flashing

Using UF2

The easiest way to flash the board is using the UF2 bootloader. Here is an example for the Hello World application.

# From the root of the zephyr repository
west build -b arduino_nano_connect samples/hello_world
west flash

Serial Console

Connect to the serial console using the USB port:

$ minicom -D /dev/ttyACM0

You should see the following message:

Hello World! arduino_nano_connect

Debugging

You can debug an application using OpenOCD and a debug probe. Here is an example for the Hello World application.

# From the root of the zephyr repository
west build -b arduino_nano_connect samples/hello_world
west debug

References