The Tardis Keyboard: More than you wanted to know
- MathematicalJ
- Location: United States
- Main keyboard: Ergodox Moonlander
- Main mouse: Trackpad
- Favorite switch: MX Browns
- Contact:
Hi! I'm new here. I recently acquired a Tardis keyboard, which is actually a power utility operator's keyboard from the early 90's. I thought I'd share with you what I know so far about this device. I'm motivated partly by selfish reasons: I'm hoping one of you can give me some guidance about the electronics to make this keyboard usable on my own computer. Here it is, in three parts:
-
- DT Pro Member: -
Bah! That's from the new Doctor Who. I thought you were going to talk about the only (good) Tardis keyboard from "classic" Doctor Who, the one in Tom Baker's last episode, Logopolis:
(a Honeywell Keytape keyboard from 1970, with Micro Switch magnetic reed switches)
Wow, that keyboard is huge - nearly as big as the Thomson Viditext. (though with more keys)
I skimmed the videos, but didn't see you remove a keycap to see what switch is in your keyboard. Is there a part where you remove a keycap? From what I see, the font looks like Cherry.
(a Honeywell Keytape keyboard from 1970, with Micro Switch magnetic reed switches)
Wow, that keyboard is huge - nearly as big as the Thomson Viditext. (though with more keys)
I skimmed the videos, but didn't see you remove a keycap to see what switch is in your keyboard. Is there a part where you remove a keycap? From what I see, the font looks like Cherry.
-
- Location: Stockholm, Sweden
- DT Pro Member: 0011
Welcome! That's pretty cool. I've done movie prop replica building/collecting for years myself.
The larger keyboard PCB should contain a keyboard matrix, and I would guess that one of the wide ribbon cables contain the rows and the other the columns — but that could of course be completely wrong. I see that there are LEDs on the board, and there must be lines for those as well.
I would think that most of the multiplexers and shift registers on the controller board are there for making the large matrix more manageable for the I/O chip(s) that interfaces directly to the CPU. In other words: they reduce all those data lines down to a handful. There is info on different techniques for doing so on Open Music Labs' Input Matrix Scanning page. (That one is for piano-style keyboards but they function the same way).
As to what protocol it talks: I have absolutely no idea where to begin finding out... I have worked with power line control rooms briefly and know that systems can be very custom-made and that there is a lot of security about them so the specs could very well be kept secret.
If you'd just want it to talk USB to a computer, one method could be to remove pretty much everything on the controller board except those multiplexers. Then instead of the I/O chips, put a modern microcontroller board (like the Teensy++ 2.0) on there, for which there is open source software, and modify that software to work with the board. The multiplexers should work at normal 5V logic levels, well I think the Zilog Z80 CPU does anyway.
The large number of indicator LEDs add to the complexity as well.
The larger keyboard PCB should contain a keyboard matrix, and I would guess that one of the wide ribbon cables contain the rows and the other the columns — but that could of course be completely wrong. I see that there are LEDs on the board, and there must be lines for those as well.
I would think that most of the multiplexers and shift registers on the controller board are there for making the large matrix more manageable for the I/O chip(s) that interfaces directly to the CPU. In other words: they reduce all those data lines down to a handful. There is info on different techniques for doing so on Open Music Labs' Input Matrix Scanning page. (That one is for piano-style keyboards but they function the same way).
As to what protocol it talks: I have absolutely no idea where to begin finding out... I have worked with power line control rooms briefly and know that systems can be very custom-made and that there is a lot of security about them so the specs could very well be kept secret.
If you'd just want it to talk USB to a computer, one method could be to remove pretty much everything on the controller board except those multiplexers. Then instead of the I/O chips, put a modern microcontroller board (like the Teensy++ 2.0) on there, for which there is open source software, and modify that software to work with the board. The multiplexers should work at normal 5V logic levels, well I think the Zilog Z80 CPU does anyway.
The large number of indicator LEDs add to the complexity as well.
Last edited by Findecanor on 15 Aug 2019, 02:27, edited 3 times in total.
-
- Location: Stockholm, Sweden
- DT Pro Member: 0011
In one of the videos, you can see the bottom of the keyboard PCB. They are plate-mounted Cherry MX for sure, and several of those have LEDs.
- MathematicalJ
- Location: United States
- Main keyboard: Ergodox Moonlander
- Main mouse: Trackpad
- Favorite switch: MX Browns
- Contact:
No, but I am familiar with that one. And since you know about the Honeywell Keytape, you probably also know about the various other keyboards that have appeared on the show. But to be honest, I'm more interested in the Olympia SM3 typewriter on the Tardis console. I actually came to this giant keyboard by way of Doctor Who fandom rather than an interest in keyboards.. I have this same username on TardisBuilders.
I haven't removed a keycap, but the switches are PCB mounted. When I get the housing back together I'll post a picture. I'm not especially knowledgeable about keyboard switches and caps.
-
- DT Pro Member: -
Not really. I haven't really seen the new series. I stopped watching in the 80's. That Keytape keyboard was the only keyboard I noticed. (aside from some cheap looking Hazeltine-like keys on the newer Peter Davidson console)MathematicalJ wrote: ↑15 Aug 2019, 04:19And since you know about the Honeywell Keytape, you probably also know about the various other keyboards that have appeared on the show.
I like that typewriter. I never knew it was in the Tardis. I recall a few years ago somebody was selling USB converted Olympia SM3 typewriters and I considered getting one, but then decided it was too silly. I don't know if they're still converting them.MathematicalJ wrote: ↑15 Aug 2019, 04:19But to be honest, I'm more interested in the Olympia SM3 typewriter on the Tardis console.
- MathematicalJ
- Location: United States
- Main keyboard: Ergodox Moonlander
- Main mouse: Trackpad
- Favorite switch: MX Browns
- Contact:
Thanks! Your technical summary is great. That's about as much as I knew going into this—I know more about electronics than I do about keyboards. I know a little bit more about the serial interface considering the RS-232 is such a common protocol, but despite the commodity parts, this isn't a straightforward configuration for a hobbyist like me. That's why I'm here fishing for advice.
Yes, I think this is correct.I would guess that one of the wide ribbon cables contain the rows and the other the columns
I am hoping to avoid going the Arduino route, but that has been plan B since the beginning. Some people are buying these just for the keycaps, which I personally think is a shame. On the other hand, the Arduino route would give me some extra flexibility to customize behavior. I'm concerned about the health of the UV erasable EPROM from 1992.
You're right about the voltage. Almost all of the components run on 5v, including the famous Z80. I'm not sure what the UDN2983A is for, though, so maybe I'm wrong. I don't see any step-up components. My best guess is that UDN2983A is there to isolate the audio circuitry from the rest of the board to limit interference.
- MathematicalJ
- Location: United States
- Main keyboard: Ergodox Moonlander
- Main mouse: Trackpad
- Favorite switch: MX Browns
- Contact:
Maybe you remember the Acorn computers, then. You might enjoy these Prime Computer commercials. The last season with Tom Baker aired the year I was born. The new series has several actual keyboards.
You can buy typewriter USB conversion kits.
- MathematicalJ
- Location: United States
- Main keyboard: Ergodox Moonlander
- Main mouse: Trackpad
- Favorite switch: MX Browns
- Contact:
I do still have the keyboard. I got hung up on rewriting a firmware framework, and then COVID happened. The hardware is all ready to go. That's interesting that your's is branded differently. Here's a repository with most of the information I have on the device: https://github.com/rljacobson/smurd.
Is the computer part of your keyboard different in any way? It looks like the hardware was designed to accommodate different configurations.
Is the computer part of your keyboard different in any way? It looks like the hardware was designed to accommodate different configurations.
- eekee
- Location: UK
- Main keyboard: A slim Logitech; nice action but getting creaky
- Main mouse: SpeedLink SL-630001-BK - lovely feel
- Favorite switch: No rebound; click; other TBA
- DT Pro Member: -
If you don't mind me butting in, I see you've put an Arduino in already, but could you have reprogrammed the Z80 to speak PS/2 and used a PS/2 to USB converter? Or would that be a poor choice anyway?
- MathematicalJ
- Location: United States
- Main keyboard: Ergodox Moonlander
- Main mouse: Trackpad
- Favorite switch: MX Browns
- Contact:
@eekee Good question. It's much more complicated than it looks. The Z80 isn't just driving the keyboard. The keyboard is a custom computer designed to talk to a mainframe. I have reverse engineered most of the hardware, but it'd take more work to write custom firmware and make a custom connector to use it that way. In particular, I haven't yet worked out the hardware address decoding. It sounds like a fun thing to try, though.
Related: I also want to reverse engineer the existing firmware. Ghidra can give me a disassembly and some approximately equivalent C code, but understanding what it is doing without any symbol names is difficult to say the least. Keep in mind that I need to have the hardware address decoding figured out in order to understand the software!
Take a look at my progress (as of Oct 2019) on reversing engineering the PCB: https://github.com/rljacobson/smurd/raw ... Wiring.pdf.
Related: I also want to reverse engineer the existing firmware. Ghidra can give me a disassembly and some approximately equivalent C code, but understanding what it is doing without any symbol names is difficult to say the least. Keep in mind that I need to have the hardware address decoding figured out in order to understand the software!
Take a look at my progress (as of Oct 2019) on reversing engineering the PCB: https://github.com/rljacobson/smurd/raw ... Wiring.pdf.