Introduction: Funtendo - a Multistick Retro Controller for Your PC

Picture of Funtendo - a Multistick Retro Controller for Your PC

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.

Step 1: Funtendo Parts List

Picture of Funtendo Parts List
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

Step 2: Preparing the Controller Cables

Picture of Preparing the Controller Cables

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.

Step 3: Mapping the Controller Wires

Picture of Mapping the Controller Wires

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.

Step 4: Building the Brain

Picture of Building the Brain

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.)


Step 5: The USB Connections

Picture of The USB Connections
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)


Step 6: Connecting the Controller Wires

Picture of Connecting the Controller Wires
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


Step 7: Testing Each Controller

Picture of Testing Each Controller
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.)

Step 8: Installing the Firmware Into Funtendo

Picture of Installing the Firmware Into Funtendo

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.

Step 9: Boxing Up the Unit

Picture of Boxing Up the Unit

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.

Step 10: Installing Funtendo on the PC

Picture of Installing Funtendo on the PC

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.






Step 11: Calibrating the Controllers for the First Time

Picture of Calibrating the Controllers for the First Time
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!


Step 12: Using Funtendo!

Picture of Using Funtendo!
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!

Comments

BlissBoxAdapter (author)2015-01-23

Or use the consumer alternitive.

http://www.bliss-box.net/Bliss-Box/KS.php

DoctorWoo (author)2012-12-18

I'm planning to addabted something like this for a project I plan to break ground on here soon, but the issue is this [Funtendo] would be used on a linux platform. So two questions:
-Will it work with linux?
-And can you set it up with other controllers? Sega, for example.

safesearchoff (author)2012-05-02

how is the analog stick response on this? does it work properly?

is it possible to modify the code to register each controller as a seperate controller? if so, how could i modify the code to make it all n64 controllers?

abaxta (author)2011-12-04

Is it possible to have all three controllers of the same type, i.e. 3 n64 controllers.... and have them each dedicated as a different player... player 1 controller, player 2 controller, and player 3 controller? is there enough terminals on the board to add a third controller? i guess what I'm asking is would it be possible to use this device as a 4 player n64 system?

jeffledger (author)abaxta2011-12-16

The wife and I use two of the controllers to play games against each other.
Because both controllers are active all the time, we try not (or maybe we do) to touch the controller to mess each other up.

I can't see why this project couldn't be adopted to multiple controller use. Adding some logic code to the funtendo.spin could even make it so that the active controller could pass the controls to the next unit.

OBC

jeffledger (author)2011-12-16

A discussion regarding adding a SNES controller has been started at: http://www.gadgetgangster.com/forums/viewtopic.php?f=3&t=21

OBC

soshimo (author)2011-11-30

Hey GG, just a quick note - in case you don't want to destroy your wii classic controller cable (they are expensive) you can get a Nunchuck adapter here: http://www.sparkfun.com/products/9281. That might work for your needs since it's the same kind of connector as the nunchuck. Obviously the labels on the adapter will be wrong, but that's something you can work around. At least you save your precious controller or extension cable. They are expensive!

Gadget Gangster (author)soshimo2011-11-30

Here's an Ebay link to the one I used..
http://www.ebay.com/itm/Extension-Cable-Cord-Nintendo-Wii-Remote-Nunchuk-/260601944338?pt=Video_Games_Accessories&hash=item3cad161912#ht_3024wt_860

$1.88 with free shipping out of HK. Hard to go wrong there. :)

soshimo (author)2011-11-30

Gadget Gangster, I love you guys (the Christmas present two years ago was the best!), but this seems almost a bit of an advertisement. The fact that you are using two pieces of gear manufactured by you is a bit of a red flag. Kind of like letting the foxes design the hen house. You might do your readers a favor and show them how to do this with a breadboard in the event they can't afford the very affordable modules you provide. Otherwise an outstanding tut!

Gadget Gangster (author)soshimo2011-11-30

@soshimo:

Thanks for the kind words! I used the Propeller Platform w/Terminal Module in this project to make it as easy as I could for someone to build their own. I could have used a PCB, but the combination of the ready-to-go Propeller Platform and the screw terminals on the plug-in board pretty much guaranty success for other builders. That being said, not providing a schematic was a bit of an oversight on my part, and I'll make sure that all future projects have plenty of additional documentation for those who have Propeller DIPs, breadboards/PCB's.

soshimo (author)Gadget Gangster2011-11-30

Excellent suggestion regarding the documentation! That's a great compromise for those DIY'ers out there (myself included). My confidence and loyalty is restored. You guys really are a class outfit!

blossom9283 (author)2011-11-30

How much did this cost you?

The controllers I already had. (I'm a game system collector, and retro-head)
I also had the USB hub and 2gig flash drive in a box of parts, so my costs for this project were three extension cables from Ebay (around $5.00 a pop), the project box from Radio Shack ($7.00) and the two Gadget Gangster boards ($55.00).
I love to do projects that people can follow behind and replicate, so cost vs value is a figure that I always look at. The value of doing it yourself weighs in heavy, the onboard storage isn't supported by a simple adapter cable, and the Propeller will allow you to modify the code, so all-in-all I'm pretty pleased with the project.

the_burrito_master (author)2011-11-30

DEAR SANTA!

mikeasaurus (author)2011-11-29

Retro gaming, awesome!

About This Instructable

16,213views

122favorites

License:

Add instructable to: