this post was submitted on 12 Jun 2023
2 points (100.0% liked)

Mechanical Keyboards

549 readers
3 users here now

A friendly community of keyboard enthusiasts. Share pictures of your daily drivers, your latest builds, and your crazy prototypes! Feel free to ask troubleshooting questions or make a post asking for recommendations :)

founded 1 year ago
 

This is my Nixdorf 8850 keyboard which came out in the mid 1970s (although I think mine is a later 80s version). It dates from an era where computer design was still the wild west. There were no standard or correct ways to do anything so every manufacturer made it up as they went along. This keyboard is an excellent example of siloed design. Absolutely every aspect of it is complete bonkers and over-engineered to the extreme.

It was in quite good condition aside from the grime. I gave it a thorough inside and out cleaning along with a light sous-vide retro-bright just to take the edge off of the yellowing.

It features the real OG Nixie switch, none of that Cherry stuff. The switch sensing is done via inductive coupling. Each stem contains a magnet which changes the saturation of a ferrite core with the position of the key. The matrix scanning is done in analog using what's effectively an old school FPGA. The matrix driver requires about 20W of power and around 24V input. After a bit of use, some chips will get up to about 40C.

I spent quite a bit of time trying to convert the protocol to USB. Best I can tell there needs to be some sort of serial handshake to initialize the protocol. Eventually I turned my attention to the internal card edge connector on the board. I'm not sure what its original use was, probably factory testing. The important thing is that it sat on a parallel bus which the two main chips used to communicate. After a bit of sniffing I was able to decipher it:

  • 10 data lines total
  • 8 bits are a parallel address for each key
  • 1 bit is the press state of the key at that address
  • 1 line is a rising edge clock signal
  • Board is NKRO
  • Matrix data whizzes by at about 16kHz

I whipped up some QMK code which utilized raw port IO to read the bus in real time. The keyboard works perfectly over USB. It is completely reversible should this board ever be used with an 8850 terminal in the future (if any exist).

https://raw.githubusercontent.com/jsheradin/kb_adventures/master/Nixdorf%208850/IMG_20220512_180917.jpg

https://raw.githubusercontent.com/jsheradin/kb_adventures/master/Nixdorf%208850/IMG_20220512_195208.jpg

https://raw.githubusercontent.com/jsheradin/kb_adventures/master/Nixdorf%208850/IMG_20220512_200151.jpg

https://raw.githubusercontent.com/jsheradin/kb_adventures/master/Nixdorf%208850/IMG_20220512_204612.jpg

https://raw.githubusercontent.com/jsheradin/kb_adventures/master/Nixdorf%208850/IMG_20220516_230352.jpg

https://raw.githubusercontent.com/jsheradin/kb_adventures/master/Nixdorf%208850/IMG_20220930_224716.jpg

https://raw.githubusercontent.com/jsheradin/kb_adventures/master/Nixdorf%208850/IMG_20220930_224908.jpg

no comments (yet)
sorted by: hot top controversial new old
there doesn't seem to be anything here