CoCo/Tandy 1000 joystick adapter project

Last year, I designed an adapter that would let me use original CoCo (or Tandy 1000) analog joysticks on a modern computer via USB. I also designed an opposite adapter, which would let a modern USB controller be used on an old CoCo or Tandy 1000.

I ordered all the parts for a prototype, and did some quick tests to prove that it worked… And then promptly moved on to other things.

Eventually I found some time and I dug out all of these parts and began wiring things up again. My hope was to have a few things available to sell at the Chicago CoCoFEST this past April 25 and 26, 2015. (Money is very tight here, so any thing I can do to generate some extra income is a good thing.) I was unable to go, so did no more work on the project.

Rather than collect dust, I thought I’d share my work so far in this article I originally started working on last February.

The hardware components I have will allow several things:

For the CoCo

  • Use modern USB joysticks/gamepads on the CoCo
  • Use modem Bluetooth wireless joysticks/gamepads on the CoCo
  • Use modern USB keyboards on the CoCo
  • Use modern Bluetooth wireless keyboards on the CoCo

For Mac/Linux/Windows

  • Use an original CoCo/Tandy 1000 joystick as a USB input device
  • Use an original CoCo/Tandy 1000 joystick as a wireless Bluetooth input device
  • Use an original CoCo keyboard as a USB keyboard
  • Use an original CoCo keyboard as a Bluetooth wireless keyboard

As you can see, there are two main goals (use modern stuff on a CoCo, or use old CoCo stuff on a modern computer), with a focus on USB or wireless Bluetooth. All of these are possible, with the cost of doing Bluetooth about the same (or maybe a few dollars less) than USB.

My current prototype reads a PC USB joystick and turns that in to a CoCo-readable analog joystick. I also wired up CoCo joysticks to use on my Mac (very direct and easy).

The keyboard stuff also interests me. I plan to order the Bluetooth part I need so I can embed it inside my CoCo, hooked to the keyboard connector, and use an external battery powered Bluetooth keyboard on my CoCo.

The other combinations are not high on my project list since I do not even own a wireless Bluetooth gamepad or controller (unless my OUYA console controller can be used). However, when I get to that point, I may be able to find someone I can borrow one from for testing.

My eyesight took a hit last year, and now I can no longer focus on things more than a few feet away so I probably won’t do much until I can afford a new set of glasses ;-) Mid-40s is trying to make me think I’m no longer in my mid-20s!

To be continued…

4 thoughts on “CoCo/Tandy 1000 joystick adapter project

  1. Kip Casagranda

    Did you ever get the Coco keyboard to work over USB? I have a Coco 2 I want to embed a Raspi into but the keyboard is the hang up. Wondering if you had any progress or recommendations? I found a site where a guy had done something similar with a TRS80 in researching.

    1. Allen Huffman Post author

      No, I have not had easy access to my gear to do any work on this. Cloud 9 has (or had?) a PC keyboard adapter for the CoCo, ready to go. Doing a USB one is cheap and simple these days thanks to the really low-cost USB host controller chips that are around (see this UK site: John Strong of StrongWare sent me a custom CoCo keyboard connector he created, which was the other half of the puzzle. I am hoping over the winter of 2017/2018 I will be able to get things set back up again and work on these projects.

  2. Rick Bagwell

    Any chance you still have docs on your Tandy1000/coco joystick to USB project? I’d love to do this as there are some games (Doubleback and Clowns and Baloons) that work better on real hardware. I’d like to move most of my coco activity to emulation to save space (and make the wife happier).

    1. Allen Huffman Post author

      Thanks for the reminder! I’ll see what I can find.

      I was using either an Arduino Leonardo or a Teensy 2.0. They can both appear as a USB mouse or keyboard to the host PC/Mac.

      I forget if I needed any circuitry to read the joystick. I think the CoCo joystick is 5V based, and could be read directly on an Arduino AI pin.

      Analog In:

      Then I just wrote a sketch to read that pin and send Mouse.move() and or .press or something:


      The sketch was maybe a dozen lines. I’ll see what I can find, else maybe this will get you started. Let me know!


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.