Back Home

Split Bluetooth Keyboard

GitHub Logo

Why?

  The space available on my desk is constantly shrinking. Books, stationary, random pieces of paper, souvenirs; the worst, however, is the cable situation. My PC sits under my desk, which means the cords of my monitors and keyboard need to travel over the desk to reach it. The cords both make my setup look worse and make it harder to navigate. I decided that the first problem I would address would be the keyboard. Soon, however, I realized that a good wireless mechanical keyboard can be grotesquely expensive, especially once I decided that I'd like a "split" one -- a keyboard divided into two halves, one for each hand. As such, I set out to make my own.

What?

How?

  I thought that this would be a much easier project than it turned out to be. I've made projects with buttons before, and a keyboard is just a bunch of buttons, right? Wrong! The microcontrollers I was using (one for each side of the keyboard) didn't have enough i/o pins to communicate with every button. Instead, I needed to make a diode matrix: I wired the keys into a two-dimensional matrix of rows and columns, and connected every row and column to a pin on the microcontroller. When an individual button is pressed, it fires to two pins, one representing its row and one representing its column. Therefore, we can pinpoint which button is pressed even without every button being given an individual pin.
  I needed to make custom PCBs for this project, because it would make the build process much more manageable and the final project would look much better on my desk. To make the circuitboards, I used the KiCad software, which is an open-source schematic and PCB creation application. After they were done, I used a manufacturing service to have them cut and delivered to my house. Finally, I used my friend's reflow oven (which automates surface-mount soldering) to put the build together.