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.