Introduction: A Hand-wired USB & Bluetooth Keyboard Powered by Python

About: An engineer who loves making things

This is a hand-wired mechanical keyboard. It supports USB and Bluetooth, and is running Python in the microcontroller of the keyboard. You may wonder how it works . Follow the steps to build one, you will find it out.



  • 0.8mm brass wire
  • 61 switches
  • keybaord plate
  • plate mount stabilizers
  • 61+ diodes for anti-ghost
  • Makerdiary Pitaya Go, a dev board which has a microcontroller to run Python


  • soldering iron
  • solder alloy
  • tweezer
  • multimeter

Step 1: Install Stabilizers

We need to install stabilizers into the keyboard plate first. To make the keyboard quieter, we can lubricate the stabilizers with grease.

Step 2: Mount Switches

Mount the switches to the plate

Step 3: Soldering Keyboard Matrix

The keyboard matrix has 5 rows and 14 columns. First, we use a brass wire as a row, solder one pin of a switch with a diode, then solder the other side of the diode with the brass wire. After soldering all rows, we put something as a spacer on top of the row wires, and then solder the column wires with the left pins of these switches. By removing the spacer, the rows and columns are crossed in 3D space and are avoid to be shorted.

Step 4: Connect Keyboard Matrix to Pitaya Go

The dev board Pitaya Go has 20 general purpose GPIOs which is enough for the keyboard matrix with 5 rows and 14 columns. After finishing it, we'd better check if rows and columns are shorted. Hardware is ready now.

Step 5: Setup Python on the Keyboard

Go to to set Python on the keyboard.