IR PC keyboards: IBM and Quadram

MMcM

28 Jun 2021, 06:17

For a short period in the early-80's, some home PCs had infrared wireless keyboards, to try to make them more flexible in non-office setups, I guess.

The best known of these is the notorious IBM PCjr, with keyboards made by Advanced Input Devices, first with chiclet keys and then with more normal, slightly less worse, stepped keys. Inside, these AID boards were pretty much the same, with conductive rubber domes making contact onto the PCB.
IBM-PCjr-top.jpg
IBM-PCjr-top.jpg (1.31 MiB) Viewed 317 times
IBM-PCjr-bottom.jpg
IBM-PCjr-bottom.jpg (1.13 MiB) Viewed 317 times
The real key version is also a little interesting in that, in lieu of stabilizers, the space bar and big-ass Enter key are cantilevered. This seems to have also been done on some other AID keyboards, such as this one.

Another wireless keyboard was for the DataVue 25 from Quadram.
DataVue-25-case.jpg
DataVue-25-case.jpg (384.59 KiB) Viewed 317 times
I found one of these to see what could be done by way of an IR converter.

The layout is a bit crowded. But it has Omron switches, so it isn't impossible to type on.
DataVue-25-top.jpg
DataVue-25-top.jpg (1.87 MiB) Viewed 317 times
DataVue-25-bottom.jpg
DataVue-25-bottom.jpg (1.24 MiB) Viewed 317 times
Like the PCjr, it is powered by 4 AA batteries. There is a provision for a wired connection by a DIN-3 connector, but it is not capable of supplying power. And to start I am concentrating on the wireless protocol. Unlike the PCjr, which just ate the cost of keeping the keyboard in standby mode all the time, the DataVue has a mercury(!) reed switch, angled in such a way that it is on most of the time, until the keyboard is locked vertically into the case. That's it in the lower-right of the photo.

I started by connecting the scope to the NPN transistor that drives the IR LEDs and hitting some keys.
DataVue-IR-A.png
DataVue-IR-A.png (19.73 KiB) Viewed 317 times
DataVue-IR-A-up.png
DataVue-IR-A-up.png (19.23 KiB) Viewed 317 times
DataVue-IR-B.png
DataVue-IR-B.png (20.14 KiB) Viewed 317 times
The on pulses are always the same width and there seem to be three widths for the off interval, suggesting maybe some kind of Manchester encoding. Which is interesting, of course, because that's the encoding used by the PCjr.

Looking more closely at the pulses, they are 40kHz square waves.
DataVue-IR-pulse.png
DataVue-IR-pulse.png (24.97 KiB) Viewed 317 times
The on period is three (or two and a half, if you prefer) cycles.

Again, this sure looks like the same protocol as the PCjr, as seen in the Technical Reference. So I decided to get one of those for cheap (no one wants them because they are awful) to be able to compare.

How to detect the IR signal? Most IR receivers today use a single-component digital receiver, which consists of an amplifier and band-pass filter. The most common of these are 38kHz, but Vishay also makes them in 40kHz. Also, the common ones are designed for medium-length pulses. There is a short-pulse version, but it still takes 6 cycles to stabilize. So, that's not going to work.

The circuit in the original Infra-Red Receiver Board has an NEC IR pre-amp and a one-shot. Those pre-amp chips can be found on eBay, but the receiver also needs a bunch of passives like an inductor.

So I built something simpler with what was lying around, using an op-amp as a voltage comparator and including a trim-pot to somewhat adjust the sensitivity.
DataVue-IR-converter.jpg
DataVue-IR-converter.jpg (477.55 KiB) Viewed 317 times
It won't be very good in an environment with much light noise. Specifically, it seems to be okay for around 6 inches when the room isn't too sunny. Honestly, I'm not sure the original was much more reliable than that.

Here is the voltage drop over the photodiode and the resulting compared signal.
DataVue-IR-A-recv.png
DataVue-IR-A-recv.png (22.28 KiB) Viewed 317 times
In the meantime, the PCjr keyboard showed up here, and, yes, it's more or less identical, except maybe for a lack of a "warm-up" pulse before the key press.
IBM-PCjr-IR-A-recv.png
IBM-PCjr-IR-A-recv.png (23.13 KiB) Viewed 317 times
So, assuming that it really would be the same, I whipped up a sigrok decoder based on that specification.
DataVue-IR-A-logic.png
DataVue-IR-A-logic.png (36 KiB) Viewed 317 times
It's not all that surprising that the scan codes are the same, since they are just the XT ones.

But how is the lower level encoding the same? Did it originate with IBM, or AID, or Quadram, or some earlier system? Was it licensed or just "borrowed?"
Last edited by MMcM on 28 Jun 2021, 06:29, edited 1 time in total.

User avatar
raoulduke-esq

28 Jun 2021, 06:24

Fantastic work! I’m looking forward to the day I can torture myself by using a PCjr board with a modern computer. This is really exciting! Being able to use every board in the collection is a goal.

John Doe

28 Jun 2021, 10:14

Glad realising I lost the auction to whom and this beauty went to a more propriate guy.

Excellent adapting job like always.

ps: Probably it's time to get analyser, adapting with parsing protocol looks so funny. :D

MMcM

05 Jul 2021, 05:17

For comparison, here is the wired protocol from a PCjr's RJ port. The encoding is the same, with 0 and 1 half-bits being distinguished straightforwardly as low and high (rather than 1 containing an IR pulse).
PCjr-RJ-A-logic.png
PCjr-RJ-A-logic.png (37.92 KiB) Viewed 154 times
The same converter firmware can handle both encodings with separate GPIOs. And both keyboards, although it's probably best to pick the right layout so as not to lose Alt when there are real keys with `~\|.

It's hard to overstate how horrible the chiclet keyboard is to type on.

Post Reply

Return to “Workshop”