Skip to content

Add Raspberry Pi 500's RP2040 board support #2640

@jhordies

Description

@jhordies

The Raspberry Pi 500 contains an embedded RP2040 microcontroller that handles keyboard input and can be reprogrammed for custom applications. This issue tracks adding official board support to enable developers to create custom firmware for the Pi 500's RP2350 chip.

Hardware Details:

Microcontroller: RP2040
Flash: W25X10CL (DSPI mode)
USB: Connected to Pi 500 USB lines, functions independently
GPIO: All pins reserved for 8×18 keyboard matrix and system functions
System pins: GP17 (LED), GP19 (power control), GP20 (power key), GP25 (Caps LED)
Power: Independent power, can operate when main Pi is off

Use Cases:

Custom USB devices (MIDI controllers, HID devices, CDC serial)
Keyboard firmware modifications and enhancements
Educational embedded systems projects (USB-focused)
Debug and development tools via UART (GP16)

Implementation Requirements:

Board definition with W25X10CL flash support (DSPI mode)
Complete GPIO pin mapping and system function documentation
USB configuration for standalone operation
Compatibility with existing Pi 500 hardware

Note: Unlike standard Pico boards, the Pi 500 has no GPIO pins available for general use - all are reserved for keyboard matrix and system functions but are accessible via the keyboard's FFC ribbon.

⚠️ CRITICAL WARNING: Custom firmware must implement power button handling (GP19 control) or the Pi 500 power button will stop working, potentially making the device unbootable. Always include power management code from the original QMK firmware.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions