Add Raspberry Pi 500's RP2350 board support Fixes #2640 #2641
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds board support for the Raspberry Pi 500's embedded RP2350 microcontroller, enabling custom firmware development while maintaining compatibility with the original keyboard functionality.
Changes:
Add raspberry_pi_pi500.h board definition
Configure W25X10CL flash support (DSPI mode vs standard QSPI)
Document complete GPIO pin mapping for 8×18 keyboard matrix
Define system function pins (power control, LEDs, debug UART)
Enable USB operation independent of main Pi power state
Hardware Specifications:
Chip: RP2350A (same as Pico 2)
Flash: W25X10CL 1MB (DSPI mode)
USB: Connected to Pi 500 USB hub
Matrix: 8 rows × 18 columns keyboard matrix
System GPIO: GP16 (UART), GP17 (LED), GP19 (power), GP20 (power key), GP25 (Caps LED)
Available GPIO: None (all pins reserved)
Testing:
✅ Successful firmware compilation with
✅ USB device enumeration and communication
✅ System function compatibility (power, LEDs)
✅ Compatible with original keyboard firmware restoration
Use Cases:
This enables Pi 500 users to develop custom USB applications like MIDI controllers, HID devices, and keyboard firmware modifications while preserving hardware compatibility. Note that unlike standard Pico boards, no GPIO pins are available for general use.
Files Changed:
src/boards/include/boards/raspberry_pi_pi500.h (new)
Usage:
-DBOARD=raspberry_pi_pi500