This is the first in a series of Instructables that document the process of converting a vintage computer (in this case, a TI-99/4A) into a RaspberryPi workstation. You should know that the only thing we're preserving about the old computer is its physical form. We will not be using any original hardware or software, with the exception of the awesome keyboard. 

Part 1 will show you how to convert the TI's passive keyboard matrix to a USB keyboard. We will be re-installing it into the TI-99 body, but once it's been programmed, it can be used for anything.

NOTE: this process can be used to convert any push-button matrix into a USB keyboard input device.

Thanks and Salutes:
Ido Gendel for his advice on how the code should be structured.
Sean McIntyre for his help with debugging the code.

Code for the Teensy can be found here: https://github.com/matthewepler/raspTI_keyboard

Teensy++ 2.0 microcontroller
Micro USB cable
Bread board and standard gauge wire
30x female headers
55x male headers
ribbon cable (regular wire will do but this will make your project less of a wire nest. you need at least 7 wires in the ribbon)
10x 10K resistors
Wire cutters and stripper
Solder and Iron
4x small zip ties
TI-99/4A or any vintage computer keyboard with wired output similar to the one shown here.

If you have questions, feel free to contact me via the address on my site: http://mepler.com

Step 1: Break Open the TI

The screws aren't hidden. Just unscrew the ones on the case to get inside. Then liberate the logic and power boards by unscrewing them from the plastic base. 

Carefully unhook the keyboard as shown in the picture. Your connector cable may not be exactly like mine, but it will work the same. 

Save all the pieces and screws!!!

[image coming]
why the teensy 2++ in particular? <br>Do you NEED the extra eeprom programming space to make this work? <br>or is that simply what you had on hand? <br>I ask because that is the MOST expensive version of that board, and the <br>extra eeprom space is the only reason I can fathom for requiring that version for this project. <br> <br>Since you're using rows and columns, all 3 teensy versions have plenty of I/O pins. <br>At first, I thought you might have gone with the 2++ and simply wired every key to it's own IO pin... but that's 48 mapped keys, and the 2++ only has 46 i/o pins. <br>
Great point! You are correct - it's what I had on hand. I do plan on making the Teensy accessible in the final mod design and it may be of some use then. <br> <br>For folks like me who aren't sure, what would you suggest as a better alternative? <br> <br>Thanks!
<p>Hello! Thanks for the awesome how to! I am doing the same thing but with an Arduino Leonardo. I have corrected the pins and all is working but I am having an issue with the Bounce Lib and was hoping you had ran into this issue before and had a solution... When a key is pressed like &quot;p&quot; i get that key repeated about 50 times or so. I have updated the code to use Bounce2 but have also tried with Bounce1 with the same result. Any help would be great! Thanks again!</p>
Thanks Greg! The writers at Make said they had some issues with my build due to the version of Teensy (there is a newer version). Perhaps that would help? If not, feel free to email me and I'll take a look. http://makezine.com/2014/08/07/the-ti-pi-a-raspberry-pi-powered-ti-994a/
<p>Just wanted to thank you for your inspiration and great code. We decided to take it a step further and made sure to give you a shout-out. Hope you enjoy! :-) http://makezine.com/2014/08/07/the-ti-pi-a-raspberry-pi-powered-ti-994a/</p>
I saw your hack and was super excited about it. Thanks for the shout out. I am looking forward to seeing how it works on the new Teensy. I had problems with debouncing when it was hooked up to a Linux machine. Hopefully that will be helped with the new hardware. Keep it up!
Hello, <br> <br>I bought a Teensy 2.0 ++ and wired up my 1989 Toshiba T3200SX Laptop keyboard to the breadboard just like you showed. But I am having one heck of a time trying to figure out some of the coding stuff. Can you please give me a copy of the code you used for yours so I can use it as a template. I would reallt appreciate it. I'm building an awesome desktop PC inside of an old fasion laptop and the keyboard it the last part. <br> <br>If you can't post it here, can you please email it to me. It would help so much. <br>casey.b.bassett@gmail.com <br> <br>THANK YOIU!
Absolutely! Code is here: https://github.com/matthewepler/raspTI_keyboard/blob/master/raspTI_keyboard.ino<br><br>As a note, I got this to work fine on my Mac but when I plugged it into a Linux machine, it repeated keys endlessly and was not usable. Not sure why.

About This Instructable




Bio: Blogging at: http://reddesert.tumblr.com/
More by mepler:Kinograph v0.1 - DIY Film Scanner/Telecine - Machine Assembly RaspTI: Convert a Vintage Computer (TI-99/4A) into a RaspPi Workstation - Part 1 - Keyboard Make Silicone Molds for your 3D printed object 
Add instructable to: