Pico 2
by Raspberry Pi
![Image of Board](/assets/images/boards/large/raspberry_pi_pico2.jpg)
Raspberry Pi Pico 2 is Raspberry Pi Foundation’s update to their popular RP2040-based Pico board, now built on RP2350: their new high-performance, secure microcontroller. With a higher core clock speed, double the on-chip SRAM (512KB), double the on-board flash memory (4MB!), more powerful Arm M33 cores, new security and low-power features, and upgraded interfacing capabilities, the Raspberry Pi Pico 2 delivers a significant performance and feature boost while retaining hardware and software compatibility with earlier members of the Raspberry Pi Pico series.
The unique dual-core, dual-architecture capability of RP2350 allows users to choose between a pair of industry-standard Arm Cortex-M33 cores and a pair of open-hardware Hazard3 RISC-V cores. You can use either Arm or RISC-V cores, so this is a great way to dabble in RISC-V development with an affordable board that has lots of peripherals. The M33 has an FPU, and is ‘basically’ 2x as fast as the M0+ of the RP2040 when we speed-tested it.
Not only is the Pico 2 twice as fast, it has twice as much RAM, 520KB compared to 264KB. The Pico also has twice as much FLASH memory, 4MB instead of 2MB, which will make it a much better board for CircuitPython usage where the internal memory is used to store files. There’s also one more PIO blocks (3 blocks with 4 state machines apiece, rather than 2) so you can do even more pin twiddling at once. For folks who want to use the RP2350 to generate high frequency output signals like DVI display output, you can use the HSTX (high speed transmission) peripheral rather than PIO.
For customers who wanted a more secure microcontroller for product design, the RP2350 provides a comprehensive security architecture, built around Arm TrustZone for Cortex-M, and incorporating signed boot, 8KB of antifuse OTP for key storage, SHA-256 acceleration, a hardware TRNG, and fast glitch detectors. These features, including the secure boot ROM, are extensively documented and available to all users without restriction: this transparent approach, which contrasts with the “security through obscurity” offered by legacy vendors, allows professional users to integrate RP2350, and Raspberry Pi Pico 2, into products with confidence.
Programmable in C / C++ and CircuitPython/MicroPython, and with detailed documentation, Raspberry Pi Pico 2 is the ideal microcontroller board for enthusiasts and professional developers alike. It makes an excellent upgrade to the RP2040, with lots of back-compatibility and some excellent upgrades.
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 Pico 2.
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.