← Projects

DIY Split Keyboard

Inexpensive ergonomic DIY split keyboard

View on GitHub →
DIY Split Keyboard

YouTube Demonstration
GitHub Repository

Description

A fully custom ergonomic split keyboard built using three Arduinos. An Arduino Leonardo acts as the master controller, communicating via I2C with two Arduino Pro Micro slave devices - one for each half of the keyboard.

Each keypad has more switches than available input pins. This was solved by wiring the switches as a matrix: Pin 1 of each switch is connected per row, and Pin 2 per column. Scanning each column and reading each row allows 30 switches to be read using only 11 pins per Arduino.

The keyboard also supports an alternative layer, activated by a dedicated shift key, giving access to numbers and symbols without any additional hardware.

Programmed in C++ using PlatformIO in Visual Studio Code.

Technologies Used

  • C++
  • I2C
  • Arduino
  • HID Devices
  • Button Matrices

Switch matrix. Matrix
Left keypad. Left Half
Right keypad. Right Half
Prototype. Prototype