Metro RP2350

by Adafruit

Image of Board

Choo! Choo! This is the RP2350 Metro Line, making all station stops at “Dual Cortex M33 mountain”, “520K RAM round-about” and “16 Megabytes of Flash town”. This train is piled high with hardware that complements the Raspberry Pi RP2350 chip to make it an excellent development board for projects that want Arduino-shape-compatibility or just need the extra space and debugging ports.

  • RP2350 main chip, 150MHz clock, 3.3V logic
  • 16 MB of QSPI flash for program storage
  • 24 GPIO, 8 of which are also analog inputs
  • Micro SD card socket wired up for SPI interfacing, also has extra pins connected for advanced-user SDIO interfacing (note that there’s no released usage code for SDIO in Arduino/Python, so this is a super-cutting-edge setup)
  • Onboard RGB NeoPixel
  • Onboard #13 LED
  • Stemma QT port for I2C peripherals and sensors
  • 22-pin 3-lane differential HSTX FPC port with ‘Pi 5’ compatible pinout
  • Reset and Boot buttons on PCB edge
  • Pico Probe debug port - 3 pin JST SH compatible
  • USB Type C power and data
  • 5.5mm / 2.1mm DC jack for 6-12VDC power
  • On/off switch for DC jack
  • GPIO pin numbers match classic Arduino pins
  • RX / TX switch for swapping D0 and D1 locations

You may be wondering about the RX-TX switch: 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. On the RP2350, however, the UART pins are the other around: D0 is Tx and D1 is Rx. Thus a DPDT 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. Of course, it’s also handy if, like us, you often swap the pins - now you don’t need to require or cut/solder traces!

Contribute

Have some info to add for this board? Edit the source for this page here.

CircuitPython 9.2.0-alpha.2351

This is the latest development release of CircuitPython that will work with the Metro RP2350.

Alpha development releases are early releases. They are unfinished, are likely to have bugs, and the features they provide may change. Beta releases may have some bugs and unfinished features, but should be suitable for many uses. A Release Candidate (rc) release is considered done and will become the next stable release, assuming no further issues are found.

Please try alpha, beta, and rc releases if you are able. Your testing is invaluable: it helps us uncover and find issues quickly.

Release Notes for 9.2.0-alpha.2351

Built-in modules available: _asyncio , _bleio , _pixelmap , adafruit_bus_device , adafruit_pixelbuf , aesio , analogbufio , analogio , array , atexit , audiobusio , audiocore , audiomixer , audiomp3 , audiopwmio , binascii , bitbangio , bitmapfilter , bitmaptools , bitops , board , builtins , builtins.pow3 , busdisplay , busio , busio.SPI , busio.UART , codeop , collections , countio , digitalio , displayio , epaperdisplay , errno , floppyio , fontio , fourwire , framebufferio , getpass , gifio , hashlib , i2cdisplaybus , i2ctarget , imagecapture , io , jpegio , json , keypad , keypad.KeyMatrix , keypad.Keys , keypad.ShiftRegisterKeys , keypad_demux , keypad_demux.DemuxKeyMatrix , locale , math , memorymap , microcontroller , msgpack , neopixel_write , nvm , onewireio , os , os.getenv , paralleldisplaybus , pulseio , pwmio , qrio , rainbowio , random , re , rgbmatrix , rotaryio , rp2pio , rtc , sdcardio , select , sharpdisplay , storage , struct , supervisor , synthio , sys , terminalio , time , touchio , traceback , ulab , usb , usb_cdc , usb_hid , usb_host , usb_midi , usb_video , vectorio , warnings , watchdog , zlib ,

Absolute Newest

Every time we commit new code to CircuitPython we automatically build binaries for each board and language. The binaries are stored on Amazon S3, organized by board, and then by language. These releases are even newer than the development release listed above. Try them if you want the absolute latest and are feeling daring or want to see if a problem has been fixed.

Previous Versions of CircuitPython

All previous releases of CircuitPython are available for download from Amazon S3 through the button below. For very old releases, look in the OLD/ folder for each board. Release notes for each release are available at GitHub button below.

Older releases are useful for testing if you something appears to be broken in a newer release but used to work, or if you have older code that depends on features only available in an older release. Otherwise we recommend using the latest stable release.