A Hand-wired USB & Bluetooth Keyboard Powered by Python

by yihui in Circuits > Electronics

1749 Views, 7 Favorites, 0 Comments

A Hand-wired USB & Bluetooth Keyboard Powered by Python

python-inside-keyboard.png
colorful-keycaps.jpg

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.

Supplies

Materials

  • 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

Tools

  • soldering iron
  • solder alloy
  • tweezer
  • multimeter

Install Stabilizers

stablizers.jpg
grease.jpg

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

Mount Switches

switch.jpg

Mount the switches to the plate

Soldering Keyboard Matrix

rows2.jpg
rows.jpg
rows-cols.jpg

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.

Connect Keyboard Matrix to Pitaya Go

pitaya-go.jpg

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.

Setup Python on the Keyboard

colorful-keyboard.jpg

Go to https://github.com/makerdiary/python-keyboard to set Python on the keyboard.