Building a small keypad for strategy games

A month ago [Andreas] started playing Starcraft 2 again. As he was not comfortable with the default hotkeys on a normal keyboard, [Andreas] decided to build his own.

He started by salvaging keys from an old keyboard he had lying around, then 3D printed the case you see in the picture above to fit them. The keyboard electrical design is a simple matrix and it appears that he etched the PCB himself. To provide the required USB connectivity, the Atmega8U2 was chosen. It comes with a pre-programmed USB bootloader that [Andreas] chose to activate when the left key is pressed at the system startup. The HID class was implemented using the LUFA-USB Framework and the final product is definitely good looking.

All the files required to duplicate his design can be found here. You can also checkout another starcraft keyboard and an ergonomic keyboard that we previously featured.

Fix a keyboard’s firmware with trial, error, and I2C

eepromKeyboardFlash

If the media shortcut keys on your keyboard don’t function correctly due to outdated firmware, the manufacturer may recommend you ship it to them for an update. [Alvaro] didn’t care to wait that long, so he cracked it open and taught himself how to mod the EEPROM. The result is a well-documented breakdown of sorting out the keyboard’s guts. Inside he finds a USB hub, which he ignores, and the keyboard controller chip, which he attacks. Two data sheets and a schematic later, [Alvaro] breaks out the logic analyzer to compare physical key presses to the keypad codes they output.

He dumps the entire EEPROM and follows up with a quick flash via I2C to change the “next song” key to instead output the letter “a”. That seems to work, so [Alvaro] combs through an HID USB usage table for some codes and has to guess which ones will properly control Spotify. He converts the media keys from “scan next” and “scan previous” to “rewind” and “fast forward.” Problem solved.

[Alvaro] had zero knowledge of keyboards prior to opening this one up. If you aren’t already taking things apart to see how they function and how to fix them, hopefully his success will persuade you to explore and learn about those “black boxes” in your home. And, if you’ve never used I2C before—or think it might be the name of a boy band—head over to [Kevin's] tutorial on bitbanging I2C by hand.

How to debug a faulty memory board

ram

While this is not exactly a hack or a fail, it definitely is an inspiring example on how to debug a faulty card.

[Quinn] is one of the very few hobbyists out there that designed her own 6502 based computer. For the young readers of Hackaday, the MOS 6502 was introduced in 1975 and has been used in the Aple // line, the Commodore 64, the Vic-20, the Atari computers, the Nintendo Enterntainment System and others.

[Quinn]‘s homemade new RAM board had been working for many weeks until it started to show some weaknesses by only sporadically passing the boot RAM test. Assuming the RAM was the problem, she started by making a more advanced memory test, which showed errors at random addresses.

She didn’t have any more of the same memory chips on hand which could be used with a fresh PCB. Determined to power through the issue, she etched a new board with a new memory design. Unfortunately it also gave memory errors at boot. Only one culprit was left, which is shown in the picture above. It’s a small sizing error in the board artwork which was just enough to cause a misalignment on the connector.

The article contains many details about her debugging process, so it definitely is worth the read.

How to use the Kenetis KL25Z Freedom board as an HID mouse

hid-usb-mouse-from-Freescale-dev-board[Eric] is interested in turning this Freedom development board into an air mouse by using the onboard accelerometer. But he had to work through the particulars of the USB HID mouse class before he could get that done.

This Freescale FRDM-KL25Z is one of the awesome ARM boards we looked at a year ago. Can you believe you can get this thing for like thirteen bucks? We suppose the gotcha is that the CodeWarrior IDE meant for use with them is not entirely free. But there is a free trial, and [Eric] shows how much easier it is to tailor the USB stack for your needs with it.

Don’t worry though. If you’re like us and use Open Source For The Win he’s got you covered as well. When you’re done reading his HID mouse writeup head on over to his six-part tutorial for building a free toolchain for the Kenetis boards.

Building a hard drive scratch controller

hard-disk-scratch-controller

If you’re reading this blog then chances are you have a dead hard drive hanging out somewhere in your house. Here’s a weekend project that will put it back into use. [Andreas] took on the popular project which combines a hard drive and optical mouse to build a scratch controller.

The gist of the build is that you use an optical mouse sensor to track the movement of the platter. But [Andreas] made things harder on himself by not using the USB capability of the mouse and mapping it in software for his needs. Instead he plucked the sensor from the mouse, reading it using an Arduino. After much trial and error with the best way to coat the underside of the platter to play nicely with the sensor he managed to get it up and running. The controller issues commands using the MIDI protocol, forming a strong foundation for future upgrades which could lead to a full-blown DJ console hack.

[Read more...]

LED module used to display load, traffic, and status data for your PC

cpu-monitoring-block

You’re going to like [Ivan's] write-up for this LED computer status monitor. Of course he didn’t just show-and-tell the final product — if he had you’d be reading this in a Links post. But he also didn’t just detail how he put the thing together. Nope, he shared pictures and details of every iteration that got him here.

It started off with a tachometer. Yeah, that analog display you put on the dashboard of your car which reads out RPM. He wanted to make it into a USB device which would read out his CPU load. But that’s an awful lot of work when it can only display one thing at a time. So he decided to add an 8×8 LED module which would display the load for each individual core of his CPU. It looks great next to the illuminated tachometer. From there he added resolution by transitioning to an RGB module, which ended up sucking him into a coding project to extend the data pushed to his embedded hardware. In the end his ReCoMonB (Real Computer Monitoring Block) displays CPU load, RAM usage, several aspects of HDD activity, as well as the network up and down traffic.

We think he’s probably squeezed all that he can from this little display. Time to upgrade to a TFT LCD.

[Read more...]