Sunday, April 5, 2009

Reimplementing the Symbolics Keyboard Adapter with Teensy

In a recent post on the AVR Freaks blog, Teensy, a new AVR based development board was announced. At $19, it is rather cheap and it comes with an on-chip USB controller. The neat thing about this is that applications are not restricted to some sort of serial emulation protocol, as Arduino-like boards with a separate, FTDI chip base USB controller, are. Instead, Teensy has a full USB 2.0 controller available to the application, and it comes with libraries that makes implementing custom USB keyboard controllers that require no special drivers very easy.
I was a little unsatisfied with the state of the kbdbabel based Symbolics keyboard adapter. The adapter works so far, but there are still some caps lock related bugs and I don't know 8051 assembler. Thus, I decided to give Teensy a first spin by implementing the protocol adapter in C, utilizing the Teensy HID USB keyboard library. As I did the protocol analysis for the Symbolics keyboard years ago, implementing that part was easy enough. I did make some mistakes with respect to accessing program memory on the AVR which took me several hours to sort out, but in the end, I now have a neat little program that runs on a Teensy and that requires no external circuitry to convert a Symbolics keyboard to a USB keyboard. Just solder on a few wires, flash the Teensy, replace the RJ11 cable by an USB cable and off you go.
I'll still support the kbdbabel based Symbolics adapter, but for users who want to hook up a Symbolics keyboard to a modern, USB equipped system, I now recommend getting a Teensy. I'm willing to do the conversion for those who don't have soldering skills, but the shipping will not be cheap. If you want the Teensy firmware, see my github repository.
Next on my list: Make Teensy talk MIDI. If you've done it already, please share what you know.


  1. Cool.

    Do you often/always use Symbolics keyboard in daily life (with contemporary OSes and applications)?

    Is it convenient? May all the features/power of the keyboard be utilized with contemporary applications, or it doesn't fit as good as it was for original Symbolics machines (because todays applications expect other keys to be easy accessed, e.g. F1, F2, F7, etc.)?

    Where did you get the keyboard? Is it "antiquary" or it's a contemporary copy/clone?

    Is it expensive to have one?

  2. I have not converted myself to use the Symbolics keyboard daily. I got myself one in order to be able to operate the Symbolics virtual Lisp machine, which is painful to do without properly labeled keys.

    The keyboard I have is an original, new style (slim) Symbolics keyboard. I bought it for $125 from David Schmidt who still runs Symbolics maintenance contract and has limited supplies in spare parts.

  3. This is the most awesome thing I've seen in weeks. I'm buying one of those controllers to play with. :-)