Mechanical Keyboard Goes BLE

Like many programmers, [Daniel Nugent] loves his old mechanical keyboard (a WASD Code Keyboard). What he didn’t love was the cord. Sure, you can get a modern wireless keyboard, but it won’t be the same as the keyboard you’ve spent so much time with. Armed with a Bluetooth Low Energy (BLE) module, a rechargeable battery and some coding, he kept his keyboard but got rid of the wires.

Although he has some specific handling for the WASD, the code would very likely handle any PS/2 keyboard. The PS/2 interface is a simple synchronous serial port with a single clock and single data line. Handling it with a microcontroller isn’t very difficult.

Continue reading “Mechanical Keyboard Goes BLE”

Turning A Typewriter Into A Mechanical Keyboard

Is your keyboard too quiet? Is your Cherry MX Blue board not driving your coworkers crazy enough? If the machine gun fire of a buckling spring keyboard isn’t enough for you, there’s only one solution: [Russell]’s typewriter turned into a mechanical keyboard.

Converting typewriters into keyboards has been done for a very long time; teletypes, the first computer keyboards, were basically typewriters, and the 1970s saw a number of IBM Selectrics converted into a keyboard with serial output. Even in recent years, typewriters have been converted into keyboards with the help of some switches and an ATMega. [Russell]’s mechanical keyboard improves on all of these builds by making the electronic interface dead simple, and a project that can be done by anyone.

Instead of installing switches underneath every key or futzing about with the weird mechanics of a Selectric typewriter, [Russell] is only installing a touch-sensitive position sensor into the frame of the typewriter. When a key is pressed, it strikes a crossbar in the frame of the typewriter. With a single ADC chip and a Raspberry Pi, [Russell] can determine which key was pressed and use that information to output a character to a terminal.

It’s a very simple solution for an electrical interface to a mechanical device, and the project seems to work well enough. [Russell] is using his new keyboard with Vim, even, something you can check out in the video below.

Continue reading “Turning A Typewriter Into A Mechanical Keyboard”

Hackaday Prize Entry: Emoticon Keyboard

The Internet is raising an entire generation that can speak entirely in emoticons. This reverses the six thousand year old evolution of written language and makes us (╯°□°)╯︵ ┻━┻. It is, however, fun. There is a problem with these newfangled emoticons: no one actually types them; they’re all copied and pasted. This is inefficient, and once again technology is here to save us once again.

For his Hackaday Prize entry, [Duncan] is working on an EmojiPad. It’s a (mechanical!) keyboard for typing emoticons, but it can also be used for gaming, CAD design, or as a USB MIDI device.

The keyboard uses 16 Cherry MX switches in a standard diode matrix configuration. This is a USB keyboard, and for the controller, [Duncan] is using an ATMega328 with the V-USB library This is all well-worn territory for the mechanical keyboard crowd, so to spice things up, [Duncan] is going to add individually addressable LEDs underneath each keycap. The ATMega328 doesn’t have enough pins to do this the normal way, so all the LEDs will be Charlieplexed.

A keyboard for emoticons demands custom keycaps, but [Duncan] is having a hard time finding a good solution. Right now he’s planning on using blank keycaps with vinyl decals, a somewhat expensive option at $1 USD a keycap. A better, even more expensive option exists, but for something as ephemeral as an emoticon keyboard a sticker will do just fine.

The 2015 Hackaday Prize is sponsored by:

Hackaday Links: May 24, 2015

A few months ago, we heard about a random guy finding injection molds for old Commodore computers. He did what the best of us would do and started a Kickstarter to remanufacture these cool old cases. It’s the best story on retrocomputing this year, and someone else figured out they could remanufacture Commodore 64 keycaps. If you got one of these remanufactured cases, give the keycaps a look.

Remember this Android app that will tell you the value of resistors by reading their color code. Another option for the iOS crowd was presented at Maker Faire last weekend. It’s called ResistorVision, and it’s perfect for the colorblind people out there. An Android version of ResistorVision will be released sometime in the near future.

A few folks at Langly Research Center have a very cool job. They built a hybrid electric tilt wing plane with eight motors on the wing and two on the tail. It’s ultimately powered by two 8 hp diesel engines that charge Liion batteries. When it comes to hydrocarbon-powered hovering behemoths, our heart is with Goliath.

A bottom-of-the-line avionics panel for a small private plane costs about $10,000. How do you reduce the cost? Getting rid of FAA certification? Yeah. And by putting a Raspberry Pi in it. It was expoed last month at the Sun ‘N Fun in Florida, and it’s exactly what the pilots out there would expect: a flight system running on a Raspberry Pi. It was installed in a Zenith 750, a 2-seat LSA, registered as an experimental. You can put just about anything in the cabin of one of these, and the FAA is okay with it. If it’ll ever be certified is anyone’s guess.

3D Printed Mechanical Keyboard

Tired of buying boring keyboards with almost no customization available? We’ve seen lots of keyboard hacks before, but if you want to take it a step further — why not make it from scratch and have it 3D printed?

Reddit user [Wildpanic] has just finished his first attempt at a 3D printed keyboard and he’s even shared the files to make it over at Thingiverse. The frame is entirely 3D printed, but he’s chosen to use pre-manufactured key switches, which is probably for the best. They are the Cherry MX Green variety, which have these little clips in the side which make them super easy to install — especially on a 3D printed frame.

He’s wired them all using 20ga copper wire (which might be a bit overkill) to a Teensy 2.0 microcontroller. The diodes he chosen to use are 1N4148 which he was able to get fairly inexpensively. Total cost is just a bit over $50. Not bad!

Oh and in case you’re wondering, he’s chosen the style of keyboard that makes use of 4 keys for the space bar — as made popular by the planck style custom keyboards — you know, for people who love symmetry.

For more awesome keyboard hacks, check out this roundup [Adam Fabio] put together in a Hacklet last year!

[via reddit]

RaspPi/Keyboard Project called Kiiboard, Still Pronounced ‘keyboard’

[b10nik] wrote in to tell us about a pretty sweet project that he just finished up. It’s a mechanical keyboard with an integrated Raspberry Pi 2 Model B inside.

[b10nik] purchased a new Filco Ninja Majestouch-2 keyboard just for this project. Although it may make some people cringe, the keyboard was immediately taken apart in order to find an open cavity for the Raspberry Pi. Luckily there was space available towards the left rear of the keyboard case.

RaspPi2 Keyboard insideIf you are familiar with the Raspberry Pi 2 Model B, you know that all of the connections are not on the same side of the board. The USB, audio, HDMI and Ethernet jacks were removed from the PCB. The Ethernet port is not needed since this hack uses WiFi, but those those other ports were extended and terminated in a custom 3D printed I/O panel . The stock keyboard case had to be cut to fit the new panel which results in a very clean finished look.

There’s one more trick up this keyboard’s sleeve, it can be used with the internal Raspberry Pi or be used as a standard keyboard. This is done by way of a FSUSB30MUX USB switch IC that completely disconnects the Raspberry Pi from the keyboard’s USB output.

For another RaspPi/Keyboard solution, check out this concept from a few years ago using a Cherry G80-3000 mechanical 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”