Walkman-esque Human Interface Device

Cheap keyboards never come with extra buttons, and for [Pengu MC] this was simply unacceptable. Rather than go out and buy a nice keyboard, a microcontroller was found in the parts drawer and put to work building this USB multimedia button human interface device that has the added bonus of looking like an old-school Walkman.

The functions that [Pengu MC] wants don’t require their own drivers. All of the buttons on this device are part of the USB standard for keyboards: reverse, forward, play/pause, and volume. This simplifies the software side quite a bit, but [Pengu MC] still wrote his own HID descriptors, tied all of the buttons to the microcontroller, and put it in a custom-printed enclosure.

If you’re looking to build your own similar device, the Arduino Leonardo, Micro, or Due have this functionality built in, since the USB controller is integrated on the chip with everything else. Some of the older Arduinos can be programmed to do the same thing as well! And, with any of these projects, you can emulate any keypress that is available, not just the multimedia buttons.

Hacklet 17 – Keyboards

This week on The Hacklet we’re featuring some of the best keyboard hacks from Hackaday.io!

Hackers are really into their keyboards. Everyone has a favorite, and those favorites vary wildly. Mechanical, soft touch, ergonomic, QWERTY, DVORAK, chorded, you name it, there is a hacker, maker, or engineer who loves it, or absolutely hates it. For some, no commercial product is perfect. All is not lost though, as a custom keyboard is just a hack away!


[Warren Janssens] gets things rolling with Ergo60, his 60 key ergonomic keyboard. [Warren’s] layout is a pair of 25 key hand clusters, each with a matching 5 key thumb cluster. This layout minimizes lateral wrist movement. With the reduced key count and stacked keys, the user’s hands never move from the home row. [Warren] rolled his own PCBs for Ergo60. A Teensy 2.0 running a fork of TMK serves as Ergo60’s controller. [Warren’s] is running Cherry Black switches and his keycaps are from Signature Plastics. [Warren] is using Ergo60 as his daily driver these days, so it’s no surprise that he’s set the “Completed Project” tag.


Some say he needs no keyboard at all, and that his heartbeat sounds just like an IBM Model M. All we know is he’s called [Brian Benchoff]. [Brian’s] created a pair of minimalist keyboard projects. The Unhappy Hacking Keyboard takes us back to basics. After all, computers run on 1’s and 0’s, right? What more could a person need? Apparently just a space and return. Unhappy Hacking Keyboard uses an ATtiny85 with V-USB as the controller and the interface. Keys are cherry MX blues. The keycaps are [Brian’s] own Hackaday Cherry MX Keycaps printed by Shapeways.

zxkeyboardAn entire generation of hackers don’t know the joy of typing on a tiny rubber keyboard. [Alistair MacDonald] aimed to fix that, so he turned an old computer into a keyboard with his ZX Keyboard. [Alistair] started with a broken ZX Spectrum. He gutted the original electronics and added an Ardunio Pro Mini running the V-USB library. [Alistair] directly wired the row and column I/O lines from the keyboard to his Arduino. The result is a keyboard which is the perfect size for cell phones, Raspberry Pi’s and the like.

chordkey[Servo] teaches us new ways to type with Chordy KEY, his chording keyboard project. Chordy Key is meant to be used in the left hand. Five finger buttons and three thumb buttons are all that is needed to chord out 64 different letters and symbols. [Servo] utilized an ATmega32U4 powered Sparkfun pro micro to control his keyboard. Chordy Key is a proof of concept, but with [Servos’s] use of 3D printed parts, Chordy Key looks like it’s ready for your next wearable computing project!

chord2[jmptable] is also working on a chorded keyboard design. Chord Keyboard uses only 7 keys to send the entire ASCII character set and a few control combinations. [jmptable] used an ATmega328P as his processor. Chord keyboard isn’t wired though. An RN-42-HID module provides bluetooth connectivity to the world.

[jmptable] has provided an amazing amount of detail on his research, including one of his goals of adding a chorded keyboard to the Gameboy Advance. They keyboard itself would be mounted on the spine of a game cartridge. We would love to see that idea come to fruition, [Servo]!


mightyFinally we have [Gertlex], who just wanted a scroll wheel embedded in his keyboard. He got there with the help of an Apple Mighty Mouse. Keyboard with Apple Mouse Scroll Ball is one of those hacks that looks like it original equipment. [Gertlex] took a drill to a Targus slim USB keyboard, putting a small hole right between the ESC and F1 keys. He fit the scroll ball from his Apple Mighty Mouse in the hole. Electronics are as simple as plugging the mouse and keyboard into the same USB hub. The only downside to the design is that [Gertlex’s] keyboard doesn’t recognize fast enough to send key presses during the boot process.

That’s just about enough keystrokes for this episode of The Hacklet. As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io!

Update – check our our keyboard list right here!

PS/2 Synth Will Knock You Off Your Broom


Here’s a hack centered around something a lot of people have sitting around: a PS/2 keyboard. [serdef] turned a Harry Potter-edition PS/2 into a combination synth keyboard and drum machine and has a nice write-up about it on Hackaday.io.

