• Please review our updated Terms and Rules here

AT to XT Keyboard Converter

Hi! Its fine with me. I will continue to offer the existing PCBs until they run out. They seem to work fine for most builders who want to use an AT/PS/2 keyboard with an XT. I think that is the majority of builders IMO.

If it is time for a PCB respin and circuit redesign then OK. It is fairly normal and it seems all of the N8VEM boards go through at least a respin or two during their lifespan. However if we are looking at a major redesign I suggest we should consider a robust incircuit reprogramming ability, reset button, input button, some kind of a (7 segment?) diagnostic LED(s), and/or configuration jumper(s) or DIP switch. It may be better to use a larger PIC or AVR with more pins. I hate to add complexity to this simple board but there are recurring issues which some debug hardware would help resolve, IMO.

That being said I will support whatever plan comes out. Thanks and have a nice day!

Andrew Lynch

PS, how about some really off the wall ideas? Add an 8 bit port with strobe and acknowledge and use it for el cheapo parallel keyboard replacement? On board speaker?
 
I'd suggest the following changes:
1) drop the 5-pin DIN connector on the AT side. I've only ever used the PS2 connector and I think everyone has plenty of those keyboard converter cables.
2) add a row of header pins that tie into the 5pin DIN on the XT side. Then someone could potentially wire up a different type of keyboard (I'm thinking tandy 1000 or PCjr-anything that doesn't use a standardized connector) directly to the lines instead of using the connector.

I wish there were a male version of the keyboard connector that could be mounted on the PCB. Plugging the converter directly into the back of the machine without having to use an intermediate cable would be a cabling space saver.

I like this project a lot. I am looking forward to getting my feet wet in PIC programming sometime this winter perhaps. Expanding it out to include a bigger controller and options for different firmware and hookups really interests me.
 
The issue in my thoughts is keeping the thing inexpensive. We could certainly make one with lots of bells and whistles, including USB keyboard support if there were a demand for it, but I'd like to take some rather modest steps. The ATTiny2313 has more I/O pins (and even a UART) on-board, is in-circuit programmable (requiring an ISP programmer, however). There are uCs that contain bootloader code to enable programming over the USB interface, but have the problem that they're 3.3V devices and SMT. Lots of tradeoffs, but you'd still want to keep the device inexpensive and easily assembled by a novice.

We could increase the area of the PCB to accommodate extra headers for power, programming and parallel or serial interfaces, perhaps even with pads for a MAX232 TTL-to-RS232C level translator for use as a terminal keyboard. (With the serial interface, you wouldn't need LED displays--you could have an interactive debugger if you so desired).

The biggest question is where to draw the line on creeping featuritis and how to keep the cost low.

I could well imagine that the current unit could be redesigned with a 5 pin standard DIN plug on one end and a 6-pin mini-DIN on the other and simply be placed inline between the PS/2 keyboard and the PC with no extra cables. Perhaps even stick it into a short length of PVC pipe as an enclosure.
 
Hi! I was thinking like a 40 pin DIP PIC would be nice. Easy to use and build. Easy to program and plenty of GPIO pins for the keyboard interfaces (4), diagnostic LED (7), reset/input buttons (2), configuration switch (4), etc. 18F4550 can support USB (2) too. Parallel ASCII (10). I am counting 29 GPIO pins so there would be a few spare GPIO for other purposes.

We could go with a high/low mix. Keep the existing design for basic AT to XT keyboard conversion (low) and make a new design for the more general converter which supports AT to XT, XT to AT, Tandy, parallel ASCII, etc (high). Its just an idea but I think for the more specialized keyboard conversion projects the extra debugging hardware would be helpful.

Thanks and have a nice day!

Andrew Lynch
 
Hi! I was out running and it occurred to me this project would be a natural for the Propeller. Use the AT/PS/2 keyboard for input and use a composite video output for all configuration with simple menu driven software. The Propeller has 32 GPIO pins: 2 for SPI EEPROM, 2 for PropPlug, 2 for AT/PS/2 keyboard, 2 for XT keyboard, 10 for parallel ASCII keyboard, 4 for composite video (1 for B/W only). That is 19-22 GPIO pins leaving 10-13 unallocated for USB (2), serial w/MAX3232 (2), etc. The Propeller is a 3.3V device however it is easily interfaced to 5V devices with a 1K resistor.

The Propeller is a very simple circuit requiring only a voltage regulator, Propeller, SPI EEPROM, and several resistors/capacitors. The SPI EEPROM can store nonvolatile configuration information. Best yet, this is basically a slightly modified subset of the existing N8VEM PropIO board so making this device would be trivial.

Thoughts? Ideas? This circuit is so simple I am sure any semi-decent microcontroller could do this with ease.

Thanks and have a nice day!

Andrew Lynch

PS, I'd be willing to wire wrap a prototype if anyone is willing to help out with programming. Spin is super easy.
 
Last edited:
Andrew, this seems to me too much like gilding the lily, no? Heck, we could use a cheap ARM CPU and emulate the XT, completely doing away with the need for actual hardware. (ARM CPUs are getting insanely cheap). :)

Has anyone tried the existing converter with a USB-PS/2 keyboard converter as input? It could be that a USB interface isn't necessary.

Someone will have to program this thing and I'm not up for creating code that might meet the special needs of only one or two people.
 
