Plenty of custom keyboards are running some form of Python code, including firmware and key mapping, but none have been designed entirely using the popular coding language. Takuya Urakawa did just that with this keyboard, which was made completely leveraging various Python libraries.
“I designed the entire keyboard, including the PCB, case, and firmware, using only Python. No need to use Kicad and Fusion 360,” Takuya explains.
Those libraries replaced the traditional workflow and includes using skidl to describe the relation of electronic components, pcbflow to design the PCB, and CadQuery to build the parametric 3D model of the case.
Takuya wrote a script to generate a PCB layout and source code for the XIAO RP2040 microcontroller, then used Python to create a program to flash it. He also wrote a Python-based library to manage the key matrix. The board is more like a macropad and features Cherry MX-style switches, keycaps, and an OLED module.
“The advantage of designing something by writing code, not just Python, is that the design is character-based information,” says Takuya. “It can be understood and designed using only a text editor without special things (schematic symbols, etc.) to be aware of.”