1.. _target-rp2040: 2 3=================== 4Raspberry Pi RP2040 5=================== 6.. _Raspberry Pi RP2040: https://www.raspberrypi.com/documentation/microcontrollers/rp2040.html 7.. _Raspberry Pi Pico: https://www.raspberrypi.com/products/raspberry-pi-pico/ 8 9This page explains Pigweed's support for the `Raspberry Pi RP2040`_ microcontroller 10and for boards built on top of the RP2040, such as the `Raspberry Pi Pico`_. 11 12-------------- 13Intended usage 14-------------- 15Pigweed's :ref:`mission <docs-mission>` is to help large teams 16develop embedded systems sustainably, robustly, and rapidly. 17Our support for the RP2040 revolves around making it easier for 18these teams to develop complex prototypes or mass market products 19on top of the RP2040. Our main goals are to make it easy to: 20 21.. _C/C++ SDK: https://www.raspberrypi.com/documentation/microcontrollers/c_sdk.html 22 23* Do your end-to-end development lifecycle (building, flashing, testing, etc.) 24 in Bazel. 25* Author your embedded system in portable C++. You can write most of your 26 system on top of Pigweed's hardware-agnostic :ref:`modules <docs-glossary-module>`. 27 If there's anything not covered by Pigweed's modules, you can fallback 28 to using the official `C/C++ SDK`_ directly. 29 30.. _MicroPython SDK: https://www.raspberrypi.com/documentation/microcontrollers/micropython.html 31 32If you're building relatively simple stuff solely for the RP2040 and just want 33to get everything working very quickly and easily, then Pigweed probably won't 34be a good fit for you. You'll probably be happier with the official 35`MicroPython SDK`_ or the official `C/C++ SDK`_. 36 37-------- 38Examples 39-------- 40.. _Sense showcase: https://pigweed.googlesource.com/pigweed/showcase/sense/ 41 42The `Sense showcase`_ is our work-in-progress demonstration of using 43the RP2040, Bazel, and Pigweed together. The showcase is scheduled to be 44completed in July 2024. 45 46------- 47Modules 48------- 49Most Pigweed :ref:`modules <docs-glossary-module>` work on all 50hardware platforms. A few areas such as I2C require integrating with 51a specific Pigweed module. 52 53.. csv-table:: 54 :header: "Description", "Module" 55 56 "Time primitives", ":ref:`module-pw_chrono_rp2040`" 57 "GPIO (digital I/O)", ":ref:`module-pw_digital_io_rp2040`" 58 "I2C", ":ref:`module-pw_i2c_rp2040`" 59 "SPI", ":ref:`module-pw_spi_rp2040`" 60 "Basic I/O for bringup and debugging", ":ref:`module-pw_sys_io_rp2040`" 61 62.. toctree:: 63 :maxdepth: 1 64 :hidden: 65 66 Upstream Pigweed <upstream> 67