MakerLab
ArduinoArduino Nano RP2040 Connect

Arduino Nano RP2040 Connect: Powering Your Projects with RP2040 and Wi-Fi

The Arduino Nano RP2040 Connect combines the versatile RP2040 microcontroller with built-in Wi-Fi and Bluetooth for connected embedded projects.

Arduino Nano RP2040 Connect

The Arduino Nano RP2040 Connect is a compact microcontroller board that bridges the gap between the popular Arduino Nano form factor and the powerful Raspberry Pi RP2040 chip. It's designed for makers, students, and engineers looking to create sophisticated, connected projects without the complexity of larger development boards. This board integrates a wealth of features, including wireless connectivity, making it ideal for IoT applications, robotics, and interactive installations.

At its heart is the Raspberry Pi RP2040, a dual-core ARM Cortex-M0+ processor clocked at up to 133 MHz. This chip is known for its flexibility, generous RAM, and unique Programmable I/O (PIO) peripherals, which allow for custom hardware interfaces. The RP2040 is manufactured by Raspberry Pi and was first introduced in the Raspberry Pi Pico, quickly gaining popularity for its performance and affordability. The Arduino Nano RP2040 Connect leverages this capable silicon and adds essential components for modern development.

This board sits within the Arduino family as a high-performance, connected option, building upon the familiar Nano footprint. It's a step up from basic Arduino boards like the Uno or the original Nano, offering significantly more processing power, more memory, and integrated wireless. Its target audience includes those who have outgrown simpler microcontrollers or require the connectivity and performance for more demanding applications. The inclusion of an onboard IMU (Inertial Measurement Unit) further expands its capabilities for motion-sensing projects.

Released around 2021, the Arduino Nano RP2040 Connect was a strategic move by Arduino to embrace the RP2040 ecosystem while providing their signature ease of use and extensive community support. It's particularly well-suited for projects that require real-time processing, complex sensor data handling, and seamless integration with the internet or local networks. The onboard Wi-Fi and Bluetooth, managed by a u-blox NINA-W102 module, make it a compelling choice for smart home devices, remote monitoring systems, and interactive art installations.

Watch

Related video, embedded from YouTube.

Specifications

Microcontroller / SoCRaspberry Pi RP2040
ArchitectureDual-core ARM Cortex-M0+
Clock speed133 MHz (default, can be overclocked)
Flash / Storage16 MB (external QSPI Flash)
RAM / SRAM264 KB (on-chip SRAM)
Operating voltage3.3V
Digital I/O pins20 (shared with other functions)
Analog / ADC3x 12-bit ADC inputs (on specific GPIOs)
PWMAll digital pins support PWM
ConnectivityWi-Fi (802.11 b/g/n), Bluetooth 5.0
USBUSB-C (for power and programming)
Power input5V via USB-C or VIN pin (3.3V regulator onboard)
Dimensions48mm x 18mm

Pinout & pin functions

PinFunction
3V33.3V Power Output
GNDGround
VINInput voltage (typically 5V)
0 (RX)UART RX (Serial communication)
1 (TX)UART TX (Serial communication)
2GPIO, ADC0, PWM
3GPIO, ADC1, PWM
4GPIO, ADC2, PWM
5GPIO, PWM
6GPIO, PWM
7GPIO, PWM
8GPIO, PWM
9GPIO, PWM
10GPIO, PWM, SPI CS (default)
11GPIO, PWM, SPI MOSI
12GPIO, PWM, SPI MISO
13GPIO, PWM, SPI SCK
14GPIO, PWM, I2C SDA
15GPIO, PWM, I2C SCL
16GPIO, PWM
17GPIO, PWM
18GPIO, PWM
19GPIO, PWM
20GPIO, PWM
21GPIO, PWM
22GPIO, PWM
23GPIO, PWM
24GPIO, PWM
25GPIO, PWM
26GPIO, PWM
27GPIO, PWM
28GPIO, PWM
29GPIO, PWM
30GPIO, PWM
31GPIO, PWM
32GPIO, PWM
33GPIO, PWM
34GPIO, PWM
35GPIO, PWM
36GPIO, PWM
37GPIO, PWM
38GPIO, PWM
39GPIO, PWM
40GPIO, PWM
41GPIO, PWM
42GPIO, PWM
43GPIO, PWM
44GPIO, PWM
45GPIO, PWM
46GPIO, PWM
47GPIO, PWM
LEDOnboard LED (connected to GPIO 25)
BOOTSELBootloader mode select (active low)
RSTReset pin

Wiring & circuit basics

