Adafruit's Metro RP2040 Packs a Raspberry Pi RP2040 and Extras Into an Arduino UNO Form Factor
Launching with Arduino IDE, MicroPython, and CircuitPython support, the Metro RP2040 borrows Arduino's most iconic layout.
Adafruit has announced a new entry in its Metro line of Arduino UNO form factor microcontroller development boards, and this time it's playing host to a Raspberry Pi RP2040 dual-core Arm Cortex-M0+ chip β and it's called, unsurprisingly, the Adafruit Metro RP2040.
"This is the RP2040 Metro Line, making all station stops at 'Dual Cortex M0+ mountain,' '264k RAM round-about' and '16 Megabytes of Flash town,'" Adafruit enthuses of its latest Metro design. "This train is pile[d] high with hardware that complements the Raspberry Pi RP2040 chip to make it an excellent development board for projects that want Arduino-shape-compatibility or just need the extra space and debugging ports."
As with other entries in the Metro line, the Metro RP2040 is designed to be pin- and footprint-compatible with the Arduino UNO line of microcontroller development boards. It's not a clone, though: as well as the new microcontroller at its heart, the board includes a USB Type-C connector rather than full-size USB, a microSD slot for storage, a dedicated debug port, a STEMMA QT port for expansion to external boards, and an on-board RGB LED in addition to the usual Pin 13 LED.
The RP2040 microcontroller gives the board two 32-bit Arm Cortex-M0+ cores running at a stock 133MHz and 264kB of static RAM (SRAM), plus a smart Programmable Input/Output (PIO) block which can run state machines independently of the CPU cores. There's 16MB of off-chip quad-SPI flash, and 24 general-purpose input/output (GPIO) pins broken out with four doubling as analog inputs.
For those looking to pick a board up, though, Adafruit offers a couple of notes. The first is that the microSD slot, connected over SPI, offers hardware support for SD Input/Output (SDIO) operation, but that there's no corresponding software support in Arduino, MicroPython, or CircuitPython. The second is a change to the pinout compared with a true Arduino UNO: Pins A4 and A5, the fifth and sixth analog inputs on an Arduino UNO, are on the Metro RP2040 digital inputs instead.
There's also a receive-transmit switch, not found on an original Arduino UNO. "We added this because traditional Arduino board start counting the GPIO for the digital pins with 0-7 and then 8-13. However, the D0/D1 pins are also traditionally the hardware UART Serial1, where D0 is Rx and D1 is Tx," the company explains.
"On the RP2040, however, the UART pins are the other around: D0 is Tx and D1 is Rx. Thus a DPDT [Double-Pole Double-Throw] switch: flip one way to have the GPIO go in order of 0-7, flip the other way to have the logical locations of the hardware UART correct but now the pin order is 1, 0, 2, 3β¦7."
The board design has been finalized but hardware has not yet launched; those interested can sign up to be notified when the Metro RP2040 goes on sale on the Adafruit Store, where it is listed at $14.95 before volume discounts.