DIY Shortcut Keyboard

Working with CAD programs involves focusing on the task at hand and keyboard shortcuts can be very handy. Most software packages allow the user to customize these shortcuts but eventually, certain complex key combination can become a distraction.

[awende] over at Sparkfun has created a Cherry MX Keyboard which incorporates all of the Autodesk Eagle Shortcuts to a single 4×4 matrix. The project exploits the Arduino Pro Mini’s ability to mimic an HID device over USB thereby enabling the DIY keyboard. Pushbuttons connected to the GPIOs are read by the Arduino and corresponding shortcut key presses are sent to the host machine.

Additional functionality is implemented using two rotary encoders and the Teensy encoder library. The first knob functions as a volume control with the push-button working as a mute button. The encoder is used to control the grid spacing and the embedded button is used to switch between imperial and metric units. The entire code, as well as the schematic, is available on GitHub for your hacking pleasure. It’s a polished project just ready for you to adapt.

The project can be extended to be used with other computer software such as Gimp and the keys may be replaced by capacitive touch sensors making it more sturdy. Bluetooth can be added to make things wireless and you can check out the Double Action Keyboard to extend functionality further. Continue reading “DIY Shortcut Keyboard”

Hackaday Prize Entry: A Double Action Keyboard

Mechanical keyboards are the in thing right now and building your own is at least two extra levels of nerd cred. This project, entered in the Hackaday Prize, is a DIY keyboard unlike you’ve ever seen. It is a fundamental shift in the ideas of how a computer keyboard can work. It’s a double action keyboard. Press a key lightly, and one character will show up on the screen. Press hard, and a different character will show up on the screen. You’ve never seen anything like this before.

[Jaakob] designed this keyboard so that each keycap would have two switches underneath. He did this by taking regular ‘ol Cherry MX switches and modifying them so the ‘plunger’ would stick out of the bottom of the switch when it was fully depressed. These Cherry switches were mounted to a piece of perfboard, and a small tact switch soldered underneath. It’s an idea similar to what’s found in touch-sensitive MIDI controllers or the other type of keyboard. The difference here is that instead of using two switches to sense how hard a key is being pressed, it maps to two different functions.

Once [Jaakob] figured out how to put two switches under one keycap, he wired up a matrix, attached a Teensy, and took a crack at the firmware. The build isn’t quite done yet, but this is one of the most innovative DIY keyboards we’ve seen in recent memory. There’s a lot of potential here, and this method of ganging two switches together still allows for the fantastic clack and great feel of a mechanical switch.

Walnut Windfall Winds up in Custom Keyboard

When a neighbor decided to cut down a walnut tree, [voluhar] decided to make something of the wood. The result was this custom keyboard that combines wood and metal in a lovely and functional package.

Walnut is a wood with a rich heritage in consumer electronics. Back in the early days of TV, huge console sets were built into solid walnut cabinets and proudly displayed along with the other fine furnishings in a home. [voluhar]’s keyboard captures a little of that spirit while retaining all the functionality you’d expect. From the custom PCB to the engraved aluminum key caps, it looks like every part was machined with a CNC router. The keyboard sports satisfyingly clicky Cherry MX switches, and a few cleverly positioned LEDs provide subtle feedback on the state of the locking keys. As for the imperfections in the walnut case, we think it just adds to the charm and warmth of the finished product, which would look great on any desktop.

Wood has appeared in a couple of custom keyboards that we’ve featured before, like this all-wood version. But if you want the retro look without the wood, you could always try a keyboard built out of a typewriter.

Continue reading “Walnut Windfall Winds up in Custom Keyboard”

[Sprite_TM]’s Keyboard Plays Snake

Hackaday Prize judge, hacker extraordinaire, and generally awesome dude [Sprite_TM] spends a lot of time at his computer, and that means a lot of time typing on his keyboard. He recently picked up a board with the latest fad in the world of keyboards, a board with individually addressable LEDs. He took this board to work and a colleague jokingly said, ‘You’ve had this keyboard for 24 hours now, and it has a bunch of LEDs and some arrow keys. I’m disappointed you haven’t got Snake running on it yet.” Thus began the quest to put the one game found on all Nokia phones on a keyboard.

The keyboard in question is a Coolermaster Quickfire Rapid-I, a board that’s marketed as having an ARM Cortex CPU. Pulling apart the board, [Sprite] found a bunch of MX Browns, some LEDs, and a 72MHz ARM Cortex-M3 with 127k of Flash and 32k of RAM. That’s an incredible amount of processing power for a keyboard, and after finding the SWD port, [Sprite] attempted to dump the Flash. The security bit was set. There was another way, however.

