We’ve featured a number of people who’ve taken the plunge and created their own customized keyboard; at this point it’s safe to say that there’s enough information and source code out there that anyone who’s looking to build their own board won’t have much trouble figuring out how to do so. That being said, it’s nice to have a comprehensive at a process from start to finish. Why sift through forum posts and image galleries looking for crumbs if you don’t have to?
That’s precisely what makes this write-up by [Maarten Tromp] so interesting. He walks the reader through every step of the design and creation of his customized keyboard, from coming up with the rather unique layout to writing the firmware for its AVR microcontroller. It’s a long read, filled with plenty of tips and tricks from a multitude of disciplines.
After looking at other custom boards for inspiration, [Maarten] used OpenSCAD to create a 3D model of his proposed design, and had it printed at Shapeways. His electronics are based around an Atmel ATMega328P using vUSB, and Microchip MCP23017 I/O expanders to connect all the keys. He wrapped it all up by designing a PCB in gEDA PCB and having it sent off for production. As a testament to his attention to detail, everything mated up on the first try.
[Maarten] is happy with the final product, but mentions that in a future revision he would like to add RGB lighting and use a microcontroller that has native USB support. He’d also like to drop the I/O expanders and switch over to Charlieplexing for the key matrix.
From uncommon layouts to diminutive technicolor beauties, it seems there’s no end of custom keyboards in sight. We aren’t complaining.
6 thoughts on “The A To Z Of Building Your Own Keyboard”
I have an ergodox split keyboard and I use the dvorak layout. I couldn’t recommend it more. It is very comfortable and efficient. It has really opened my eyes in terms of what is out there for keyboards and I will probably make my own as well.
There are people on Ebay selling key letter replacements on the cheap. They come in both opaque and clear. They tend to last a while as well. Just an idea for doing your own keys.
Speaking of microcontrollers with native USB support, it’s a shame the CC2540 was crippled by requiring a $$$ commercial compiler to link to the binary blob radio drivers. It’s widely available on very cheap modules (though sometimes they have CC2541 with no USB) and with both USB and BLE interfaces it really seems like it would be a great match for keyboards and mice.
The nRF52840 is looking like it might be a good (more expensive) option, with an ARM Cortex-M4 w/GCC support and hardware USB plus BluetoothLE.
Has anyone tried out HID over BLE? Everyone claims the latency and battery life should be competitive with the proprietary 2.4GHz dongles (like Logitech’s Unity), plus built-in hardware and OS drivers on most newer devices (I believe it’s supported on all of Windows 8+, OS X, Linux, iOS, and Android). But that might just all be marketing claims.
It might only be the dev kit boards for nRF51822 that are more expensive; the chip itself is under $4 single quantity at mouser (under $2 at quantity) which is cheaper than the CC2540 and the same price as the CC2541.
But the third party nRF51822 boards are often even cheaper than the TI dev board.
How about a grid-like style with keys at the intersections and the holes allow all the junk to fall through.
While the keyboard itself looks good, those hand-labelled keycaps look out of place.
Maybe custom keycaps need their own article.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)