C64 Keyboard Emulation Over Serial

There’s a lot of reasons you might want to emulate the keyboard on your Commodore 64. The ravages of time and dust may have put the original keyboard out of order, or perhaps you need to type in a long program and don’t fancy pecking away with the less-than-stellar feedback of the standard keys. [podstawek] has come up with the solution: a Commodore 64 keyboard emulator that works over serial.

It’s a simple concept, but one that works well. A Python script accepts incoming keypresses or pre-typed text, then converts them into a 6-bit binary code, which is sent to an Arduino over the serial connection. The Arduino uses the 6-bit code as addresses for an MT8808 crosspoint switch.

MT8808 Functional Diagram from Datasheet

The MT8808 is essentially an 8×8 matrix of controllable switches, which acts as the perfect tool to interface with the C64’s 8×8 keyboard matrix. Hardware wise, this behaves as if someone were actually pressing the keys on the real keyboard. It’s just replacing the original key switches with an electronic version controlled by the Arduino.

[podstawek] already has the setup working on Mac, and it should work on Linux and Windows too. There’s a little more to do yet – modifying the script to allow complex macros and to enable keys to be held – so check out the Github if you want to poke around in the source. Overall it’s a tidy, useful hack to replace the stock keyboard.

The C64 remains a popular platform for hacking — it’s even had a Twitter client since 2009.

Adding MIDI Out to the Casio PX410R

Since the 1980s, MIDI has been a great way to send data between electronic musical instruments. Beginning as a modified serial interface running through optoisolaters and DIN sockets, these days, your hardware is more likely to carry its MIDI data over USB instead. This is great if you want to hook up to a computer without a cumbersome interface, but not so great when you want to connect a bunch of instruments to each other.

The Roland Integra 7 is a rack mount synthesizer with classic MIDI ports. [adriangin] wanted to control the synthesizer over MIDI, but their Casio keyboard only had MIDI over USB available. To get around this, [adriangin] set out to add a standard MIDI Out port to the Casio PX410R.

Continue reading “Adding MIDI Out to the Casio PX410R”

Do You Miss The Sound Of Your Model M?

There is one aspect of desktop computing in which there has been surprisingly little progress over the years. The keyboard you type on today will not be significantly different to the one in front of your predecessor from the 1970s. It may weigh less, its controller may be less power-hungry, and its interface will be different, but the typing experience is substantially identical. Or at least, in theory it will be identical. In fact it might be worse than the older peripheral, because its switches are likely to be more cheaply made.

The famous buckled springs in operation. Shaddim [CC BY-SA 3.0], via Wikimedia Commons.
The famous buckled spring in operation. Shaddim [CC BY-SA 3.0], via Wikimedia Commons.
Thus among keyboard aficionados the prized possessions are not necessarily the latest and greatest, but can often be the input devices of yesteryear. And one of the more famous of these old keyboards is the IBM Model M, a 1984 introduction from the computer behemoth that remains in production to this day. Its famous buckled-spring switches have a very positive action and a unique sound that once heard can never be forgotten.
Continue reading “Do You Miss The Sound Of Your Model M?”

Bringing USB Devices To The Apple Desktop Bus

During the development of the greatest member of the Apple II family, the Apple IIgs, someone suggested to [Woz] that a sort of universal serial bus was needed for keyboards, mice, trackballs, and other desktop peripherals. [Woz] disappeared for a time and came back with something wonderful: a protocol that could be daisy-chained from keyboard to a graphics tablet to a mouse. This protocol was easily implemented on a cheap microcontroller, provided 500mA to the entire bus, and was used for everything from license dongles to modems.

The Apple Desktop Bus, or ADB, was a decade ahead of its time, and was a mainstay of the Mac platform until Apple had the courage to kill it off with the iMac. At that time, an industry popped up overnight for ADB to USB converters. Even today, there’s a few mechanical keyboard aficionados installing Teensies in their favorite input devices to give them a USB port.

While plugging an old Apple keyboard into a modern computer is a noble pursuit — this post was written on an Apple M0116 keyboard with salmon Alps switches — sometimes you want to go the other way. Wouldn’t it be cool to use a modern USB mouse and keyboard with an old Mac? That’s what [anthon] thought, so he developed the ADB Busboy.

Continue reading “Bringing USB Devices To The Apple Desktop Bus”

DIY KVM Switch Lets You Use One Keyboard and Mouse With Multiple Computers

Here’s a quick DIY hack if you happen to have multiple computers at home or at the office and are tired of juggling mice and keyboards. [Kedar Nimbalkar] — striving for a solution — put together a keyboard, video and mouse switcher that allows one set to control two computers.

A DPDT switch is connected to a female USB port, and two male USB cables — with the ground and 5V wires twisted together and connected to the switch — each running to a PC. [Nimbalkar] suggests ensuring that the data lines are correctly wired, and testing that the 5V and ground are connected properly. He then covered the connections with some hot glue to make it a little more robust since it’s about to see a lot of use.

Now all that’s needed is a quick press of the button to change which PC you are working on, streamlining what can be a tedious changeover — especially useful if you have a custom keyboard you want to use all the time.

Continue reading “DIY KVM Switch Lets You Use One Keyboard and Mouse With Multiple Computers”

Custom Keyboard Makes the Case for Concrete

One of the worst things about your average modern keyboards is that they have a tendency to slide around on the desk. And why wouldn’t they? They’re just membrane keyboards encased in cheap, thin plastic. Good for portability, bad for actually typing once you get wherever you’re going.

When [ipee9932cd] last built a keyboard, finding the right case was crucial. And it never happened. [ipee9932cd] did what any of us would do and made a custom case out of the heaviest, most widely available casting material: concrete.

To start, [ipee9932cd] made a form out of melamine and poured 12 pounds of concrete over a foam rectangle that represents the keyboard. The edges of the form were caulked so that the case edges would come out round. Here’s the super clever part: adding a couple of LEGO blocks to make space for the USB cable and reset switch. After the concrete cured, it was sanded up to 20,000 grit and sealed to keep out sweat and Mountain Dew Code Red. We can’t imagine that it’s very comfortable to use, but it does look to be cool on the wrists. Check out the gallery after the break.

Concrete is quite the versatile building material. We’ve seen many applications for it from the turntable to the coffee table to the lathe.

Continue reading “Custom Keyboard Makes the Case for Concrete”

Convert Any USB Keyboard to Bluetooth

[DastardlyLabs] saw a video about converting a PS/2 keyboard to Bluetooth and realized he didn’t have any PS/2 keyboards anymore. So he pulled the same trick with a USB keyboard. Along the way, he made three videos explaining how it all works.

The project uses a stock DuinoFun USB mini host shield with a modification to allow it to work on 5V. An Arduino mini pro provides the brains. A FT-232 USB to serial board is used to program the Arduino. A standard Bluetooth module has to have HID firmware installed. [Dastardly] makes a homemade daughterboard–er, shield–to connect it to the Arduino.

The result is a nice little sandwich with a USB plug, a Bluetooth antenna, and some pins for reprogramming if necessary. Resist the urge to solder the Bluetooth board in–since it talks on the same port as the Arduino uses for programming, you’ll have to remove it before uploading new code.

If you need help reprogramming the HC-05 Bluetooth module, we’ve covered that before. This project drew inspiration from [Evan’s] similar project for PS/2 keyboards.

Continue reading “Convert Any USB Keyboard to Bluetooth”