A year or so ago, a retro systems enthusiast requested a hardware interface that would allow PS/2 keyboards to be utilized on older machines expecting RS232 or ASCII Parallel output. I quickly mashed some existing PS/2 libraries with a keyscan to ASCII function and delivered the first version of PS2Encoder.
Even though there were issues with the PS/2 libraries, I quickly moved onto other project work. Recently, I found myself thinking about the design and where I left off. Since the original design and development were completed, I rewrote the PS/2 library to be more compact and address the issues exhibited by this project. Thus, I decided to set about updating this project to include the new libraries and also create a small universal PCB design for the project.
Due to a common heritage of the PS/2 library, migrating to the new code did not take long. As expected, operation of the new routines addressed the longstanding issues. I also took some time to add a bit more functionality to the design.
- Unit outputs ASCII via 8-bit parallel port and RS232
- Parallel output support configurable active high or active low strobe
- Output supports variable intercharacter delay (0-2.5s in 10mS increments)
- RS232 BPS rate can be set from 110-57600 bps
- BS sends either BS or DEL
- CR sends CR or CRLF
- Crystal is optional
- CAPSLock operation works, and LEDs are supported
- Configuration can be performed from the keyboard. When CONFIG jumper is installed, Ctrl/Alt/BS places the unit into configuration mode, where keypresses set various options.
- Configuration mode also allows starting “debug”, where actual keyscan values are sent to the RS232 and parallel ports.
Of course, PS/2 is a dying interface, and thus utility is limited. Thus, if I can find a low-cost uC offering that supports USB OTG (On the Go), I will update the design again with a USB KB option.
Finally, I created a universal PCB layout that includes the following features:
- Supports 24 pin .6″ IC socket connection as well as 2×12 header connection.
- Crystal footprint included on PCB
- PS/2 connector footprint included on PCB
- Through hole design makes DIY construction easy.