Building your mechanical keyboard used to include an Arduino/Teensy and learning sufficient C/C++ to make everything work. With the introduction of the Raspberry Pi RP2040 SoC and Adafruit’s CircuitPython, we have a modest and simple way to utilize intends to make our won interfaces. Adafruit is chipping away at two keyboard-related projects.
Adafruit’s KB2040 is an Arduino Pro Micro pin viable board that offers the power of the RP2040 for your next keyboard build. Keeb Boar is a 3 x 4 macro pad additionally controlled by a similar chip as utilized in the Raspberry Pi Pico.
Adafruit’s KB2040 is based on the equivalent pinout as an Arduino Pro Micro a board estimating around 1.3 x 0.7 inches (33 x 18 mm) yet with the KB2040 we get a couple of additional items over the Arduino. Quite we get the ease, high power RP2040 SoC, running at up to 133 MHz and with 264KB of RAM. Storage is given through an 8MB QSPI flash, enough for the code to control our keyboard, and to incorporate any additional libraries for the installed WS2812B NeoPixel and any gadgets associated with the Stemma QT I2C connector situated opposite the USB C.
The inclusion of a Stemma QT is a gesture to the plan of SparkFun’s Pro Micro RP2040 which includes a Qwiic connector, viable with Stemma QT components. For what reason is a Stemma QT connector a serious deal? It enables our keyboard to build to have additional highlights, for example, revolving encoders for media controls, OLED screens, and a wide range of sensors.
Around the border of the board are 16 GPIO pins, a blend of digital IO, PWM, analog, SPI, and what appears to be a second I2C channel actually like Adafruit’s QTPy RP2040. The GPIO pins likewise include castellations, which enable KB2040 to be surface mount fastened to your keyboard PCB, lessening wires and the complete tallness of the form.
Adafruit Keeb Boar
Keeb Boar is a 3 x 4 macro pad intended for use with Kailh/Cherry MX viable switches. Powered by the RP2040 and with enough GPIO pins for each key, so no requirement for a matrix to filter for input. Each key has its own WS2812B NeoPixels, actually like Pimoroni’s Keybow 2040. On the top line of the board are spaces for a 1.3 inch 128 x 64 OLED screen and a rotary encoder helpful for media controls/enabling additional configurations. A buzzer is likewise present for input, or brief melodic interludes.
On the underside of the board is the RP2040 SoC, 8MB QSPI streak, a breakout for Stemma QT gadgets and a USB C port used to power and program the board using CircuitPython.