Hacker News new | past | comments | ask | show | jobs | submit login
Reverse Engineering a Keyboard to Play Snake (spritesmods.com)
165 points by rcuv on Nov 24, 2014 | hide | past | favorite | 24 comments

This was very educational.

I find it equally hilarious, scary and wonderful that it's now cost-effective to build a keyboard whose brain is a 72 MHz ARM Cortex-M3 with 127 KB of program space. Of course the manufacturer also proudly tells you this, that the keyboard is powered by an ARM. It's also fun that the firmware of the keyboard is protected (partly by the old-faithful XOR trick, even!) against IP theft.

Too bad they didn't include a hub in there, but I guess someone thinks doing so would introduce scary latency, or whatever. Gamers can be a sensitive bunch.

It's probably more than powerful enough to emulate a C64... where the computer is literally inside the keyboard.

But with all the concern over malicious USB devices, I'll take a dumb and simple PS/2 keyboard with a mask-programmed 8048 over anything "smarter". Otherwise, his idea of requiring a special key combination to enter firmware update mode is also good - something like "unplug, then hold down X while plugging in" easily stops any malware attempting to do a silent firmware update.

Personally, I think we need more open source day-to-day peripherals like this: keyboards, USB hubs, card readers, everything. It all needs to be replaced with open, inspectable, blob-less, user-upgradable alternatives.

There's a growing open source keyboard community built around keyboards like the ErgoDox using the Teensy Microcontroller. Keyboards are surprisingly easy to build from scratch by hand.

It's "cost effective" for a €150 keyboard.


They are normally €100 (including shipping) in Europe, but the ISO layout models are out of stock everywhere.

For his next trick, create a worm that can use these keyboards to hide a rootkit?

Another view is that microchips are made of what is essentially sand.

It's awesome to see the writeup on this. Ran into the video a few days ago on /r/mechanicalkeyboards and was surprised that it didn't got more attention than it did! I think I might end up buying one of these CMs now...

If I knew what I was doing I'd try to write an OSC interface into a DAW. Things like transport control or mapping the 10 columns of keys to solo/mute/group buttons on a mixer, or trying to rig it up so that 1QAZ 2WSX 3EDC 4RFV are the 16 keys on a drum machine...

The video from the article for those who want to see the game in action before reading.


This is actually pretty nice, the guy is a Tweaker... Which means he is a member of the Dutch newssite : Tweakers.nl which is a very popular site for Dutch speaking persons (The Netherlands and Belgians). There is a video about it on (same as on the conclusion page of the site though) : http://tweakers.net/video/9730/tweaker-hackt-keyboard-om-sna...

I thought at first you were trying to say he was a meth addict :P

That's incredibly entertaining and educational read! One of the best lately.

What is interesting is that "low security" of the flashing process won't hurt their sales - I would expect the opposite to happen. Free publicity exactly where your customers are. Good for you, Coolermaster!

Enlightening... does anyone know if you can turn on/off the backlight of a single key on a macbook pro/air keyboard?

I'm rather surprised each key can be lid and unlit. I'd expected it to be 2 circuit.

This is what Hacker News is for.

Great thorough write up, and awesome hack.

That is downright hilarious!

Nice Hack!

"There are a few other things in the firmware I improved."

He even had time for that.

An equally impressive and amusing tour de force. I'd like to see self-proclaimed "full stack" developers pull this off.

I'm surprised no one is complaining about it being split into multiple pages considering this is HN and more inconsequential stuff have been complained about.

I like skimming articles. Got to page 2 and lost interest. If it was all in one page, I may have found something of interest further down and gone back up to read the whole thing.

Would you like your waiter to cut up your food for you too?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact