Pico2 Wireless (RP2350) - 2 cores microcontroler from Raspberry-Pi (ARM Cortex M33, RISC-V) - WiFi 2.4 GHZ - Bluetooth
Raspberry-Pi Pico 2 Wireless microcontroler
- RP2350A, 2 cores among (selected at boot)
- Cortex M33 with FPU and DSP @ 150 MHz
- RISC-V Hazaerd3 @ 150 MHz - 4 Mio Flash (QSPI)
- 512 Kio SRAM
- 8 Kio OTP (on-chip)
- Wireless module CYW43439,
- WiFi 2.4 GHz 802.11n
- Bluetooth 5.2 - 1x USB Host and client
- 3x PIO Blocks (12 State Machines)
- 26x GPIO @ 3.3V (5V tolerant)
- 4x 3.3V ADC 12bits (3x user, 1x VSys, 1x temperature)
- 24x PWM
- 2x UART, 2x I2C, 2x SPI
- SD IO, VGA IO, HDMI/DVI IO (via TMDS encoder)
- SWD debug port (Open OCD)
- Options de sécurités pour professionnels
- 100% compatible with Pico original (form-factor & Software)
Payments are secured by LyraCollect, a French payment collection company.
It is possible to delivered to your home, to a pick-up point or picked up by appointment at MCHobby
We prepare, pack and ship your orders with great respect and care.
The Raspberry-Pi Pico 2 Wireless microcontroler, a powerful dual core for C++ or MicroPython development
Do we need to present the Pico 2 and its RP2350A microcontroler? It was to be expected that a Wireless version would appear shortly afterwards.
Like the Pico Wireless, this module is equipped with an Infineon CYW43439 WiFi module offering 2.4 GHz wireless support (monoband) 802.11 b/g/n as well as Bluetooth 5.2 (see Infineon technical datasheet).
The Pico 2 is the second microcontroler created by the Raspberry-Pi foundation, the RP2350A is based on a dual-core Cortex-M33 @ 150 MHz and fitted with 4 MB flash memory (QSPI). The RP2350 also have 512 KB RAM memory (almost double the original Pico). This new microcontroler is not only faster but it also has a real double-precision floating point calculation unit. The RP2350 also has DSP support for signal processing... while remaining 100% compatible with the original Pico (software and hardware).
The clock frequency increase from 133 MHz to 150 MHz also improves RAM and Flash memory access time.
The Pico 2 has the exact same form factor and pinout as the Pico, so you can replace your Pico with a Pico 2 in your projects.
The 26 GPIOs available on the Pico 2 offer interesting features:
- GPIOs are now 5V tolerant
- The 6 buses (2x I2C, 2x SPI, 2x UART) can be located in many places on the GPIOs thanks to the Bus Fabric.
- 24 canaux PWM.
- Still 3 analog input (12 bits, 500.000 samples per second).
- 16 DMA channels (to automate transfers between internal devices and RAM)
If the Pico 2 does not fit an SD card connector, the RP2350 has an SDIO interface. The VGA interface is still available and the new TMDS device will make it easier to create an HDMI/DVI-D output. The TMDS device is the immediate result of the HSTX (High Speed data Transmission) PIO block intended for high-speed data transmission.
Native USB support available micro-USB connector allows Pico 2 to support USB 1.1 in Client/Host mode (just like the original Pico).
Cortex M33 or Risc-V ( New )
One of the great new features of the RP2350 is the ability to use either the 2 Cortex M33 cores or 2 RISC-V cores (or one core of each type).
The selection of the cores is operated by the Pico 2 boot sequence which is able to detect the architecture used in the user binary (the one that must be executed after boot).
The foundation opens the door to RISC-V MCUs with the Open-Source Hazard3 (GitHub repository).
Hazard3 supports the RV32IMAC specifications, a great opportunity to discover and test the RISC-V world without having to buy a specific product.
The Hazard3 readme file includes quite detailed documentation... with notes to set up the compilation chain.
Remark: that Hazard3 is the fruit of the personal work of Luke Wren, one of the engineers involved in the Raspberry-Pi project.
MicroPython have a RISC-V implementation which can be used on the Pico 2 as seen on this YouTuve video (YouTube)
Reduced power consumption un deepsleep ( New )
One of the big criticisms of the original Pico was that the deepsleep mode drewing about 1-2 milliamps of current. While seemingly low, this limits the life of a project on battery power to a few weeks.
The Pico 2 in sleep mode reduces consumption to less than 10 µA, which allows for a battery life of several months.
Note that it is possible to keep the internal RAM under voltage (retention mode) at the cost of a higher sleep current.
RAM conccurency ( New )
The 512 Kio of RAM is divided within 10 banks supporting concurrent access! This means that each core can access its own RAM space independently.
This allows an internal device (eg: ADC, HSTX, PIO) to perform data transfers to/from a memory bank without being hindered by another process.
This possibility of concurrent access to the different memory banks at the same time makes it possible to avoid waiting times imposed by a RAM without concurrent access. This is an important optimization allowing to maintain high performances.
RAM QSPI / PSRAM support ( New )
The QSPI (Quad SPI) bus is an SPI bus with 4 data lines, which allows multiple bits to be transferred in a single clock cycle.
This type of bus was already used on the original Pico to access Flash memory.
The RP2350 microcontroler also brings support for external PSRAM (type of RAM very popular with ESP32 platforms).
RAM available to microcontroler can then be increased up to 8 MB.
However, kept in mind that such RAM use serial access to bits and will necessarily be significantly slower than the internal RAM.
Flash access optimisations ( New )
Flash memory access has greater bandwidth thanks to a double-banked cache technique (word stripping).
XIP interface support improves transfer times with read/write burst transfer modes, address translation, and odd clock divisors.
PIO improvements ( New )
PIO (Programmable IO) is a low-level language that offers real advantages regarding data processing and low-level input/output manipulations. PIO uses finite state machines associated with a GPIO and a PIO program (which manipulates the GPIO). The program will be executed at a frequency between 2000 Hz and 125,000,000 Hz (125 MHz). PIO allows to create "time-critical" applications such as VGA, HDMI, high-speed transfer output.
The RP2350 is accompanied by a 3rd PIO block, which brings the number of PIO processes to 12 state machines! (12 autonomous mini-processes independent of the main cores).
Not only do the PIOs benefit from the increase in frequency to 150 MHz (against 133 MHz) but the RP2350 has additional instructions and longer PIO programs (32 instructions).
The new HSTX (High Speed Transfer) device can be used to create a DVI output with low overhead (low impact) on the system. It is thus possible to create a VGA output at 60 Hz without overclocking with two pixels per output tick.
Secure architecture ( New )
The big new feature of the RP2350 is the brand new secure architecture. While this will mainly interest the professionals, it also brings its advantages to the world of Makers.
RP2350 includes the "TrustZone for Cortex-M" feature that allows isolating code and its data from the rest of the application. Industrial applications will use this feature to lock down their firmware or keep important elements safe from prying eyes.
Makers can use this feature to hide login tokens, API Keys, WiFi keys and private information. This way, if the project gets lost in the wild, there is no risk to the sensitive data it carries..
The secure architecture does includes:
- Signed boot
- 8KB antifuse OTP (one-time-programmable) memory which offers the higher protection against attacks. This memory is suited to store private key.
- Hardware accelerated SHA-256
- A True hardware random number generator (TRNG)
- Glicth detection to resist to EM injection attacks.
MCU in A version or B version ( New )
The RP2350 microcontroler exists in two version A and B (30 GPIOs and 48 GPIOs).
Pico 2 is fittect with RP2350A offering 30 GPIOs on a QFN60 package (10x10mm) with 4 MB external Flash memory (Pico original did have 2 MB only).
The RP2350B offers 48 GPIOs on a QFN80 components (11x11mm).
Where things get interesting is the availability of the RP2350 fitted with stacked-in-package QSPI Flash memory of 2 MB.
These new variants are referred to as RP2354A and RP2354B (with the last digit 4 indicating the amount of Flash memory on the microcontroller.
New SDK 2.0 ( New )
The release of the new RP2350 and Pico 2 coincides with the release of SDK 2.0. This is not really surprising since the SDK must also support the new RP2350 features.
RUST Integration ( New )
The RUS language is now very popular. Close to the C langage, RUST is especially known for its reliability in code execution (more information in French or in English).
The RP2350 release also coincide with the coïncide with the release of RUST hardware abstraction layer for RP2350 (GitHub) as well as the corresponding Blog documentation.
C/C++ or MicroPython or CircuitPython
The Pico can be programmed with MicroPython or C++. To use MicroPython, the foundation did provides a precompiled firmware (UF2 file) that must be uploaded to the board. MicroPython can run in real concurrency over the both core (see the _thread module) without Python inter-locking between the threads. It is a real thread execution, share memory must be protected with ressource locking access.
For the C/C++ development, the Foundation relies on open-source compilation chain producing the UF2 file uploaded to the Pico. The Pico debugging capability is done with OpenOCD.
All the required information is available from pico.raspberrypi.org
DFU mode and UF2 file
The Pico can receive a new firmware by using the DFU mode (Device Firmware Upgrade). Press the "Bootsel" button when powering the microcontroler and it will enter into DFU mode (Device Firmware Upgrade). Into this mode, the MicroContoler will expose its Flash memory as a thumb drive, you will just need to drop the UF2 file into the drive and the board will send it into its flash. When programming is done, the board restart and executes the new Firmware.
To puts the MicroPython firmware onto your Pico, just switch to DFU mode and drop the MicroPython UF2 file onto the drive. After reboot the MicroPython will be active and you will no more need the DFU mode.
Programming with MicroPython
Even if the RP2350 does have the needed ressources to bring a drive (USB 1.1 Host & Client), it is not performed by the MicroPython firmware. Instead the communication with MicroPython does take place over the Serial-to-USB connexion. Using tools like Thonny IDE, MPRemote, RShell and Ampy to manipulate MicroPython filesystem onto the MicroControler.
CMS Ready
The Pico is designed to be used with breadboard or for CMS soledering. Solder some connector and you are ready to plug it on perfboard/breadboard.
Advanced user can integrates the Pico in theur own CMS based projet. The contacts are half-moon cuts to help in solder them onto the Pico Footprints.
Fritzing component
Fritzing is a great tool allowing newbies to draw schematics with electronic components directly onto a breadboard. Such schematic/graphics are easy to read and reproduce on a board... a great option to share knowledges (the dream tool for educational purpose).
We do like Fritzing for its DIY approach... skilled user would prefer tool like Kicad.
The Fritzing component is available directly from pico.raspberrypi.org .
Content
For each order, you will receive a Raspberry-Pi Pico 2 Wireless board alone.
If you want to use the Pico on a breadboard, it will be necessary to purchase a pinHeader to solder it on the board (they are not included, but you can easilt buy it on the shop).
The foundation do advise to connect the header pointing downward for the GPIOs (and pointing upward for the debug port)
Ressources
- Pico.raspberrypi.org (english)
Starting guide, MicroPython, Fritzing, etc - Tutorials on the official page (Raspberry-Pi, English)
Mount SD card, Add Ethernet or Lora support, etc - Using RShell (French, Wiki MCHobby)
- Using Ampy (French, Wiki MCHobby)