The Arduino Nano RP2040 Connect operates at a logic level of 3.3V. This means that any components you connect directly to its GPIO pins should also be 3.3V compatible. Connecting 5V devices directly could damage the microcontroller. If you need to interface with 5V logic devices, a level shifter is required. Powering the board can be done via the USB-C port, which supplies 5V. Alternatively, the VIN pin can accept a voltage typically between 5V and 7V, which is then regulated down to 3.3V by an onboard regulator for the RP2040 and connected peripherals.

When powering external components, be mindful of the current limitations. The 3.3V pin can supply a limited amount of current, usually around 300-500mA, depending on the load. For higher current needs, such as driving motors or multiple LEDs, use the VIN pin and an external power supply, ensuring the total current drawn does not exceed the capabilities of the power source or the board's regulator. Always connect grounds together; the GND pin on the Arduino Nano RP2040 Connect should be connected to the ground of any external power supply or components.

A simple example circuit is connecting an LED. Choose a standard LED and a current-limiting resistor (typically 220-330 ohms for a 3.3V system). Connect the longer leg (anode) of the LED to a digital GPIO pin (e.g., GPIO 21). Connect the shorter leg (cathode) of the LED to one end of the resistor. Connect the other end of the resistor to a GND pin on the Arduino. This setup ensures that when the GPIO pin is set HIGH (3.3V), current flows through the LED and resistor to ground, illuminating the LED safely. The resistor prevents excessive current from damaging the LED or the microcontroller.

Programming & getting started

The Arduino Nano RP2040 Connect can be programmed using the familiar Arduino IDE. You'll need to install the 'Arduino Mbed OS RP2040 Boards' or 'Arduino core for RP2040 boards' package via the Boards Manager. This allows you to write C/C++ code using the Arduino API. For a more Pythonic approach, CircuitPython is also well-supported, offering an easier entry point for beginners and rapid prototyping. Simply download the latest CircuitPython UF2 file for the board, connect it via USB while holding the BOOTSEL button, and drag and drop the UF2 file onto the RPI-RP2 drive that appears.

To upload your first sketch using the Arduino IDE, connect the board to your computer via USB-C. Select 'Arduino Nano RP2040 Connect' from the Tools > Board menu and choose the correct COM port. Write a simple 'Blink' sketch, modifying the pin number to match the onboard LED (typically GPIO 25). Upload the sketch. The onboard LED should start blinking. For MicroPython, you would typically use a tool like Thonny IDE, which simplifies the process of writing, uploading, and debugging MicroPython code on the board.

Project ideas

Wi-Fi Connected Weather StationBuild a device that reads temperature, humidity, and pressure using an external sensor (e.g., BME280 on I2C) and displays the data on a web server hosted by the Nano RP2040 Connect. This project utilizes the board's Wi-Fi capabilities, I2C communication, and ADC for sensor readings, teaching about IoT data logging and web services.
Gesture Controlled Robot ArmControl a small robot arm using the onboard IMU (accelerometer and gyroscope). By tilting and moving the board, you can send commands wirelessly via Bluetooth to a receiving robot arm. This project leverages the IMU for motion detection and Bluetooth for wireless control, ideal for learning about robotics and wireless communication.
Smart Home Environmental MonitorCreate a system that monitors air quality (e.g., CO2 levels with an external sensor) and temperature/humidity, then sends alerts to your phone via a cloud service (like IFTTT or MQTT) when thresholds are exceeded. This project combines sensor interfacing, Wi-Fi connectivity, and cloud integration, teaching about smart home automation and IoT platforms.
Custom MIDI ControllerDesign a unique MIDI controller using buttons, potentiometers, and sliders connected to the GPIO pins. The Nano RP2040 Connect can process these inputs and send MIDI messages over USB or wirelessly via Bluetooth. This project explores digital input handling, analog-to-digital conversion, and MIDI protocol implementation.
RP2040 PIO Audio SynthesizerUtilize the RP2040's Programmable I/O (PIO) to generate custom audio waveforms, creating a simple synthesizer. Connect a small speaker or audio output jack to the board. This advanced project showcases the unique capabilities of the RP2040's PIO for hardware-level timing and signal generation, pushing the boundaries of embedded audio.

Buying tips & gotchas

When purchasing the Arduino Nano RP2040 Connect, ensure you are buying from reputable sources to avoid counterfeit or lower-quality variants. The board uses a standard 3.3V logic level; always use level shifters when interfacing with 5V components to prevent damage. Be aware of the current limitations of the 3.3V and 5V pins; for power-hungry peripherals, use an external power supply connected to the VIN pin or a dedicated power bus. Accessories that complement this board include small OLED displays for data visualization, various sensors (IMU, environmental, motion), and breadboards or custom PCBs for prototyping circuits. The onboard LED is connected to GPIO 25, which is a convenient pin for basic testing.