When it comes to Raspberry Pi Pico projects, the RP2040 microcontroller is no stranger to custom keyboards. But this one, created by maker and developer Thomas, also known as Thpoll, amps things up by splitting the keyboard into two separate halves and using keycaps with integrated OLED displays.
This keyboard features 36 individual per PCB, which is intended to provide an ergonomic element to its design. In addition to the keys, Thomas opted to include a rotary encoder on one side. This can be programmed for a variety of functions like a media controller to adjust things like volume.
The idea behind this keyboard design is to make it easy for users who use multiple layouts or speak multiple languages to change the characters on each key as needed. Instead of swapping out keycaps, users can just program the OLEDs to display whatever they want at the press of a button.
Image 1 of 3
As we stated earlier, the keyboard is powered by an RP2040 which serves as its main processor. The project also required the development of a couple of custom PCBs which Thomas created from scratch. The Gerber files were made available for anyone who wants to take a closer look at their design or possibly modify them for their own creation. These are designed to support the keys, encoder, as well as the OLED displays that are placed inside the keys.
Thomas has shared plenty of details about the OLED keyboard project progress so far. When asked about the software side of things, he confirmed the keyboard was programmed using C which is one of the more popular choices along with MicroPython, so it’s no surprise to see it used here. He’s also using QMK firmware which is designed to help program custom keyboards.
If you want to get a closer look at this Raspberry Pi project, take a look at the original thread shared to Twitter to see a demo of it in action. You can also follow Thomas at Ko-fi to read more detailed updates about its creation progress. Be sure to follow Thomas for more updates and as well as any future microelectronics projects.