This Instructable is my entry in the Remix Contest, inspired by PhantomAura's Nintendo 64 Controller Internal Rumble Mod.
There are several key differences with my variation. The main difference is that it still relies on connecting the rumble pak externally, but I thought this made sense given that the rumble pack circuit is needed regardless in some way, and simultaneously using a controller pack already wasn't possible with the original design. This also means using an extra pair of wires to connect the motors to the external pack, but I felt that was a small sacrifice to greatly reduce the number of internal wires (and the switches) of the hard-wired version. I also use smaller motors and put a motor in the center prong instead of the left.
Step 1: Tools and Materials
- N64 Rumble Pak
- N64 Controller
- One to two vibration motors or other low-power DC motors of your choice
- Wires (20-24 AWG recommended)
- Heat-shrink or electrical tape
- Phillips Screwdriver
- 3.8mm Gamebit (if using first-party Rumble Pak)
- Soldering/desoldering tools (iron, solder, braiding/pump, etc.)
- Wire strippers
Helpful but variable/optional
Step 2: Disassemble Controller and Rumble Pack
If you haven't used your rumble pack in a long time or, like me, had to buy one off the internet, the very first thing you should do is pop some AAA's in there, fire up a compatible game, and make sure it actually works. You don't want to end up troubleshooting for no reason down the line when it was broken to begin with.
Disassembling both the controller and pack is fairly straightforward, so I apologize for the lack of pictures. Use a Phillips head to remove the screws from the controller and take off the back panel; there's no need to remove anything else. Be careful you don't lose the L and R buttons though as these have a tendency not to stay in place.
The rumble pack is even simpler with two screws, once you get your hands on a gamebit. If you are using a first-party pack, it already comes with JST connectors, so you shouldn't have to worry about buying these. You can disconnect the motor at this time, but I can't guarantee how third-party packs work--don't disconnect the motor yet if it's soldered on directly.
Step 3: Determining Wiring for Battery-Free
You can skip this step if you just want to see where to put the wires, but I thought I'd explain how I determined the wiring placement, as I thought this was pretty unclear in the original mod this is based off.
Basically, we know that the rumble pack takes approximately 3 V as its power source, since it uses 2 AAA batteries. We also know that the controller is receiving power from the N64 console itself. So it is simply a matter of finding ~3 V from the controller and connecting that to where the battery power source is expected.
Thus, I faced two main tasks:
1. Locate ~3 V from the controller's internal power.
2. Locate points that are connected to the battery positive input terminal
And there are mainly three ways this could be approached:
1. Find and read original schematics to determine these key points
2. Visually follow the PCB traces
3. Probe various areas with a multimeter
While 2 or especially 1 would likely find a more accurate result, I went with option 3 as it was much easier to just measure different values. I'm not sure if these are the optimal points, but they worked out for me.
Locating a 3V Point
To locate a 3 V point, I plugged in the controller and turned the game on with the rumble pack circuit inserted. This is shown in the photo. You need to have the rumble pack cover as well as the controller back cover removed in order to be able to probe around with the multimeter.
Locating the battery terminal
There is one obvious place where you can connect the battery, which is the big terminal marked with a + on the the PCB. You can use this if you plan to keep the board intact, but I wanted to trim it down, so I looked for another. I did this by placing one probe at the + terminal and the other at various other points to test for other options. Some multimeters have a continuity test option; with mine I used the diode setting and the lowest resistance setting. These should both read a value if there is continuity, and the lower the value of both, the more direct of a connection to the terminal (i.e. not going through resistors and other components). I found a point on one end of the resistor marked in the photo, which I believe is the most direct available.
Step 4: Wire It for Battery-free Use
Complete the wiring from a valid 3V node to a power in (battery) node, such as the photo shown. This project assumes basic soldering skills, but if you aren't familiar with soldering, there are many guides out there.
After you solder this up, do a quick check. Re-connect the motor JST connector and snap the rumble pack together (you don't need to screw it back together). Snap the back half of the controller on (again, no need to mess with the screws), put the pack in and test it out. If everything works as expected, congratulations, you now have battery-free rumble!
You can even stop here and screw everything back together if you just wanted to eliminate the need for batteries but not move the motor internally.
Step 5: Wire Up the Motor Side
Steps 5 and 6 are fairly interchangeable, but I completed this one mostly first when I did it.
This set of steps leads up to the first photo depicted:
- Drill a hole in the back of the controller slightly to the right of the Z-button. You want this to be big enough to fit the wires (and possibly shrink wrap) but not the JST connector; I went with 5/32"
- Cut the (male) JST connector off from the rumble pack motor. Make sure you leave enough wire to work with on the connector side, though don't cut it too long if you plan on also reusing the motor at some point.
- Insert the wires from the male JST into the interior side of the controller through the hole. I used scotch tape to hold the JST in place temporarily.
- Place the motors down in the center and right prongs to eyeball how much wire you'll need for each (don't remove the adhesive label yet). Keep in mind the JST will be pulled out further in the final version so you want to leave some slack, but also make it easy to close.
It's here that I'll mention these motors can easily be tested by holding the two exposed parts of the wire against the two terminals of a AA or AAA battery. As far as I can tell, the polarity doesn't matter, but I'd recommend keeping it consistent if you are using two motors. I went with red to red and blue to black.
This set of steps leads up to the second photo depicted:
- Cut appropriate lengths of wire (ideally black and red) and solder these up to the motor wires.
- Optionally, once you have an elongated motor wire pair, test it using the battery method above.
- Slip a small length of heat shrink over the exposed connection and heat it.
- Once you've done the above for all four (assuming two motors) motor wires, slip small pieces of heat shrink down the wires on the JST side (this is necessary now because after the next step there won't be any wire ends left).
- Twist together the respective red motor wires from both wires, then twist and solder this pair to the red JST wire. Heat the shrink wrap after making the connection. Repeat for the black wires.
At this point, the motor/interior side is pretty much done. You can even test the motors again by inserting wires into the JST connector and holding those wires against the battery terminals.
Step 6: Wire and Assemble the Pack Side
We will still need a pack to insert into the controller to make this work, and this part will vary depending on your choices. I had an old third-party memory pack lying around that I don't really need, so I thought it was a good choice (plus I could just swap its board into the rumble pack shell). You could probably also just use the rumble pack shell and maybe trim it down if you have a good tool like a Dremel (I don't, so that wasn't my route).
Trim down the rumble pack board
Make sure you don't remove any crucial parts. I basically just cut off the battery connector part with flush cutters, as shown in the photo.
Disassemble and trim down the memory card shell
The memory card circuit ended up being held by a couple little nubs. I didn't really care to try to make holes in my rumble circuit to fit on those, but the flush cutters made quick work of the nubs. That gave me a better idea of how it would fit, but the (female) JST connector was clearly in the way.
Remove the JST connector
Luckily, it wasn't really in the way because it was part of the plan all along to remove it. Desolder this from the board, while taking careful note both on the connector and the board where the positive/negative terminals belong.
Drill a hole in the shell
I marked and drilled a hole in the shell where the JST connector would come out, very similar to the controller. It helps to lightly put the shell and controller together to get an idea of the orientation and clearance. I chose to drill it so it would come out on the right side, just like with the male connector.
First, solder small (but again, with enough slack), ideally red and black lengths of wire to the JST terminals corresponding to positive and negative respectively. I found that having a helping hands tool is really useful with this part, since it's hard to hold the wire onto the JST. Once you get these, insert the wires up through the interior of the memory card shell, then solder onto the corresponding terminals of the rumble board where the JST connector originally was.
Put the memory card back together with the rumble board inside. I ended up cutting down some more of the plastic so that the wires wouldn't be crushed when it was laid flat, as shown in the last photo. As I would later find out, it's very important that the 16 pins are pushed down as far as you can go so that it rests nicely in the little "groove" shaped around it. Hot glue eventually helped me keep it in place. Knowing this would've saved me a lot of troubleshooting, as I thought the pack was inserted into the controller fully, but it turned out to not be close enough. You can also just insert the board directly into the controller slot without the shell to test it.
Step 7: Final Assembly
Time to put everything together and make sure it works! Luckily I had one of the transparent controllers on hand, so it nicely shows everything in one photo. First I stuck the motors onto the controller by their adhesive backing, then I taped down some of the wire slack with electrical tape. Then I put the back cover back on the controller, put the pack in the slot and connected the JST.
Test it and make sure it all works before you screw everything together. If it does, congratulations, you are finished with this Instructable!