boards/raspberrypi/rpi_pico2/doc/index.rst
.. zephyr:board:: rpi_pico2
Overview
The Raspberry Pi Pico 2 and Pico 2W are second-generation products in the Raspberry Pi
Pico family. From the Raspberry Pi website <https://www.raspberrypi.com/documentation/microcontrollers/pico-series.html>_ is referred to as Pico 2.
The Pico 2 supports running code on either a single Cortex-M33 or a Hazard3 (RISC-V) core.
As with the Pico 1, there's no support for running any code on the second core.
Hardware
Dual Cortex-M33 or Hazard3 processors at up to 150MHz
520KB of SRAM, and 4MB of on-board flash memory
USB 1.1 with device and host support
Low-power sleep and dormant modes
Drag-and-drop programming using mass storage over USB
26 multi-function GPIO pins including 3 that can be used for ADC
2 SPI, 2 I2C, 2 UART, 3 12-bit 500ksps Analogue to Digital - Converter (ADC), 24 controllable PWM channels
2 Timer with 4 alarms, 1 AON Timer
Temperature sensor
3 Programmable IO (PIO) blocks, 12 state machines total for custom peripheral support
Infineon CYW43439 2.4 GHz Wi-Fi chip (Pico 2W only)
.. zephyr:board-supported-hw::
The default pin mapping is unchanged from the Pico 1 (see :ref:rpi_pico_pin_mapping).
Programming and Debugging
.. zephyr:board-supported-runners::
The overall explanation regarding flashing and debugging is the same as for :zephyr:board:rpi_pico.
See :ref:rpi_pico_programming_and_debugging in :zephyr:board:rpi_pico documentation. N.b. OpenOCD support requires using Raspberry Pi's forked version of OpenOCD.
Below is an example of building and flashing the :zephyr:code-sample:blinky application.
.. zephyr-app-commands:: :zephyr-app: samples/basic/blinky :board: rpi_pico2/rp2350a/m33 :goals: build flash :flash-args: --openocd /usr/local/bin/openocd
The blinky sample is not yet supported on Pico 2W, so try the :zephyr:code-sample:wifi-shell application to connect to the network.
Before building applications for the Pico 2W variant, you must fetch the required Wi-Fi firmware blobs. The Infineon CYW43439 chip requires proprietary firmware and CLM (Country Localization Module) files.
Run the following command to download these blobs:
.. code-block:: console
west blobs fetch hal_infineon
This command downloads the necessary firmware files from Infineon's repositories, including:
43439A0.bin - Wi-Fi firmware for CYW4343943439A0.clm_blob - Country localization dataYou only need to run this command once per workspace. Without these blobs, the build will fail with CMake errors about missing firmware files.
After fetching the blobs, you can build Wi-Fi applications:
.. zephyr-app-commands:: :zephyr-app: samples/net/wifi/shell :board: rpi_pico2/rp2350a/m33/w :goals: build flash :flash-args: --openocd /usr/local/bin/openocd
References
.. target-notes::