For communication, he tore up a PS/2 to USB cable to get a female mini DIN connector and wired it to the Nano. He’s using a Dreamblaster S1 synth module to generate sounds, and that sits on a synth shield along with the Nano. The synth can be powered from either the USB or a 9-volt.

Keymapping is done with the Teensy PS/2 keyboard library. [serdef] reused a bunch of code from his bicycle drummer project which also employed the Dreamblaster S1. [serdef] is continually adding features to this project, like a pot for resonance control which lets him shape the waveform like an analog synth. He has posted some handy PS/2 integration code, his synth code, and a KiCad schematic. Demo videos are waiting for you across the link.  Continue reading “PS/2 Synth Will Knock You Off Your Broom”

ZX Spectrum Turned Into A USB Keyboard


They’re a little hard to find in the US, but the ZX Spectrum is right up there with the Commodore 64 and the Atari 8-bit computers in England. [Alistair] wanted to recreate the feeling of sitting right in front of the TV with his Speccy, leading him to create the ZX Keyboard, a Spectrum repurposed into a USB keyboard.

While most projects that take an old key matrix and turn it into a USB keyboard use the TMK firmware, [Alistair] wanted to flex his programming muscles and wrote the firmware from scratch. It runs on an Arduino Pro Mini, scanning the matrix of five columns and eight half rows to turn combinations of keypresses into an astonishing number of commands, given the limited number of keys on the ZX.

The firmware is available on [Alistair]’s repo, available to anyone who doesn’t want to pay the £50 a new ZX Spectrum keyboard will cost. As far as the usability of a Spectrum keyboard goes, at least [Alistair] didn’t have an Atari 400 sitting in the attic.

Building A True Unix Keyboard


compact keyboards that do away with a third of the keys you would usually find on a normal-sized keyboard are all the rage now, but for [jonhiggs], they weren’t good enough. There is a long tradition of Unix shortcuts these compact keyboards don’t pay attention to – CTRL-A being the Home key, and CTRL-D being the Page Down key. To fix this horrible oversight of Unix history, [jon] tore apart one of these compact keyboards, rewired the switch matrix, and made his own perfect keyboard.

The keyboard [jon] is using is a Filco Minila, a very nice and high quality keyboard in its own right.  After mapping out the switch matrix, [jon] wired all the switches up to a Teensy 2.0 loaded up with the TMK firmware. This is a pretty standard way of building a custom keyboard, and [jon] could have just cut a switch plate and installed panel-mount switches and wired up the matrix and diodes point to point. The case for the keyboard is constructed out of Lego.

Because this is a true, modern Unix keyboard, [jon] needed to connect this keyboard to a box running his *nix of choice. He’s doing this in the most future-retro way possible, with an Amazon EC2 instance. This project isn’t done yet, and [jon] is hoping to add an ARM dev board, an iPad Retina display, battery, and SSD, turning this into a completely homebrew laptop designed around [jon]’s needs.

DIY Keyboard Backlighting Takes Forever, Worth It

LED Keyboard with Custom Lights

Want a back-lit keyboard? Make one yourself. Though you may not want to after seeing this build by [prodigydoo], who devoted 40 hours to upgrade his mechanical keyboard with a smattering of shiny.

No eye rolling just yet, though, because [prodigydoo’s] work is a monument to meticulous craftsmanship and dedication. So what if he accidentally dropped the keyboard’s PCB and cracked it? He patched that up with a few wires in true hacker-problem-solving fashion and no one will ever know.

With the electronics “safely” removed, [prodigydoo] set about desoldering every single key switch, then carefully detaching and disassembling the Cherry MX Blues. He then inserted an LED into each switch’s backplate, reassembled them, mounted the keys back on the board, then added some current-limiting resistors and heat shrink to the circuit. [prodigydoo] cut a few necessary holes for a power switch, state indicator LEDs (Caps Lock, etc.) and some under-the-board lighting, then rounded off the build by hooking up a power supply capable of running all the lights.

No microcontroller? No RGBLEDs? We like it anyway, and it seems [prodigydoo] is glad he kept it simple. Go check out the gallery for gritty details, an explanation of the circuit, and more pictures than your family vacation album.

Make that C64 Keyboard Work as a USB Keyboard


Let’s face it, we all have keyboard peculiarities. Don’t try to deny it, everyone who types a lot has an opinion of the keyboard they stroke so frequently. We know [Brian Benchoff] swears by his model M, and we’re guessing he was the one that bumped into [Evan] and convinced him to write about his conversion of a Commodore 64 keyboard for use as a USB device.

This is not [Evan’s] first rodeo. We recently saw him fixing up the worn off letters of his own model M. But this time around there’s some clever microcontroller work at play. Apparently mapping 122 keys using an Atmel AVR 32u4 chip (built in USB connectivity) is quite a task. Luckily someone’s already worked out all kinds of good things and is sharing the love with the Soarer’s Keyboard Controller Firmware. Of course it handles scanning, but also includes debounce, muxing, and the trick to scan more keys than the uC has pins for. We still don’t fully understand that bit of it. But [Evan] did post the config file he’s using so perhaps after we get elbow-deep in the code we’ll have a better understanding.

If you give this a try, we want to hear about it. Anyone have any modern keyboards they’re in love with? Leave a comment below.