Monday, April 6, 2009

How to convert your Symbolics keyboard to USB

I spent another hour finishing up the Teensy based Symbolics keyboard converter. The software now works as well as the PS/2 version, and uses the same keyboard translation table generation tool. Converting a keyboard should now be doable for anyone who has basic soldering skills.
What you'll need:
  • Teensy (The photos show a build with the obsolete Teensy 1.0)
  • USB cable (B type)
  • 6-pin .1'' header
  • Some wire
First, you need to program the Teensy with the Firmware .hex file. Please note that this .HEX file is now for the Teensy 2.0 board, which also looks slightly different than the Teensy 1.0 board shown on the photos. Don't worry about customizing the firmware right now. If you decide that you want it to work differently than my version, you can update it later.
Get five pieces of wire, about 5 inches long. Solder them to the 6 pin header, leaving pin 2 unconnected. Connect the other ends to the Teensy.
pin # color teensy pad function
1 blue GND
2 (not connected)
3 green 5V
4 red D4 DIN
5 black D5 CLK
6 white D6< CLR

Yes, 5V and GND were swapped in my original post, sorry and thanks to Gene Diveglia for reporting
When building with a Teensy 2.0, connect the D4, D5, and D6 pins as printed on the Teensy PCB.

Open the Symbolics keyboard by removing the five screws at the bottom. Carefully remove the small PCB that sits on the larger one, unplug the spiral cable.  Using a tool like a large screwdriver, remove the strain relief by pushing it to the outside of the case. Remove the cable, take off the strain relief. Using a pliers, cut out some of the plastic so that the part can be used for the round USB cable.
Using a sharp knife, make the B type connector of the USB cable as small as possible.

Put the strain relief onto the USB cable, about 4 inches away from the scaled down B connector. Using a tool, firmly put it back into the keyboard case. Fixate the cable to the bottom shell of the case like shown. Connect the Teensy to the USB cable, plug the header into the keyboard PCB.
Put some protective plastic around the Teensy so that it does not short circuit anything on the keyboard PCB.
Finally, reassemble the keyboard. It should be easy to put the daughter PCB back onto the main PCB and fit the two shells together. You're done.
Make sure that you've read the README.txt file for the converter firmware. Note that if you want to convert your old-style keyboard, you need to know that the internal color coding of the cables is different with those keyboards. This blog post has a table with the information that you need. Have fun!
Share:

11 comments:

  1. Danke für die Anleitung, hat soweit geklappt :) Da noch soviel freier Platz auf dem MC vorhanden ist überlege ich mir noch, was man da noch so draufpacken könnte. Vielleicht ein Programm, das Statistik führt über die gedrückten Tasten?

    ReplyDelete
  2. Vielleicht programmierbare Tastaturmakros?

    ReplyDelete
  3. Do you have any idea how the old-style keyboards would be interfaced? i have one, and it has the same colour cables, plus a yellow one. is that the one you have on pin 2, which is not connected?
    thanks! peter

    ReplyDelete
  4. Yes, the yellow cable can be left unconnected. You should be able to use the adapter and software right away. I did the original reverse engineering with an old-style keyboard and then converted it to work with the new-style with the help of several people. Let me know if you have any issues.

    ReplyDelete
  5. ok, i'll solder it together tomorrow. i'm using a teensy 2.0 (atmega32), i compiled your code successfully by replacing usb_keyboard.{c,h} with the updated versions from the blinky example. i'll report tomorrow on how it works :) thanks for the swift answer!

    ReplyDelete
  6. works very well, follow the table on http://netzhansa.blogspot.com/2010/06/how-to-convert-your-old-style-symbolics.html for soldering

    ReplyDelete
  7. Is there any reason not to connect directly to the DIN port on the back of a space cadet keyboard when interfacing with a teensy?

    ReplyDelete
  8. The reason why I wanted the adapter electronics to be internal in the keyboard is that I then would not have to worry about casing.

    ReplyDelete
  9. Using a Teensy 2.0 I implemented the adapter electronics for the RJ12 to USB conversion and put everything into a small box in order to keep the keyboard unchanged. Occasionally, however, while using a space cadet keyboard, I notice ghost characters appearing in the terminal application I am using to enter text. Is there a way to avoid this?
    Thank you,
    Jean

    ReplyDelete
  10. Using a Teensy 2.0 I implemented the adapter electronics for the RJ12 to USB conversion and put everything into a small box in order to keep the keyboard unchanged. Occasionally, however, while using a space cadet keyboard, I notice ghost characters appearing in the terminal application I am using to enter text. Is there a way to avoid this?

    ReplyDelete
  11. @jean I have not had this problem. It could be caused by power supply or cable length issues, or by interference. Sorry, I don't have a solution.

    ReplyDelete