Funtendo - a Multistick Retro Controller for Your PC

by Gadget Gangster in Circuits > Gadgets

17799 Views, 123 Favorites, 0 Comments

Funtendo - a Multistick Retro Controller for Your PC

DSC01438.JPG
Funtendo is a completely self contained retro gaming & controller system for your PC.

It is capable of using the original Nintendo controller, the N64 controller, and the Wii Classic controller at the same time!

Funtendo is USB powered, and also contains a flash drive which will contain the project drivers, as well as your emulators and rom files.  

If you are looking for a cool gift for the geek in your life, this may be it!  
This is an easy build that can be constructed on a Saturday afternoon.

The video below is a demonstration of the Funtendo in action.

Funtendo Parts List

DSC01416.JPG
You'll need the following parts to build the Funtendo:
  • Propeller Platform USB (Source: Gadget Gangster)
  • Terminal Module (Source: Gadget Gangster)
  • Nintendo controller extension cable
  • Nintendo 64 controller extension cable
  • Wii Classic controller extension cable
  • A USB Flash drive (2gig or better)
  • A USB Hub powerable from USB
  • A Project Box (Source: Radio Shack)
  • Nintendo 64 controller
  • Original Nintendo controller
  • Wii Classic controller
  • A USB cable with an "A" connector

Preparing the Controller Cables

DSC01415.JPG
DSC01418.JPG
DSC01421.JPG
DSC01423.JPG
The three controller extension cables will become the plugs for our project.  We'll only be using the side that connects to the controllers, not the side that would connect to the game machine.

Before continuing, connect a controller to each of the cables.  This will prevent you from cutting off the wrong end.

Once you have the controllers connected, measure about 20", then snip off the side that would have plugged into the game machine.

Strip all the wires on each controller, then twist and "tin" each of the wires using your soldering iron.

Mapping the Controller Wires

DSC01424.JPG
Controller_Worksheet.JPG
Controller_Worksheet_mine.JPG
Next you'll need to map each of the wires using continuity mode on a volt-ohm meter.

Touching one meter probe on each wire, locate a map the pin locations on the end of each connector.
Take your time on this step.  This is a "measure twice and cut once" job that insures your controllers will work correctly.

Also: Don't depend on the colors of the wires!  
Red doesn't always mean positive.  Black doesn't always mean negative.


