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.

USB adapter for an old VT100 keyboard

VT100

Ah, the VT100, the first dumb terminal that was controlled with a microprocessor. This ancient beast from the late 70s is quite unlike the terminals you’d find from even five years after its vintage – the keyboard connects via a TRS quarter-inch jack – the electronic and code design of this terminal is a bit weird. [Seth] was up to the challenge of making this mechanical keyboard work as a standard USB device, so he created his own USB adapter.

On the little quarter-inch to USB adapter, [Seth] included an HD 6402 UART to talk to the keyboard, along with a Teensy dev board and a few bits of circuits stolen from DEC engineers. The protocol between the keyboard and terminal is a little weird – first the terminal sets a bit in a status word, then the keyboard scans all the key rows and columns in sequence before telling the terminal it’s done. Yes, this gives the VT100 full n-key rollover, but it’s just weird compared to even an IBM Model M keyboard that’s just a few years younger.

[Seth] finally completed his circuit and wired it up on a perfboard. Everything works just as it should, although a little key remapping was done to keep this keyboard adapter useful for Mac and Windows computers. It’s a wonderful bit of kit, and any insight we can get into the old DEC engineers is a wonderful read in any event.

Vidias below.

[Read more...]

Touch control for every key on the keyboard

keys

Of all the musical instruments out there, the keyboard is among the worst for changing the pitch and timbre of individual notes. Wind and stringed instruments can do this easily in the hands of a skilled player, but outside the wheel and joystick controls of a few electronic keyboards, tickling the ivories means the only thing you can really change about how something sounds is the volume.

TouchKeys wants to put an end to this severe lack of dynamics available on keyboard instruments. Basically, it turns every single key on a keyboard into a multi-touch sensor, allowing any keyboardist to change the pitch, filter, timbre, or any other parameter of their instrument simply by moving their finger around on a key.

TouchKeys works by overlaying all the keys on a keyboard with circuit boards that plug into a module hidden under the hood. These boards are studded with capacitive sensing points, allowing a computer to recognize where the player is touching each key, and modifying filters or volume for each key independently.

The TouchKeys Kickstarter is offering a kit to equip a 25-key keyboard with these sensors for about $550. A hefty price tag, but hopefully we’ll see this tech in real production keyboards in the future.

Popup book includes a playable piano keyboard

pop-up-book-has-playable-piano

This popup book contains several interactive electronic elements. It’s the creation of [Antonella Nonnis] using mostly scrap materials she had on hand. Of course there are some familiar players behind the scenes that take care of the electronic elements.

Her photo album of the build process sheds light on how she pulled everything together. Instead of adding switches for interactivity she built capacitive touch sensors on the backs of the pages. Strips of copper foil serve as flexibly traces, moving the connections past the binding and allowing them to be jumpered to the pair of Arduino boards which control the show. That’s right, there’s two of them. One is dedicated to running the pop-up piano keyboard seen above. The other deals with Art, Math, and Science elements on other pages.

This continues some of the multimedia work we saw popping up in popups a few years back.

[Read more...]

The perils of cheap MIDI adapters

MIDI

[Arvydas] recently bought a Rock Band 3 Wii keyboard thinking it would be an excellent and very inexpensive (£9.99) MIDI controller. The keyboard has a proper DIN-5 MIDI out port, so theoretically the only thing needed to plug this into a computer is a USB to MIDI adapter. Unlike the keyboard, the MIDI adapter was a cheap piece of Chinese cruft, but given some ingenuity and a handful of components, he was able to get everything working.

The 30-year-old MIDI specification includes a few schematics on how to properly connect MIDI devices together. The most important part of these schematics is an optoisolater on the MIDI in, a valuable addition considering early MIDI keyboards cost thousands of dollars. It seems [Arvydas]‘ MIDI to USB adapter didn’t include this vital component, instead replacing it with a simple resistor. Anything to keep costs down, right?

To get the MIDI adapter working, [Arvydas] headed over to Maplin and bought an optioisolator, With everything wired up on a breadboard, he got it to work and eventually transplanted the circuit to the adapter’s PCB.

It’s a great piece of work to get this MIDI adapter functioning, especially since it’s doubtful the cheap adapter would have worked with any MIDI device.

Veronica 6502 gets keyboard input via USB

PS2

When building a homebrew computer, there are a few milestones that make all the work seem worth it. Of course, seeing the CPU step through address lines on the blinkenlights is near the top, but even more important is being able to type a character on a keyboard and have it show up on a display. [Quinn] didn’t want her Veronica computer to deal with serial terminals or PS/2 keyboards when she typed her first characters in; instead she wanted to read a USB keyboard using 80s-era hardware.

Back in the early days of USB, design specs and keyboard manufacturers included a legacy mode in nearly every USB keyboard ever manufactured. This allows a USB keyboard to work with the ancient PS/2 protocol. [Quinn] tapped into that functionality nearly every PS/2 keyboard has using a 6522 Versatile Interface Adapter. This VIA is in the same family of chips as the venerable 6502 CPU that provides GPIO pins and timers.

[Quinn] connected the keyboard connector tapped for PS/2 input to an ATtiny13. This microcontroller reads the scan codes from the keyboards and sends them to the VIA and the rest of Veronica. It’s quite a bit of work to get to this point, but [Quinn] finally has a computer she can type on, the first step to developing software for her homebrew computer.

A custom Starcraft keyboard

keybaord

What do you do if you’re looking for a project, but don’t know what to do? If you’re [gltovar], just look around at your hobbies. He’s been playing Starcraft for a while and finally decided to build a custom Starcraft keyboard.

[gltovar] came across an interesting keyboard layout known as TheCore. Ostensibly, this layout allows the player faster access to the commands most used when playing Starcraft. [gltovar] decided he needed a keyboard specifically designed for TheCore, and set about making one of his own design.

The keyboard matrix is designed around a 1×5 row of keys, each attached to a Teensy microcontroller acting as a USB device. Each of these rows are a separate circuit board, allowing [gltovar] to move the rows up and down ergonomically in a custom enclosure.

It’s everything [gltovar] wanted in a custom keyboard. Whether it improves his Starcraft game is another story entirely, but we’re sure he’s at least having fun.

[Read more...]