This repository maintains a collection of documentation, tutorials, tools, articles and more for the Raspberry Pico / Pico 2 microcontrollers.
- Pico Datasheet - Compact hardware specification (mechanical and electrical specification, circuit board), 30 pages.
- RP2040 Datasheet - In depth explanation of the RP2040 ARM Processor, everything from GPIO, DMA, ADC, to Peripherals and the Programmable Input/Output System, 642 pages.
- RP2350 Datasheet - In depth explanation of the RP2350 ARM Processor, everything from GPIO, DMA, ADC, to Peripherals and the Programmable Input/Output System, 1380 pages.
- Hardware design with RP2040 - Explains the RP2040 arm processor schematics and how to build additional hardware that incorporates this processor, 32 pages.
- Getting started with Raspberry Pi Pico - Manual for installing Pico development toolchain on Linux, Mac OSX, and Windows, and how to setup the C SDK or MicroPython development environments, 77 pages.
- C/C++ development - In depth explanation of the C/C++ SDK, its architecture, the full library, examples and a guide to the PIO state machines, 281 pages.
- MicroPython development - Introduction to the MicroPython development environment, explains how to use the interactive interpreter, lists library functions, and shows the Thonny IDE, 47 pages.
- Get Started with Micro Python Development - Handbook with step-by-step example to assemble and program Pico projects like a traffic light LED controller, temperature sensors, movements sensors and more, available as paid printed, or paid/free e-book, 139 pages.
- pico-sdk - Raspberry Pi Pico SDK.
- arduino-pico - Raspberry Pi Pico Arduino core, for all RP2040 and RP2350 boards.
- MicroPython - MicroPython downloads.
- CircuitPython - CircuitPython downloads.
- rp-hal - Rust support for the Raspberry Pi family of microcontrollers.
- PicoLibSDK - Alternative extended C/C++ SDK library for Raspberry Pico/Pico2 and RP2040/RP2350.
- PicoMite - Complete operating system with a Microsoft BASIC compatible interpreter and extensive hardware support including touch sensitive LCD panels, SD Cards, WiFi/Internet etc.
- pico-vscode - The official VS Code extension for Raspberry Pi Pico development. It includes several features to simplify project creation and deployment.
-
TFT/OLED
- TFT_eSPI - Arduino and PlatformIO IDE compatible TFT library optimised for the Raspberry Pi Pico (RP2040), STM32, ESP8266 and ESP32.
- pico_st7735_80x160 - ST7735 (80x160) library for Raspberry Pi Pico / Pico 2.
- pico-ssd1306 - SSD1306 OLED Library for RP2040.
- displaylib_1bit_PICO - Display Library for 1-bit color graphic displays for Raspberry PI PICO C++ SDK.
-
LEDs
- displaylib_LED_PICO - A SDK C++ library for a Raspberry PI PICO device to support HT16K33, MAX7219, TM1637 & TM1638 LED segment modules.
- neopixel_rp2040 - Micropython Neopixel (WS2812B) Library.
- NeoPixelConnect - A PIO based WS2812 NeoPixel library for the Arduino Nano RP2040 Connect, and Raspberry Pi Pico.
- pico-ws2812 - RP2040 library for controlling strips/pixels using WS2812 (NeoPixel) LEDs using PIO and the pico-sdk.
-
Sound
- BackgroundAudio - Arduino library for easy, interrupt driven speech, MP3, AAC, and WAV playback on the Raspberry Pi Pico RP2040, Pico 2 RP2350, and ESP32.
- microphone-library-for-pico - Capture audio from a microphone on your Raspberry Pi Pico or any RP2040 based board.
- pico_spdif_rx - S/PDIF receiver library.
- pico-fmSynth - Basic DX9-inspired FM synth Arduino Library for Raspberry Pico RP2040 and RP2350.
- RP2040-PWM-Tone - Tone generation library for Raspberry Pi Pico. Plays melodies and chirping sounds via PWM through a buzzer or speaker.
-
I2S
- arduino-pico-i2s-audio - I2S digital audio input Arduino library.
- i2s_32bit_rp2040 - An up to 32bit I2S library for the RP2040 using PIO.
-
Sensors
- pico_dht - DHT sensor library.
- RP2040_CPU_Temperature - Arduino library to read the temperature from the Raspberry Pi Pico's internal temperature sensor.
-
I2C bus
- PCF8574_micropython_library - MicroPython library for pcf8574 an i2c digital expander for Arduino, esp32, SMT32 and ESP8266. Can read write digital values with only 2 wire.
- PCF8574_library - PCF8574 library. i2c digital expander for Arduino, Raspberry Pi Pico and rp2040 boards, esp32, SMT32 and ESP8266. Can read write digital values with only 2 wire.
- PCF8575_library - i2c 16bits digital expander with i2c digital expander for Arduino, Raspberry Pi Pico and rp2040 boards, esp32, SMT32 and ESP8266. Can read write digital values with only 2 wire.
- PCF8591_library - Library to use pcf8591 i2c analog IC with Arduino, Raspberry Pi Pico and rp2040 boards, esp32, SMT32 and ESP8266. Can read analog value and write analog value with only 2 wire.
- pico_i2c_slave - I2C slave library.
- i2cperipheral - MicroPython I2C Peripheral Library.
-
USB
- usb_library_rp2040 - A fast and lightweight USB device library for RP2040.
- pico_usb - A lightweight, fully customizable USB device stack for the Pi Pico, which can use the built in USB peripheral or PIO.
- picousb - A smaller than tiny USB Host library for the Raspberry Pi Pico/W.
-
Radio
- pico_si470x - Si4702 / Si4703 FM radio library.
- pico_rda5807 - RDA5807 FM radio library.
- SerialIO - An Arduino library for decoding multiple RC protocols.
-
Files and file systems
- pico_fatfs - FatFs library for Raspberry Pi Pico / Pico 2 with SPI interface.
- FatFs - FatFs documentation.
- LittleFS_Mbed_RP2040 - Wrapper of LittleFS for Arduino MBED RP2040 boards. This library facilitates your usage of LittleFS for the onboard flash. LittleFS supports power fail safety and high performance.
- ESP32-targz - An Arduino library to compress/decompress tar, gz, and tar.gz files on ESP32, ESP8266 and RP2040.
- logging_system_embedded - Light Logging Library for RP2040, ESP, ARDUINO.
-
Motors
- PicoStepper - A Library to drive stepper motors.
- pico_stepper - Stepper Library.
- pico-servo - A simple Raspberry Pi Pico library for controlling servos.
- RP2040PioServos - Servo library for up to 25 (32 is theoretical maximum) servos on Raspberry Pico.
-
Video
- PicoDVI - Bitbanged DVI on the RP2040.
- pico-vgaDisplay - VGA display driver library for RP2040 pico-sdk.
- rp2040-uvc - USB video class (UVC) for Pico.
- hm01b0-library-for-pico - Capture monochrome images with a Himax HM01B0 based camera module.
- kilipili - Raspberry Pico C++ Library: VGA video, graphics, ANSI term, USB host, Audio, SDCard.
- DispHSTX - DVI (HDMI) and VGA display driver for Pico2 RP2350, using HSTX peripheral.
- rpi-pico-graphics-lib - C/C++ graphics library.
-
Unsorted
- Joystick - Joystick Library for Arduino (RP2040 based boards).
- rp2040-psram - A header-only C library to allow access to SPI PSRAM via PIO on the RP2040 microcontroller.
- lorawan-library-for-pico - Enable LoRaWAN communications on your Raspberry Pi Pico or any RP2040 based board.
- OneWireNg - 1-wire service library. OneWire compatible. Dallas thermometers support.
- pico-mcp2515 - MCP2515 CAN-Bus Interface Library.
- Raspberry-PICO2040-Flash-Storage - Library performs Flash Write, Read and Erase functions on Raspberry Pico 2040.
- Pico-74HC595 - Shift register 74HC595 header library.
- EZ_USB_MIDI_HOST - Add the Arduino MIDI Library API to the usb_midi_host TinyUSB MIDI Host driver.
- rp2040-pico-shift-register-74HC595 - C Library for working with the 74HC595 shift register.
- ADS1x15_PICO - Library Driver for Analog to digital converters (ADC) ADS1015 and ADS1115 modules. RPI PICO RP2040 SDK C++.
- PicoSPI - Lightweight SPI library.
- RP2040-DMA - Micropython library for the RP2040 DMA controller.
- pico-ds3231 - C library for DS3231 RTC module.
- RP2040 PIO Simulator - Still in development, but promising PIO simulator. You upload a PIO program, and then can step-through the instructions. UI windows show which GPIO pins are active, or you can get a time-sequence of all pins.
- rp2040 - Early Development Prototype, no release yet.
- Pico Emu - Early Development Prototype, no release yet.
- rp2040js - Pico simulator in JavaScript, in active development, you can even see live coding video from the project page.
-
NES:
- PicoSystem_InfoNes - PicoSystem_InfoNes a NES emulator for the Pimoroni PicoSystem RP2040 gaming handheld.
- pico-infonesPlus - NES Emulator with SD card and menu support for the Raspberry PI Pico, Pico 2 and other RP2040/RP2350 based microcontrollers. Play your games from SD card on a HDMI display.
-
ZX Spectrum:
-
CHIP-8:
- pico-chip8 - CHIP-8 Emulator.
- RP2040TinyChip8 - Chip8 emulator.
-
MURMULATOR project:
- MURMULATOR_classical_scheme - KiCAD project.
- frank - A hardware fork of the Murmulator project.
- Murmulator_rp2040 - ZX Spectum emulation on RP2040.
- pico-megadrive - Sega Megadrive / Sega Genesis emulator for MURMULATOR devboard.
- pico-gameboy - GameBoy Emulator for MURMULATOR devboard.
- pico-286 - RP2040/RP2350 286 PC emulator for MURMULATOR dev board.
- pico-xt - PC XT (8086/8088) Emulator for MURMULATOR devboard.
- pico-nes - NES (Nintendo Entertainment System) / Dendy Emulator for MURMULATOR devboard.
- pico-sms - Sega Master System / Game Gear for MURMULATOR devboard.
- pico-pce - PC Engine / Turbografx 16 for MURMULATOR devboard.
- pico-lynx - Atari Lynx Emulator for MURMULATOR devboard.
- pico-wonderswan - Wonderswan Color emulator for MURMULATOR devboard.
- pico-gamate - Bit corp. Gamate emulator for Raspberry Pi Pico (RP2040) @ MURMULATOR devboard.
- pico-watara - Raspberry Pi Pico Watara Supervision Emulator for MURMULATOR devboard.
-
Other:
- RP2040-GB - Game Boy emulation on the Raspberry Pi RP2040 microcontroller.
- picox86 - Running x86 on your Pico completely with a graphical GUI.
- MEMU Emulator - Emulates the 8-bit Memotech MTX computer on your Pico.
- DECstation2040 - DECstation emulator.
- Pico_1140 - A PDP11/40 emulator that will run Unix v5/6.
- pico-smsplus - Sega Master System & Game Gear Emulator with SD card and menu support.
- picocalc-umac - A stratforward port of pico-umac, the Macintosh emulator for pico.
- rpi8080 - Intel 8080 emulator with debugger, physical & virtual IN/OUT port and interrupt.
- picozx81 - ZX81 emulator.
- scoppy - Use your Rasperry Pi Pico and Android Phone as an Oscilloscope and Logic Analyzer.
- oscilloscope_rp2040 - Oscilloscope with OpenHantek protocol.
- sigrok-pico - rp2040 as a logic analyzer and oscilloscope with sigrok.
- μLA: Micro Logic Analyzer - SUMP/OLS compatible logic analyzer firmware for RP2040 based boards.
- Usb Sniffer Lite - A simple USB sniffer based on a Raspberry Pi RP2040 that supports Low Speed and Full Speed modes.
- RP2040-TestPatternGenerator - A simple test pattern generator.
- pico-usb-blaster - Altera USB-Blaster-compatible programmer.
- xvc-pico - Raspberry Pico powered Xilinx Virtual Cable - Xilinx JTAG Cable.
- RP2040-SWD-Programmer - SWD and UART Bridge.
- ISA-PicoMEM - ISA PicoMEM Extension board (For 8086/8088 PC).
- ZuluIDE™ - a family of IDE/ATAPI computer storage emulation devices, developed by Rabbit Hole Computing, the creators of ZuluSCSI. ISOs/image files are stored on a standard FAT32 or exFAT-formatted SD card.
- PicoBoot - Raspberry Pi Pico (RP2040) based IPL replacement modchip for GameCube.
- Modxo_RP2040_Zero_Adapter - RP2040-Zero adapter for Shalx's Modxo modchip for the Original Xbox.
- ModXo-RP2040-Zero - Adapter board for 'ModXo' and 'RP2040 Zero' / 'RP2040 Tiny'.
- GP2040-CE - Multi-Platform Gamepad Firmware for Raspberry Pi Pico and other RP2040 boards.
- OGX-Mini - RP2040 & RP2350 USB gamepad emulation for multiple platforms.
- ZX81_USB_KBD - This CircuitPython code for the Raspberry Pi Pico 2040 allows a Sinclair ZX81 keyboard matrix to be used as the basis for a USB keyboard that can be used in Linux, MS Windows or for picozx81.
- SIDKick-pico - An inexpensive dual-SID-replacement for the C64 and C128.
- pico9918 - A replacement for the classic TMS9918A/TMS9929A VDP.
- PicoROM - An RP2040-based ROM emulator.
- [BlueSCSI-v2] (https://github.com/BlueSCSI/BlueSCSI-v2) - Open source, open hardware, SCSI emulator using the Pi Pico PR2040 and Pico 2 RP2350.
- [atarist-sidecart-raspberry-pico] (https://github.com/sidecartridge/atarist-sidecart-raspberry-pico) - AtariST cartridge emulator based on Raspberry Pi Pico and RP2040.
- [atari-st-rpikb] (https://github.com/trickydee/atari-st-rpikb) - Connect USB keyboard and mouse to Atari ST using a Raspberry PI emulating the HD6301 keyboard controller.
- VGA Display - Running complex videogame graphics.
- Pico Tone Generation - Low-Level library to output tone by composing sound signals (e.g. sine waves).
- Pico Webserver - Turn your Pico into an USB powered ethernet device running a web server.
- SD Card Manager - A complete program with a CLI interface to format, write and read to an attached SD card with the ExFAT filesystem format.
- eurorack-cable-tester-pico - Simple eurorack (both 10 pins and 16 pins) cable tester.