a19f5943c3
Disambiguate build dir between multiple firmwares that use the same board, but different config. Avoids cryptic errors caused by incompatible build artifacts leaking into other builds via the MicroPython cache. |
||
---|---|---|
.github/workflows | ||
common | ||
drivers | ||
examples | ||
libraries | ||
micropython | ||
.gitignore | ||
.gitmodules | ||
CMakeLists.txt | ||
LICENSE | ||
README.md | ||
couldnt_find_device_automatically.png | ||
dfu_mode.png | ||
faqs-micropython.md | ||
pico_sdk_import.cmake | ||
pimoroni-pico.code-workspace | ||
pimoroni_pico_import.cmake | ||
setting-up-micropython.md | ||
setting-up-the-pico-sdk.md |
README.md
Pimoroni Pico Libraries and Examples
Welcome to the brave new world of Pico!
This repository contains the C/C++ and MicroPython libraries for our range of RP2040-based boards, Raspberry Pi Pico addons & supported Breakout Garden sensors.
MicroPython
The easiest way to get started. If you're new to Pico, we recommend you read our getting started with Pico tutorial.
⚠️ All of our MicroPython libraries are baked into a batteries-included, custom version of MicroPython which you can grab from releases: https://github.com/pimoroni/pimoroni-pico/releases/latest/
New releases are issued regularly with new libraries, bug fixes to our existing libraries and new features inherited from MicroPython upstream. Be sure to check back!
- 🔗 Learn: Getting started with Pico
- Readme: Instructions for installing MicroPython
- Readme: Frequently Asked Questions
- Pimoroni Pico MicroPython + Drivers Releases
- Readme: PicoGraphics
MicroPython Examples
You can find MicroPython examples for supported sensors, packs and bases in the "micropython/examples" directory:
C/C++
Advanced users that want to unleash the full power of Pico can use our C++ libraries. If you know what you're doing and want to build your own Pimoroni Pico project then start with the Pimoroni Pico SDK Boilerplate.
C++ Examples
You can find examples for supported sensors, packs and bases in the "examples" directory:
Boilerplate for C++ Projects
We also maintain a C++/CMake boilerplate with GitHub workflows configured for testing and a basic skeleton project.
Supported Products
Packs and Bases
- Pico Display Pack - https://shop.pimoroni.com/products/pico-display-pack
- Pico Scroll Pack - https://shop.pimoroni.com/products/pico-scroll-pack
- Pico Explorer Base - https://shop.pimoroni.com/products/pico-explorer-base
- Pico RGB Keypad Base - https://shop.pimoroni.com/products/pico-rgb-keypad-base
- Pico Unicorn Pack - https://shop.pimoroni.com/products/pico-unicorn-pack
- Pico Audio Pack (C++ only) - https://shop.pimoroni.com/products/pico-audio-pack
- Pico Wireless Pack - https://shop.pimoroni.com/products/pico-wireless-pack
- Pico Display 2.0 - https://shop.pimoroni.com/products/pico-display-pack-2-0
- Pico Enviro+ Pack - https://shop.pimoroni.com/products/pico-enviro-pack
- Pico Inky Pack - https://shop.pimoroni.com/products/pico-inky-pack
- Pico GFX Pack - https://shop.pimoroni.com/products/pico-gfx-pack
SHIMs
- LiPo SHIM for Pico - https://shop.pimoroni.com/products/pico-lipo-shim
- Motor SHIM for Pico - https://shop.pimoroni.com/products/motor-shim-for-pico
RP2040 Boards
- Plasma 2040 (LED strip driver) - https://shop.pimoroni.com/products/plasma-2040
- Interstate 75 (HUB75 matrix driver) - https://shop.pimoroni.com/products/interstate-75
- Badger 2040 (E Ink badge) - https://shop.pimoroni.com/products/badger-2040
- Servo 2040 (18 Channel Servo Controller) - https://shop.pimoroni.com/products/servo-2040
- Motor 2040 (Quad Motor+Encoder Controller) - https://shop.pimoroni.com/products/motor-2040
- Tufty 2040 (LCD badge) - https://shop.pimoroni.com/products/tufty-2040
Pico W Aboard
- Automation 2040 W (inputs, outputs and relays, 6-40V compatible) - https://shop.pimoroni.com/products/automation-2040-w
- Inventor 2040 W (motors, servos, noise) - https://shop.pimoroni.com/products/inventor-2040-w
- Inky Frame 5.7" (7-colour E Ink) - https://shop.pimoroni.com/products/inky-frame-5-7
- Automation 2040 W Mini (inputs, outputs and a relay, 6-40V compatible) - https://shop.pimoroni.com/products/automation-2040-w-mini
- Plasma Stick 2040 W (bijou LED strip controller) - https://shop.pimoroni.com/products/plasma-stick-2040-w
- Galactic Unicorn (53 x 11 LED matrix) - https://shop.pimoroni.com/products/galactic-unicorn
- Interstate 75 W (HUB75 matrix driver) - https://shop.pimoroni.com/products/interstate-75-w
- Inky Frame 4.0" (7-colour E Ink) - https://shop.pimoroni.com/products/inky-frame-4
- Badger 2040 W (E Ink badge) - https://shop.pimoroni.com/products/badger-2040-w
- Cosmic Unicorn (32 x 32 LED matrix) - https://shop.pimoroni.com/products/cosmic-unicorn
- Inky Frame 7.3" (7-colour E Ink) - https://shop.pimoroni.com/products/inky-frame-7-3
Breakouts
- AS7262 - 6-channel Spectral Sensor - https://shop.pimoroni.com/products/as7262-6-channel-spectral-sensor-spectrometer-breakout
- MSA301 - 3DoF Motion Sensor - https://shop.pimoroni.com/products/msa301-3dof-motion-sensor-breakout
- MICS6814 - Gas Sensor - https://shop.pimoroni.com/products/mics6814-gas-sensor-breakout
- RGB Potentiometer - https://shop.pimoroni.com/products/rgb-potentiometer-breakout
- RGB Encoder - https://shop.pimoroni.com/products/rgb-encoder-breakout
- IO Expander - https://shop.pimoroni.com/products/io-expander
- RV3028 - Real-Time Clock (RTC) - https://shop.pimoroni.com/products/rv3028-real-time-clock-rtc-breakout
- ST7735 - 0.96" LCD - https://shop.pimoroni.com/products/0-96-spi-colour-lcd-160x80-breakout
- IS31FL3730 - dual LTP-305 LED matrices - https://shop.pimoroni.com/products/led-dot-matrix-breakout
- LTR559 - Proximity/Presence/Light Sensor - https://shop.pimoroni.com/products/ltr-559-light-proximity-sensor-breakout
- IS31FL3731 - 11x7 and 5x5 matrix displays
- Trackball - https://shop.pimoroni.com/products/trackball-breakout
- SGP30 - Air Quality Sensor - https://shop.pimoroni.com/products/sgp30-air-quality-sensor-breakout
- ST7789 - 1.3" LCD, 1.54" LCD and 1.3" round LCD
- BME680 - Temperature, Pressure, Humidity & Gas Sensor - https://shop.pimoroni.com/products/bme680-breakout
- BME688 - Temperature, Pressure, Humidity & Gas Sensor - https://shop.pimoroni.com/products/bme688-breakout
- BH1745 - Luminance & Colour Sensor - https://shop.pimoroni.com/products/bh1745-luminance-and-colour-sensor-breakout
- BME280 - Temperature, Pressure & Humidity Sensor - https://shop.pimoroni.com/products/bme280-breakout
- BMP280 - Temperature & Pressure Sensor - https://shop.pimoroni.com/products/bmp280-breakout-temperature-pressure-altitude-sensor
- PWM3901/PAA5100JE - Near Optical Flow Sensor - https://shop.pimoroni.com/products/paa5100je-optical-tracking-spi-breakout
- ICP10125 - High Accuracy Pressure / Altitude / Temperature Sensor - https://shop.pimoroni.com/products/icp10125-air-pressure-breakout
- SCD41 CO2 Sensor (Carbon Dioxide / Temperature / Humidity) - https://shop.pimoroni.com/products/scd41-co2-sensor-breakout
- VL53L5CX 8x8 Time of Flight Array Sensor - https://shop.pimoroni.com/products/vl53l5cx-time-of-flight-tof-sensor-breakout
Kits
- Wireless Plasma Kit (Plasma Stick + LED wire + bottle!) - https://shop.pimoroni.com/products/wireless-plasma-kit
Tutorials and Guides
- 🔗 Getting Started with (MicroPython on) Pico
- 🔗 Pico C/C++ Development on Windows / WSL
- 🔗 Getting Started with Interstate 75 (and W)
- 🔗 Getting Started with Plasma 2040
- 🔗 Assembling Keybow 2040
- 🔗 Getting Started with Badger 2040
- 🔗 MicroPython and VL53L5CX
- 🔗 Getting Started with Tufty 2040
- 🔗 Getting Started with Inky Frame
- 🔗 Getting Started with Automation 2040 W (and Mini)
- 🔗 Assembling Wireless Plasma Kit
- 🔗 Getting Started with Badger 2040 W