Arduino has released the Arduino Nano RP2040 Connect, their first board based on the Raspberry Pi Foundation’s RP2040 microcontroller. It’s clear with this board that Arduino wanted to add significant value, rather than just package an RP2040 in a familiar footprint. The most distinctive element of the Nano RP2040 Connect is the Wi-Fi and Bluetooth connectivity provided by the Nina W102 module from u-blox. This is the same module found on the Nano 33 IoT. Added to this is a six-axis IMU unit (gyroscope / accelerometer), a digital microphone and a cryptography chip. Arduino has played up cloud connectivity in promotion of the Arduino Nano RP2040 Connect, suggesting remote programming and cell phone control via the Arduino Cloud.
The form of the Arduino Nano RP2040 Connect matches that of other recent Nano boards. It features holes for pin headers as well as castellations for surface-mounting onto a larger board. There are no devices on the bottom, although there are some optional power jumpers and debug pads. Note that the pins are only labeled on the bottom, so you will have to refer to a pinout diagram when prototyping.
The RP2040 chip at the heart of this board represents the Raspberry Pi Foundation’s first foray into custom microcontroller chips. It features a dual-core ARM Cortex-M0+ processor running at a maximum of 133 MHz. The RP2040 has native USB 1.1 device and host capabilities. There is also a dedicated QSPI high-speed serial interface used for off-chip program storage to which Arduino has attached the maximum supported 16 MB of flash. All I/O runs at 3.3V.
The RP2040 has thirty very flexible GPIO pins, with each having the option to be connected to one of the eight PWM timers, for example, or to be part of an SPI, UART, or I2C bus. Twenty of these pins are broken out to headers on the Nano RP2040 Connect. There is one hitch in that the Nano form factor expects eight analog input pins and the RP2040’s 12-bit ADC multiplexes onto only four of its GPIO pins. To make up the difference, Arduino has attached four of the ADC pins from the Nina W102 module (which is a microcontroller itself) to pins A4 through A7. Pins A4 and A5 are connected to both chips, with the RP2040 providing digital I/O (including I2C). The Nina W102 is also tasked with running an RGB LED and the cryptography chip. The two microcontrollers communicate over an SPI bus made from their other spare pins.
Thankfully, the messiness of the hardware is all hidden from the user so long as they write their programs in Arduino IDE or Arduino Cloud. Arduino is using Mbed OS, an operating system that runs on Cortex-M based microcontrollers, to provide support for the RP2040 with Arduino sketches running on top of the OS. Mbed OS has allowed Arduino to get their library base working on a number of new microcontroller boards, including this one. Because the RP2040 chip is connected directly to the USB, the Arduino Nano RP2040 Connect is compatible with Raspberry Pi Pico software, providing the available pins are acceptable. MicroPython support is now available as well. The board also comes with a license for OpenMV, for programming machine vision applications in Python.
- Wi-Fi, Bluetooth, and USB make for a well-connected board
- Digital microphone and six-axis IMU
- Great library support in Arduino IDE