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