Hi Chuck! Agreed. I'll be glad to help with the hardware prototype and manufactured PCB but the prospect of writing the software makes me cringe. ARM is fine with me or whatever design. I would prefer PTH DIP/PLCC since I won't be assembling the boards and most builders can build themselves with 0.10" PTH PCBs. Using SMT is possible but it just means more work for the assembler and fewer builders who will do it themselves. IMO that's the big downside for SMT on hobbyist projects; its fine for personal use but for anything that others will build it just causes grief.

Thanks and have a nice day!

Andrew Lynch

PS have you seen the NXP Cortex M0 chips? Nice!
 
Andrew,

I've seen them, but even the M3 chips are cheap, so I wonder if the M0 will be a flash in the pan. They might be a good choice for a keyboard converter or other small application, however. I'm looking forward to the EFM Giant Gecko MCUs--1M flash and 128K SRAM.

The stunning thing is that ARM MCUs are now cheaper than most 8051-type MCUs.

Ah, the march of technology!
 
So am I doing to right steps to program my pics right?

As for a future project, how about a keyboard switcher. Have a single usb input that outputs to several different interfaces. One keyboard for several machines. If you really want to get fancy, have it switch via a keyboard command sequence.
 
So am I doing to right steps to program my pics right?

As for a future project, how about a keyboard switcher. Have a single usb input that outputs to several different interfaces. One keyboard for several machines. If you really want to get fancy, have it switch via a keyboard command sequence.

Isn't that called a KVM switch?
 
No, it's a keyboard switcher because the Video and Mouse arn't included. ;)
 
Hi Chuck! Unfortunately there doesn't seem to be much interest in the expanded keyboard converter project.

What ever comes of it, I am willing to help prototype the hardware and make a manufactured PCB. If it is just me alone, I'll probably go the Propeller route since it is familiar and would be useful. Actually Vince Briel makes a similar item called the PropTerm that some builders are using with their N8VEM systems.

Thanks and have a nice day!

Andrew Lynch
 
Good news everybody. :)

I managed to get it working. It seems the problem was that it wasn't programmed properly to begin with.

I originally programmed it on my windows7 machine and I guess it was corrupted.

I then thought of my toshiba tecra 8000 running windows 2000, pulled it out, yes! serial port! Score. For some reason icprog stopped responding on my 486 system, as in it wouldn't even load the gui. It was, but suddenly wasn't, even after a reboot.

I then programmed it (the pic I thought was toast), successfully. I ran a few verify and read tests to be sure.

Then the test, just with my 8088 (v20 now :) ), mainboard and trident 9000c video card plugged in I turned it on..... num, caps, etc all responded properly with key presses, it still came up kb err. Whaaaa!!!! ....... oh right, the damn keylock. So a jumper on jp4 and..... yes. It passed the kb err and went to floppy detection. A ctrl+alt+del..... yes! restart.

Whoo-hoo.

Now what could I do with the order I did two days ago for 5 more 12f629 chips? I have enough components to make up 5 more boards now. :) Maybe I'll order some more pcb's. Oh yea, what sort of thing should I house this project in?
 
Oh yea, what sort of thing should I house this project in?
One suggestion:

at2xtkyb_in_jiffy.jpg
 
w00t! Good news for the AT2XTKBD all around!

Good to hear your AT2XTKBD is working MV75!

That's a really nice case set up modem7!

I will be glad to support any projects to improve/modify the AT2XTKBD including make a new model if there is interest in it. The project is fairly low on the priority list though as there are many N8VEM ECB and S-100 projects in work at the moment. Still, the AT2XTKBD project seems to be slowly gathering steam. This could get interesting!

Are there any low pin count microcontrollers (AVR, PIC, etc) that can perform the keyboard conversion (4 GPIO pins needed) and also spare a couple of pins for config jumpers (2 GPIO) *and* a B/W composite video display (1 GPIO pin) for configuration? It might be possible to jam all this into a tiny microcontroller with just 8 spare GPIO pins. The video output would only be necessary for configuration and initial set up.

Composite video would use only a single pin, resistor, and composite connector and be cheaper than a dedicated LED display with buttons for input. Serial output would require only 2 pins but then you have to use a terminal or PC. Of course, you could just output serial data and use the AT/PS/2 keyboard for input and then only need a single serial pin for output. You still also need an RS-232 level shifter (MAX232 with capacitors) to use serial and that adds a lot of PCB space and unnecessary expense. I am thinking this really has to be very inexpensive to be useful.

Ideas, thoughts? Thanks and have a nice day!

Andrew Lynch
 
The original prototype is housed in an old IBM Options "Monitor Miser" box. It already has a curly cord and hole for a DIN connector. Fortunately, small plastic cases are easy to come by. One could probably even work out a PCB with the SMT version of the PIC and slip it inside a connector shell.

For a future version, I suggest either AVR ATTiny2313A or ATTiny461A in DIP20. A 14 pin package won't get you where you need to be and the 16-pin PDIP selection is pretty sparse for most uCs. There are similar choices from other vendors (e.g. Microchip). Pricing goes up from the 8-pin packages to $2-3, however--if that's a consideration.
 
The PIC16F628A costs about $2 in quantities of 1 and provides 16 GPIO pins (if you're willing to use HV programming only, internal oscillator, and no /RESET line) in an 18-pin package. The SOIC version isn't hard to solder by hand -- I've made several home-etched boards using the SMT PIC16F84 and an old Rat Shack 15 Watt iron.
 
Back
Top