Wireless Vectrex Controller

A friend loaned me an old Vectrex video game console he had laying around to see what I could do with it. After cleaning it up and changing out a frayed power cable, I decided to have some real fun with it. The original controller is wired which forces you to stay near the console to play. Here’s a working prototype I built of a wireless controller for it.

For this quick prototype I decided to go with XBee for the wireless communication and an Arduino on each side as glue to the rest of the hardware. As an initial test I treated the joystick as a digital input instead of analog. This works just fine for some the games(including the built-in “Mine Storm” game) that don’t take advantage of the analog in between positions. I was able to find the pinout for the vectrex controller port online. The pins for each joystick axis take a range from -3.4V to +3.4V, with 0V being center. There are pins to get access to a +5V and a -5V supply. I utilize the +5V supply to power the Arduino and XBee of the receiver directly from the Vectrex. I use LTV-817 optocouplers and a resistor voltage divider along with the +/-5V rails to get the right voltage to the input pins to signify the 4 cardinal directions of the joystick. I also have some small transistors to pull each button pin to ground to signify that button is pressed. The optocouplers and transistors are driven by the Arduino on the receiver side when it gets the appropriate commands from the XBee. That data originates from the Arduino on the controller/transmitter side which polls its input pins and relays the data with its XBee. With this setup I have been able to play through a level of “Mine Storm” at a few feet away and it felt very responsive.

IMG_20140707_112001
vectrex
IMG_20140707_112759
original controller
IMG_20140707_112015
receiver
IMG_20140707_112034
receiver output circuit
IMG_20140707_112107
receiver connected
IMG_20140707_182139
receiver output connector
IMG_20140707_112158
controller

Leave a Reply

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