Anyone remember the TI-99/4A? We do. Well not anecdotally, but out of our fondness for retro computing.

The TI-99/4A was one of the first home computers (in fact its immediate predecessor, the TI-99/4 was the first 16-bit personal computer), released in 1981. In the style of its later (but more popular) cousin, the Commodore 64, it was self-contained in a single console along with a built-in keyboard. What made the TI-99/4 series extra special was its peripheral expansion system, a collection of different modules that could be stacked to expand the system’s capabilities. As you can see, this could get out of hand pretty quickly…



The TI99/4 with expansion modules.

We decided to resurrect one of these bad boys and make a retro-inspired emulation machine — Raspberry Pi style. To run the system, we used the RetroPie Project. This Raspbian-based distro is a fairly comprehensive emulator environment. It’s relatively easy to setup and quite robust.

One of the main things we wanted to do in this build was to retain the utility of the original built-in keyboard. We used Matthew Epler’s method of doing this. He used a Teensy++ 2.0 microcontroller and wrote some great code for that. We wanted to save a few bucks, so we used the standard Teensy 2.0 and modified his code a little to match the pin outs.

We wanted something more permanent, so we took the breadboarding into Fritzing, an amazing piece of software which made the PCB design so much easier.

When it came to PCB etching, we decided to follow the steps laid out by MAKE’s very own Collin Cunningham. Once we got over our own “duh” moments, it turned out to be a great success!

The rest of the build was pretty straightforward — a lesson in organizing cables and using a hot glue gun without self-injury. However, we decided to step up the game just a bit and use an original speech synthesizer module as a housing for our SD card slot (an extension from the SD slot on the Pi so that it would be possible to easily switch out the distro without having to open up the case).

Take a look at our video below to see these steps in action along with the rest of our build!



Shannon Woodruff

Shannon Woodruff

Shannon is a chemist by training, who loves to make things in his free time. In 2014, he and his friend, Brian J. Gardner, formed The Circuit Surfers, in order to showcase projects that they have attempted in order to enhance their technical skills and to have a little fun. They are based in Dallas, TX and you can find out more about them and their newest projects at The Circuit Surfers

  • Jon

    If you don’t count the Alpha Micro as a personal computer, first 16-bit personal computer is correct. Now, if you *do* count the Alpha Micro…

    It was technically a business computer, but used the S-100 bus (aka Altair bus), and had a sweet WD-16 processor.

  • Chrissums

    I have 7 of these old TI units in my closet. My first computer in 1980. Sacreligious to tear it apart.

  • Retsim Pulaid

    Would love to see this with the BBB as it’s TI based. But the emulation software probably isn’t there like it is for the Pi.

  • mepler

    Thanks for the shout out, Shannon. When working on my keyboard for the Instructables, I was able to get my keyboard working great when hooked up to OSX, but when I hooked into a Linux machine I would get repeated key strokes. Did you have that problem? Any solve?

    • http://www.polymerist.com polymerist

      No problem, Matt! Thanks again for the code and inspiration.

      We didn’t seem to have the Linux-specific issue, but we had a similar repeating-key issue overall with any OS we used. We’re still learning a bit, so perhaps it was coincidental or just dumb luck, but the fix seemed to be in modifying the circuit for us. When we interrupted the ground trace of our PCB, our problem seemed to be fixed.

      Otherwise, the only part of the code we modified was that dealing with the different pinouts of the standard Teensy.

  • shroud2

    I was wondering if you had a link to the code you used for the standard teensy 2.0. Also, can you show the changes you made to the circuit that seemed to fix the repeated keystroke issue? Thanks and great job on the build!

  • gregwinn

    I am trying to do the same project but using an Arduino Leo, may i have a link to your code? I am hitting a few issues with getting all of the columns working without repeating and throwing multiple keys at once.