Skip to content

RP2040 controllers

casuanoob edited this page Feb 18, 2023 · 8 revisions

BKB standard

The "BKB standard" is a standard pinout that was defined by a committee of designers on the BastardKB Discord server when the first RP2040 were created in 2022.

BKB standard pinout, on the Sea-picro

These boards are designed to be a drop-in replacement for keyboards wanting an upgrade from ATmega32u4 based pro micros (eg. Elite-C).

They are using the RP2040 microcontroller chip designed by Raspberry Pi, which features dual M0+ processors at up to 133MHz

Pinout compatibility

Controller Pin-compatible Flash size Vbus detection Notes
0xB2 Splinky Yes varies (up to 16MB) Yes Included in Bastard Keyboards kits
Elite-Pi Yes 2MB Yes Optionally, 2 extra GPIO pins can be exposed by setting jumpers on the Elite-Pi for a total of 25 GPIO.
Sea-Picro EXT Yes 8MB Yes One-button Reset / Bootloader circuit.
Has an extra 5V level-shifted pin (GPIO 25) broken out.
Frood Yes 2MB Yes
0xCB Helios Yes 16MB Yes Has a One-button Reset / Bootloader circuit, and ESD protection.
Available at Keeb Supply.
Has an extra 5V level-shifted pin (GPIO 25) broken out.
Liatris Yes 16MB Yes Available at splitkb.com.
SparkFun Pro Micro - RP2040 No* 16MB No Pinout matches, but no bottom row.
The reset buttons collide with pin headers when installed face-down.
USB-C receptacle is top-mounted.
Adafruit KB2040 - RP2040 Kee Boar Driver No 8MB No Different pinout, no bottom row.
USB-C receptacle is top-mounted.
Blok No 16MB Unspecified Different i2c pins, no bottom row.

Firmware compatibility

All controllers above marked as pin-compatible, and using the QMK default W25Q080 second-stage bootloader, should be compatible out-of-the-box with the Bastard Keyboard firmwares targeting the Splinky v3, ie. splinky_3 firmwares.

Bootloader

See QMK's RP2040 second stage bootloader selection documentation.

USB-C port compatibility

For the USB-C port to align perfectly in the Bastard Keyboard cases, the controller needs to use a USB-C connector of specific dimensions, otherwise it might be slightly offset on the Z axis.

The Splinky controller sold as part of the Bastard Keyboard kits are using a compatible port. If you are sourcing your own controller, make sure that the USB-C port dimensions are correct.

Clone this wiki locally