Coolermaster is actively working on the firmware, killing bugs, adding lighting modes, and putting all these updates on their website. The firmware updater is distributed as an executable with US and EU versions; the EU version has another key. Figuring the only difference between these versions would be the firmware itself, [Sprite] got his hands on both versions, did a binary diff, and found only one 16k block of data at the end of the file was different. There’s the firmware. It was XOR encrypted, but that’s obvious if you know what to look for.

flashdata The firmware wasn’t complete, though; there were jumps to places outside the code [Sprite] had and a large block looked corrupted. There’s another thing you can do with an executable file: run it. With USBPcap running in the background while executing the firmware updater, [Sprite] could read exactly what was happening when the keyboard was updating. With a small executable that gets around the weirdness of the updater, [Sprite] had a backup copy of the keyboard’s firmware. Even if he bricked the keyboard, he could always bring it back to a stock state. It was time to program Snake.

The first part of writing new firmware was finding a place that had some Flash and RAM to store the new code. This wasn’t hard; there was 64k of Flash free and 28K of unused RAM. The calls to the Snake routine were modified from the variables the original firmware had. If, for example, the original keyboard had a call to change the PWM, [Sprite] could change that to the Snake routine.

Snake is fun, but with a huge, powerful ARM in a device that people will just plug into their keyboard, there’s a lot more you can do with a hacked keyboard. Keyloggers and a BadUSB are extremely possible, especially with firmware that can be updated from a computer. To counter that, [Sprite] added the requirement for a physical condition in order to enter Flash mode. Now, the firmware will only update for about 10 seconds after pressing the fn+f key combination.

There’s more to playing Snake on a keyboard; Sprite has also written a new lighting mode, a fluid simulation thingy that will surely annoy anyone who can’t touch type. You can see the videos of that below.

Continue reading “[Sprite_TM]’s Keyboard Plays Snake”

Nixies and Raspis for a Modern Vintage Calculator

There are a few very rare and very expensive calculators with Nixie tube displays scattered about calculator history, but so far we haven’t seen someone build a truly useful Nixie calculator from scratch. [Scott] did just that. It’s a complete, fully-functional electronic calculator with all the functions you would expect from a standard scientific calculator.

The calculator uses IN-12 Nixies, the standard for anyone wanting to build a clock or other numerical neon discharge display. Each Nixie is controlled by a K155D driver chip, with the driver chip controlled by an I2C IO expander.

The keypad is where this gets interesting; electronics are one thing, but electromechanicals and buttons are a completely new source of headaches. [Scott] ended up using Cherry MX Blue switches, one of the more common switches for mechanical keyboards. By using a standard keyboard switch [Scott] was able to get custom keycaps made for each of the buttons on his calculator.

The brains of the calculator is a Raspberry Pi, with the I2C pins going off to listen in on the several IO expanders on the device. A Raspi might be a little overkill, but an Internet-connected calculator does allow [Scott] to send calculations off to WolframAlpha, or even the copy of Mathematica included in every Pi.

[Scott] has put his project up on Kickstarter. Videos below.

Continue reading “Nixies and Raspis for a Modern Vintage Calculator”

Hacklet 17 – Keyboards

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

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!

Update – check our our keyboard list right here!

One man’s adventures in custom keyboard development


As a software developer, [suka] spends a lot of time every day in front of a keyboard. He had been trying out different keyboard layouts far less common than even the moderetly obscure Dvorak layout, and after some time decided a custom ergonomic keyboard was what he wanted. His progress of designing his own custom ergonomic keyboard is a fascinating read, made even cooler by the fact these are real, professional-quality keyboards with mechanical switches and custom enclosures.

After starting off with a few USB numpads, [suka] dove in to the world of Cherry switches by crafting his own wing-style keyboard. [suka] works for one of the larger manufacturers of laser-sintering machines, so he was able to create the enclosures for his keybaord – as well as the key caps – fairly easily. The technology behind laser sintering allowed [suka] to create some strange bowl and trough-shaped keyboards before settling on his daily driver, seen above.

The Blue Cube, as [suka] calls it, includes an integrated stand, an integrated IBM trackpoint mouse, and is powered by a Teensy microcontroller. [suka]’s keyboards might not be heafty enough for melee combat like the venerable IBM Model M, but it’s exactly what [suka] wants, and that’s just fine by us.