Categories
Programming Retro

Bluetooth wireless Adapter for Atari Retro Joysticks and Paddles

In a previous blog article, I showed how you can make 2 and 4 port USB adapters to use with retro Atari Joysitcks. While that was really awesome, I recently made improvements leading to this next generation adapter that I will cover in this article. The top improvements are:

  1. Wireless Bluetooth support
  2. Paddle support in addition to joysticks
  3. Additional buttons you can use without having to open up your joysticks

Here is a video that shows the result if you dont feel like reading.

Wireless Bluetooth Support

Atari and retro joystick wires are typically just 5 feet long. The main idea for wireless bluetooth support was to be able to sit back away from the TV while you played your classic games. So this is now possible with my new Bluetooth retro adapter! My PC will pair to the adapter with Bluetooth and I just plug my joysticks and paddles to the adapter and I am golden!

In my last blog, I showed a preview to this original prototype I made to prove it would work:

I used an ESP32 micro controller because it has built-in Bluetooth capabilities. By using a chargeable lipo battery (you can see it on the bottom), the right code, and the right wiring, the unit can be paired to your computer or phone via Bluetooth.

Joystick and Paddle Support

With the 2 game controller ports, you can connect 2 joysticks or even 2 paddles and a joystick at same time!

Getting paddles turned out to not be very simple because Atari paddles use mega ohm potentiometers and getting them to be jitter free needed a really decent analog to digital converter or use or an RC circuit for better precision. It was kind of fun playing old paddle games like Breakout.

Additional buttons

I decided to get a bit more fancy and added additional buttons on the device that could be mapped to simulate additional buttons on the joysticks. This is great because having the extra buttons will be useful to map to things like Start, Select, Reset, etc..

I also added a small screen to see immediate feedback of the Joysticks, paddle, and the buttons on the device! In the photo above I have connected a dual paddle controller to the port on the right and the screen shows 2 half circles for that port. As I move the paddles the dials move on the screen. Real-time information is sent to the PC with built-in bluetooth and my PC sees the joysticks and paddles as game controllers.

I designed a nice case with Fusion 360 and added a charging circuit for the battery and with a few sleepless nights getting the code to work, finally had success.

Buy one here

You can buy one here on sale and proceeds go to charity since I just do this for fun.

Video Overview

Categories
Programming Retro

Atari Retro Joystick USB adapter – Make or Buy – 2 and 4 ports

I recently built a Raspberry Pi 4 unit with Retro Pi and Emulation Station to check out its performance for retro gaming and when I got the Atari 800 emulation to work, it brought back many childhood memories of my first real PC. Games like Star Raiders and M.U.L.E. were well ahead of their time and to get the true experience, they have to be played with real Atari joysticks!

Star Raiders and M.U.L.E. on Atari 800

For past few months, I spent a good amount of time programming micro-controllers for IoT devices for my work projects and I thought about the possibility of using a micro-controllers to adapt Atari Joysticks to a PC so they can be seen as regular PC Gamepads.

I looked online and found some classic joysticks that came with the Atari Game Console Flashback unit for $15 on eBay and decided to give it a shot.

I checked out the Pin Diagrams for the joysticks and it seemed simple enough as they are basically 5 switches (1 for each direction and 1 fire button). Since I wanted at least 2 Joysticks connected for multiplayer games, I needed at least 10 IO ports to connect the 5 switches of each joystick.

Joystick Pins

I decided to use an Arduino Pro Micro controller since it was only $4, had plenty of IO ports, and most importantly it had a USB port that can communicate with PCs as a HID device.

Back

I created a circuit design on EasyEDA so I could later order a PC baord but initially I created a prototype using PCS Prototype Boards you can get from Amazon or Aliexpress for pennies.

I ordered a few DB9 male connectors where the I could plug the joysticks into and put the parts on the board and soldered the connections.

I wrote some code in Arduino and after several attempts and figuring out custom board files for naming, finally had success. You can get the Dual joystick code from here.

If you are wondering how the animation below shows 5 button working, its not related to directions.. keep reading as there are multi button Atari joysticks.

Next. I decided to make an enclosure for it using my 3D printer! I drew it up in Fusion 360 and printed the top and bottom and made quite a tight fit.

I was finished with first working prototype. Next I refined it to a smaller version with a professionally made circuit board so its more reliable, no jumper wires, and less soldering. So its basically done.

Fusion 360 Design

Download STL files here.

But wait, M.U.L.E. is best with 4 players and I had to find a way to get it done so I could play with my nephews. One way was just to build another one taking up 2 USB ports and double the parts, and another was to challenge myself to do a 4 player design with a single USB port. So I did both 🙂

For the 4 port unit, I needed more ports so I decided to use a I2C I/O extender that can extend 2 GPIO pins to 16 using serial communication. I also wanted to support the modified Joysticks that have the extra Start, Select, Menu, and a few more button. Here is the circuit diagram and the outcome.

It worked great and I can tell you we had an amazing time playing 4 player M.U.L.E. ! So give it a shot and make one. You can get the code here.

If you rather just buy one from me, you can get it below. All net proceeds go to charity.

Next blog post, I will show you how I made a wireless version! It was not easy to get more than 1 joystick to work with a single device Bluetooth connection but I finally did it! The code was intense. Take a peek:

Prototype of Bluetooth version. Topic of future blog.

Very cool with no wires so I can sit back far from the TV and still play. Will be working on getting a commercial one out soon. Stay tuned!

Video walk through of this post is below.