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 |
|
ADC |
on-chip |
Raspberry Pi Pico ADC1 |
|
Clock control |
on-chip |
Raspberry Pi Pico clock controller node1 |
|
on-chip |
|||
on-chip |
The representation of Raspberry Pi Pico’s PLL2 |
||
on-chip |
The representation of Raspberry Pi Pico ring oscillator1 |
||
on-chip |
The representation of Raspberry Pi Pico external oscillator1 |
||
Counter |
on-chip |
Raspberry Pi Pico timer1 |
|
DMA |
on-chip |
Raspberry Pi Pico DMA1 |
|
Flash controller |
on-chip |
Raspberry Pi Pico flash controller1 |
|
GPIO & Headers |
on-chip |
Raspberry Pi Pico GPIO1 |
|
on-chip |
Raspberry Pi Pico GPIO Port1 |
||
I2C |
on-chip |
||
Interrupt controller |
on-chip |
ARMv6-M NVIC (Nested Vectored Interrupt Controller) controller1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
Mailbox |
on-chip |
Raspberry Pi Pico interprocessor mailbox1 |
|
Miscellaneous |
on-chip |
Raspberry Pi Pico PIO2 |
|
on-chip |
Raspberry Pi Pico SIO1 |
||
MTD |
on-chip |
Flash node1 |
|
Pin control |
on-chip |
Raspberry Pi Pico Pin Controller1 |
|
PWM |
on-chip |
Raspberry Pi Pico PWM1 |
|
Regulator |
on-chip |
Raspberry Pi Pico core supply regurator1 |
|
Reset controller |
on-chip |
Raspberry Pi Pico Reset Controller1 |
|
RTC |
on-chip |
Raspberry Pi Pico RTC1 |
|
Sensors |
on-board |
STMicroelectronics LSM6DSO 6-axis IMU (Inertial Measurement Unit) sensor accessed through SPI bus1 |
|
on-chip |
Raspberry Pi Pico family temperature sensor node1 |
||
Serial controller |
on-chip |
||
SPI |
on-chip |
||
SRAM |
on-chip |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
ARMv6-M System Tick1 |
|
USB |
on-chip |
Raspberry Pi Pico USB Device Controller1 |
|
Watchdog |
on-chip |
Raspberry Pi Pico Watchdog1 |
|
Wi-Fi |
on-board |
ESP8266/ESP32 WiFi modem (AT Commands)1 |
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