{"product_id":"adafruit-metro-rp2350-with-psram","title":"Adafruit Metro RP2350 with PSRAM","description":"\u003cp\u003eChoo! Choo! This is the RP2350 Metro Line, making all station stops at \"Dual Cortex M33 mountain\", \"528K RAM round-about\" and \"16 Megabytes of Flash town\" and a bonus stop at \"8 Megabytes of PSRAM village\".\u003c\/p\u003e\n\u003cp\u003eThis 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.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eRP2350 main chip\u003c\/strong\u003e, 150MHz clock, 3.3V logic\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e16 MB of QSPI Flash\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003efor program storage\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e8 MB of QSPI PSRAM\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003efor extra dynamic memory\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e37 Available GPIO:\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003e23 on the socket\/SPI headers, 12 on HSTX port, and another 2 for USB host. 6 of which are also analog inputs\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMicro SD card socket \u003c\/strong\u003ewired up for SPI interfacing, also has extra pins connected for advanced-user SDIO interfacing (note that there's no code for SDIO in Arduino\/Python, so this is a super-cutting-edge setup)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e5V Buck Converter\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003efeaturing TPS563201 6~17V DC input and up to 2A output\u003c\/li\u003e\n\u003cli\u003eOnboard\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eRGB NeoPixel\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eOnboard\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003e#23 LED\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eStemma QT\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eport for I2C peripherals and sensors\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e22-pin 3-lane differential HSTX\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eFPC port with 'Pi 5' compatible pinout, makes for quick DVI video output. Or, this also provides 12 extra GPIO that can be used for more pins.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eReset and Boot buttons\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eon PCB edge\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePico Probe\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003edebug port - 3 pin JST SH compatible\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eUSB Type C\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003epower and data\u003c\/li\u003e\n\u003cli\u003e5.5mm \/ 2.1mm\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eDC jack\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003efor 6-17VDC power\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOn\/off switch\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003efor DC jack\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRX \/ TX switch\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003efor swapping D0 and D1 locations\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eUSB Host breakout pads\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e- with controllable 5V power and D+\/D- for bitbang USB Host.\u003c\/li\u003e\n\u003cli\u003eGPIO pin numbers match classic Arduino pins, other than GPIO 12 and 13 as those are needed for HSTX connectivity\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eYou may be wondering about the RX-TX switch: Adafruit 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 you often swap the pins - now you don't need to require or cut\/solder traces!\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eInside the RP2350 is a 'permanent ROM' USB UF2 bootloader\u003c\/strong\u003e. What that means is when you want to program new firmware, you can hold down the BOOTSEL button while plugging it into USB (or pulling down the RUN\/Reset pin to ground) and it will appear as a USB disk drive you can drag the firmware onto. Folks who have been using Adafruit products will find this very familiar - we use the technique on all our native-USB boards. Just note you don't double-click reset instead hold down BOOTSEL during boot to enter the bootloader!\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eThere is great \u003ca href=\"https:\/\/github.com\/raspberrypi\/pico-sdk\"\u003eC\/C++ support\u003c\/a\u003e, \u003ca href=\"https:\/\/learn.adafruit.com\/rp2040-arduino-with-the-earlephilhower-core\"\u003eunofficial (but really good) Arduino support,\u003c\/a\u003e an official \u003ca href=\"https:\/\/github.com\/micropython\/micropython\"\u003eMicroPython port\u003c\/a\u003e, and a \u003ca href=\"https:\/\/circuitpython.org\/downloads\"\u003eCircuitPython port\u003c\/a\u003e!\u003c\/strong\u003e Adafruit \u003ca href=\"https:\/\/learn.adafruit.com\/welcome-to-circuitpython\"\u003erecommend CircuitPython because they think it's the easiest way to get started\u003c\/a\u003e and most Adafruit drivers, displays, sensors, and more are supported out of the box so you can follow along with CircuitPython projects and tutorials.\u003c\/p\u003e\n\u003cp\u003eWhile the RP2350 has lots of onboard RAM, it does not have built-in FLASH memory. Instead, that is provided by the external QSPI flash chip. \u003cstrong\u003eOn this board there is 16 MB\u003c\/strong\u003e, which is shared between the program it's running and any file storage used by MicroPython or CircuitPython. When using C\/C++ you get the whole flash memory, if using Python you will have about 14 MB remaining for code, files, images, fonts, etc.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eRP2350 Chip features:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eDual ARM Cortex-M33 with floating point unit \u003cem\u003eor\u003c\/em\u003e Dual RISC-V @ 150MHz\u003c\/li\u003e\n\u003cli\u003e520 kB on-chip SRAM\u003c\/li\u003e\n\u003cli\u003e8 kB of one-time-programmable (OTP) memory.\u003c\/li\u003e\n\u003cli\u003eSupport for up to 16MB of off-chip Flash memory via dedicated QSPI bus\u003c\/li\u003e\n\u003cli\u003eSupport for external QSPI PSRAM\u003c\/li\u003e\n\u003cli\u003eDMA controller, 16 channel, 4 IRQ\u003c\/li\u003e\n\u003cli\u003eFully-connected AHB crossbar\u003c\/li\u003e\n\u003cli\u003eOn-chip switched-mode power supply and programmable low-dropout regulator (LDO) to generate core voltage\u003c\/li\u003e\n\u003cli\u003eTwo on-chip PLLs to generate 48 MHz USB and 150MHz core clocks\u003c\/li\u003e\n\u003cli\u003eOptional boot signing with protected OTP storage\u003c\/li\u003e\n\u003cli\u003eHardware SHA-256 accelerator\u003c\/li\u003e\n\u003cli\u003eHardware random number generator (TRNG)\u003c\/li\u003e\n\u003cli\u003e48 GPIO pins, 8 of which can be used as analog inputs\u003c\/li\u003e\n\u003cli\u003ePeripherals\n\u003cul\u003e\n\u003cli\u003e2 UARTs\u003c\/li\u003e\n\u003cli\u003e2 SPI controllers\u003c\/li\u003e\n\u003cli\u003e2 I2C controllers\u003c\/li\u003e\n\u003cli\u003e24 PWM channels (compared to 16 on RP2040)\u003c\/li\u003e\n\u003cli\u003eUSB 1.1 controller and PHY, with host and device support\u003c\/li\u003e\n\u003cli\u003e12 PIO state machines\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003ePlease note: \u003c\/strong\u003eThe Adafruit Metro RP2350 comes with the A2 version of the RP2350, \u003ca href=\"https:\/\/datasheets.raspberrypi.com\/rp2350\/rp2350-datasheet.pdf#page=1342\"\u003ewhich is affected by the E9 erratum\u003c\/a\u003e. This errata affects some uses of GPIO and PIO such as high-impedance inputs and the internal pulldowns. You may need to use 8.2K or smaller resistors if pull-downs are required. At this time, Feb 2025, there is no other version of the RP2350 available - only the A2 version.\u003c\/p\u003e\n\u003ch2\u003eTechnical Details\u003c\/h2\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/www.adafruit.com\/includes\/templates\/shop2019\/images\/RoHS2_2011_65_EU.svg\" alt=\"RoHS 2 2011 65 EU Compliant\" width=\"145\" height=\"80\"\u003e\u0026lt; \u003cimg src=\"https:\/\/www.adafruit.com\/includes\/templates\/shop2019\/images\/RoHS2_2015_863_EU.svg\" alt=\"RoHS 2 2015 863 EU Compliant\" width=\"145\" height=\"80\"\u003e\u003c\/p\u003e\n\u003ch2\u003eLearn\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ca href=\"https:\/\/learn.adafruit.com\/adafruit-metro-rp2350\"\u003ePrimary Guide: Adafruit Metro RP2350\u003c\/a\u003e Get on the RP2350 train!\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Adafruit","offers":[{"title":"Default Title","offer_id":55228529574267,"sku":"ADA6267","price":27.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0174\/1800\/files\/6267-00.jpg?v=1742995447","url":"https:\/\/shop.pimoroni.com\/en-eu\/products\/adafruit-metro-rp2350-with-psram","provider":"Pimoroni Ltd","version":"1.0","type":"link"}