Hi-Tek high profile terminal keyboard with a few quirks

MMcM

23 Dec 2019, 03:52

A quick weekend project is an unknown keyboard with Hi-Tek flat-top switch modules.
ebay-0.jpg
ebay-0.jpg (211.91 KiB) Viewed 169 times
This is rather similar to one that JP! has, with some notable differences:
  • No branding.
  • No LEDs.
  • More function keys.
  • SET UP key at the bottom.
  • Modular connector.


I imagine these are from the same line of OEM boards at different times. So I have no reason to suppose the equipment it was for is in any way related.

The anodizing coating is worn down where users have rested their wrists. Even though it has a numpad, the main module number keys all had nicotine stains that required a little extra scrubbing.

The main case is a single piece of aluminum. The end caps are molded fiberglass.

The right cap reveals a speaker and a big chassis grounding strap from the PCB. Feel free to wear polyester to the office.
right-end.jpg
right-end.jpg (1.6 MiB) Viewed 169 times
The left has a phono jack attached with blue wire-wrap wire. I certainly didn't guess what it's for correctly.
left-end.jpg
left-end.jpg (1.02 MiB) Viewed 169 times
There is no branding on the PCB, either.
pcb-front.jpg
pcb-front.jpg (1.7 MiB) Viewed 169 times
pcb-back.jpg
pcb-back.jpg (1.97 MiB) Viewed 169 times
The Hi-Tek identification is, as usual, under the spacebar.
brand.jpg
brand.jpg (1.61 MiB) Viewed 169 times
model.jpg
model.jpg (1.14 MiB) Viewed 169 times
Fortunately, only one corner is cracked: the lower-left of the lower-left SET UP key. It's still not all that great to type on.

Highlights of the circuit:
  • Power from the modular jack goes to an LM340T-5.
  • The speaker is connected to a simple power amp and has a volume pot that lines up with another hole in the left end cap.
  • Output to the modular jack is from the right-most output of a octal flip-flop chained up with a buffer as a shift register.
  • The switch matrix rows come from the buffer and columns go to inverters, which also act as buffers.
  • The controller is an 8748, which is actually a lot of processor for a keyboard.
Left to right: volume potentiometer, clock crystal, inverters, 8748, buffer, pull-ups, flip-flop, speaker, power amp, voltage regulator, more pull-ups, modular jack.

Now it turns out the phono jack is wired to the CTRL key. I actually don't have any idea why an external CTRL key would be useful.

Almost all of the components have date stamps from 1983, so I am guessing it's about that old. There are also two dates on a small sticker, but without year.

The firmware was evidently rev C of 1780 KBD. There is a paper label with K17800000628421 6H1K. So, either this keyboard is part 1780 or it's the keyboard for a 1780, whatever that was.

It would be straightforward to rewire this to take 5V in directly from USB, bypassing the voltage regulator. But after replacing the input capacitor, which looked a little wonky, I decided to just keep it as is and will be powering with a 12V wall wart.
input-cap.jpg
input-cap.jpg (1.32 MiB) Viewed 169 times
teensy.jpg
teensy.jpg (591.11 KiB) Viewed 169 times
The keyboard evidently outputs some kind of serial encoding, since there is only one line.

Power it up and this is what it outputs.
output-1.png
output-1.png (15.51 KiB) Viewed 169 times
Banging on the keys doesn't make any difference.

Connecting a logic analyzer to the RD/ and WR/ pins of the 8748 shows stuff being loaded into the shift register, but the key matrix is never being scanned.

There are no LEDs, so there is no control for that. But there is a speaker and the fourth connection doesn't just go straight to its amplifier. So what's missing must be an input initialization command.

If the roughly 60Hz pulses shown above were TTL serial, they would be a stream of FF's at 600-odd baud.

Just initializing the input line from the Teensy's TXD pin, that is holding it high, isn't enough. So, try the simplest thing possible, send a 00 byte. Yep, that is enough to get things going. The RD/ line starts going low and key presses cause serial output.

No doubt there are a variety of commands for various clicks and beeps, but I haven't worked them out yet. I did find that sometimes, but not always, initialization plays a chirp that annoys the dog. My guess is that is when it sees a speaker command after init, but usually it just starts scanning based on one of the edges of the first stop bit.

Key presses are sent as key codes and not ASCII, which is good.

There are no key up codes, which is bad.

The shifting keys, CTRL, CAPS, and SHIFT, are not sent right away. Instead, after the shift chord changes, the next non-shift key will be prefixed by a byte with the high-bit set indicating an update to the shift mask.

This is enough for a more or less functional QMK converter, which can be found here.

If anyone recognizes it or knows anything more about what this keyboard was for, I'd certainly love to hear.

Post Reply

Return to “Workshop”