Arduino Nano RP2040 Connect
The Nano RP2040 Connect is a tiny development board based on the Raspberry Pi RP2040 microcontroller.
Peripherals:
- NINA-W102 chip with wifinina firmware (wifi and bluetooth)
- lsm6dox IMU chip (acceleration, rotation and temperature)
- microphone
Interfaces
Interface | Hardware Supported | TinyGo Support |
---|---|---|
GPIO | YES | YES |
UART | YES | YES |
SPI | YES | YES |
I2C | YES | YES |
ADC | YES | YES |
PWM | YES | YES |
USBDevice | YES | YES |
Pins
Pin | Hardware pin | Alternative names | PWM |
---|---|---|---|
D2 | GPIO25 | PWM4 (channel B) | |
D3 | GPIO15 | PWM7 (channel B) | |
D4 | GPIO16 | PWM0 (channel A) | |
D5 | GPIO17 | PWM0 (channel B) | |
D6 | GPIO18 | I2C1_SDA_PIN | PWM1 (channel A) |
D7 | GPIO19 | I2C1_SCL_PIN | PWM1 (channel B) |
D8 | GPIO20 | PWM2 (channel A) | |
D9 | GPIO21 | PWM2 (channel B) | |
D10 | GPIO5 | PWM2 (channel B) | |
D11 | GPIO7 | SPI0_SDO_PIN | PWM3 (channel B) |
D12 | GPIO4 | SPI0_SDI_PIN | PWM2 (channel A) |
D13 | GPIO6 | LED , SPI0_SCK_PIN | PWM3 (channel A) |
D14 | GPIO26 | A0 , ADC0 | PWM5 (channel A) |
D15 | GPIO27 | A1 , ADC1 | PWM5 (channel B) |
D16 | GPIO28 | A2 , ADC2 | PWM6 (channel A) |
D17 | GPIO29 | A3 , ADC3 | PWM6 (channel B) |
D18 | GPIO12 | I2C0_SDA_PIN | PWM6 (channel A) |
D19 | GPIO13 | I2C0_SCL_PIN | PWM6 (channel B) |
SPI1_SCK_PIN | GPIO22 | SPI1_SDO_PIN , SPI1_SDI_PIN | PWM3 (channel A) |
NINA_SCK | GPIO14 | PWM7 (channel A) | |
NINA_SDO | GPIO11 | NINA_RTS | PWM5 (channel B) |
NINA_SDI | GPIO8 | NINA_TX | PWM4 (channel A) |
NINA_CS | GPIO9 | NINA_RX | PWM4 (channel B) |
NINA_ACK | GPIO10 | NINA_CTS | PWM5 (channel A) |
NINA_GPIO0 | GPIO2 | PWM1 (channel A) | |
NINA_RESETN | GPIO3 | PWM1 (channel B) | |
UART0_TX_PIN | GPIO0 | UART_TX_PIN | PWM0 (channel A) |
UART0_RX_PIN | GPIO1 | UART_RX_PIN | PWM0 (channel B) |
Machine Package Docs
Documentation for the machine package for the Nano RP2040
Flashing
UF2
The Nano RP2040 comes with the UF2 bootloader already installed.
CLI Flashing
Flash your TinyGo program to the board using this command:
tinygo flash -target=nano-rp2040 [PATH TO YOUR PROGRAM]
The Nano RP2040 board should restart and run your program.
Troubleshooting
Any troubleshooting tips go here.
Notes
You can use the USB port to the Nano RP2040 as a serial port.
TinyGo has support for the RP2040’s on-board Programmable Input/Output (PIO) block.
For more informantion, see https://.com/tinygo-org/pio