I've included a worksheet on this step which you can use to map each wire.
(I've also included a copy of my own worksheet so that you can see just how strange the color codes can be.)

Using the blank worksheet, write down the color of each wire as you find it's position in the connectors with your meter.

Building the Brain

20.JPG
DSC01425.JPG
The brain of the Funtendo is a Propeller Platform and the Terminal Module from Gadgetgangster.com

I've used the Terminal Module, as it makes it very easy to connect all of the wires from each controller.

Build the Terminal Module, installing each of the screw connections, then the pin connections which plug it into the Propeller Platform.

Next, using a USB "A" cable, connect it's black and red wires to 5v and Gnd on the Terminal Module.
This will provide the power required for the project.   (I used an old USB cell phone cable.)


The USB Connections

DSC01428.JPG
The Funtendo uses three ports of a USB powered hub to power, connect, and provide storage.

I used an older USB 1.1 hub I had kicking around.  Note:  The physical size of the hub will dictate the size of the project box.

Make the following three connections to your hub:
  • Connect the USB "A" cable we used for power on the Terminal Module
  • Connect a USB mini programming cable to the Propeller Platform
  • Connect a USB flash drive.  (Used for game/driver storage)


Connecting the Controller Wires

DSC01427.JPG
Using the worksheet I gave you in step three, connect each of the controller wires using the following map:
Insert each wire and screw down the terminal.

NES CONNECTIONS
  • Connect NES 1 --> Terminal Board P1
  • Connect NES 2 --> Terminal Board P3
  • Connect NES 3 --> Terminal Board P4
  • Connect NES 4 --> Terminal Board P5
  • Connect NES 5 --> Terminal Board P0

N64 CONNECTIONS
  • Connect N64 1 --> Terminal Board P8
  • Connect N64 2 --> Terminal Board P6
  • Connect N64 3 --> Terminal Board P7

WII CLASSIC CONTROLLER CONNECTIONS
  • Connect WII 2 --> Terminal Board P25
  • Connect WII 3 --> Terminal Board P23
  • Connect WII 4 --> Terminal Board P22
  • Connect WII 5 --> Terminal Board P24


Testing Each Controller

pst_test_nes.JPG
pst_test_n64.JPG
pst_test_wii.JPG
Next, you'll want to test each controller.

Download and install the Parallax Propeller Tool.  

Installing the Propeller Too will also install the Parallax Serial Terminal.   We'll be using both to test this project.

Download the source code and test code for Funtendo and extract it to an empty folder.

Follow the next three steps:

Testing the NES controller:
  1. Open the Propeller Tool
  2. Identify the "COM PORT" number using F7
  3. Open "NES_TEST.spin" using Propeller Tool.  
  4. Send it to the Propeller with F11.
  5. Open the Parallax Serial Terminal
  6. Set the "COM PORT" to match the one found earlier.
  7. Press buttons on the controller to test.

Testing the N64 controller:
  1. Open the Propeller Tool
  2. Identify the "COM PORT" number using F7
  3. Open "N64_TEST.spin" using Propeller Tool. 
  4. Send it to the Propeller with F11.
  5. Open the Parallax Serial Terminal
  6. Set the "COM PORT" to match the one found earlier.
  7. Press buttons on the controller to test.

Testing the Wii Classic controller:
  1. Open the Propeller Tool
  2. Identify the "COM PORT" number using F7
  3. Open "WII_TEST.spin" using Propeller Tool. 
  4. Send it to the Propeller with F11.
  5. Open the Parallax Serial Terminal
  6. Set the "COM PORT" to match the one found earlier.
  7. Press buttons on the controller to test.
(Note: the Wii Classic Controller test will look a little cryptic.  Just watch for numbers to change when testing.)

Installing the Firmware Into Funtendo

funtendo_sourcecode.JPG
Once you have each controller working in the test programs, open "FUNTENDO.spin" with Propeller Tool and upload the code to the unit using F11.   This step will replace the test code with the actual software used by the unit.

Boxing Up the Unit

DSC01429.JPG
DSC01431.JPG
DSC01438.JPG
I installed the USB hub by placing it in the bottom of the project box and securing it with a little hot glue.
Next, I used some additional hot glue to secure the Propeller Platform and Terminal Module to the top of the hub.

After cutting some slots for the cables to exit on either side, I used a little more hot glue to protect the cables from tugging.

Installing Funtendo on the PC

installing_ppjoy.JPG
step1_configure_joysticks.JPG
step2_configure_joysticks.JPG
The following instructions will install the Funtendo on your PC.

If you are building this as a gift for someone, print and give them this step and the next two.

Funtendo is a serial joystick, sending game control information over the USB connection.

Download and extract PPJoy to an empty folder.  (I keep a copy on the Funtendo Flash Drive)

Run the Setup.exe and install the program.  You'll get a couple messages about it not passing "Windows Logo" messages.
Simply press "Continue Anyway" when these pop up.

Once PPjoy is installed, launch "Configure Joysticks" and Add.. Parallel Port: Virtual joysticks.
You'll get a couple more "Windows Logo" messages, again press "Continue Anyway" when these pop up.






Calibrating the Controllers for the First Time

starting_up_funtendo_driver.JPG
starting_up_funtendo_driver2.JPG
calibrating_step1.JPG
calibrating_step2.JPG
calibrating_step3.JPG
calibrating_step4.JPG
Next, you'll need to calibrate your controller for use.   Like the last step, this step only needs to be done once.

Launch the program, "PPJoyCOM" and set the Com Port to match the one you found earlier with Propeller Tool.

Calibrate your controllers:

Leave PPJoyCOM running, click on Windows START --> Control Panel --> Game Controllers.
  • Click on Properties
  • Click on the Settings tab
  • Click on Calibrate
Use the thumbstick on the N64 controller for calibration.  All of the other controls will fall out fine.
You'll be able to see the controller and buttons work in the test window.  

Congratulations!   Your Funtendo is ready for use!   Simply Launch PPJoyCOM when you want to play and take off!


Using Funtendo!

Funtendo_Flash.JPG
I can't tell you where to find those ROM files.  You are on your own with Google.  (It isn't that tough)

I'm using three excellent emulators with this successfully:
Remember that flash drive you installed in the unit?   Perfect place for emulators and roms!