Wii U GamePad upgrade - adventures with MOSFETs

I have back buttons - A&B on the left and X&Y on the right side. I have tapped into the test points that sudomod's evertith labelled as being for the d-pad directions. I did some probing with my multimeter and some aluminium foil to bridge the socket pins and didn't find any points with continuity to the d-pad/L/ZL ribbon cable that weren't just ground (can't upload my Excel file, which is 8.5 MB in size due to my including photos of clusters of test points to help me not get lost). I don't really want to try soldering to the ribbon cable or its 0.5 mm pin pitch socket on the board. Any ideas?
IMG_1858.jpgABXY test points.jpeg

Stage 2 of the upgrade is adding slightly bigger rumble motors than the single button-sized motor. Looking at the empty space in the grips, I considered a '140' model motor, but it would be too long and I would need to cut away some of the internal struts, which could then lead to the weights hitting and tearing the flexible PCBs the face & shoulder buttons are on. I mocked this up with card rolled into a tube of the right diameter. The largest cylinder I could jam in is about 25 mm in both length and diameter. So I settled on 'm20' motors - 15 mm long by 10 wide by 8 deep, with the weight extending 7 mm out the end. They're rated for '1.5/3/6' V so should be safe to run from the 3.7 V battery the gamepad uses, and seem powerful enough on the 3V my 2xAA test battery pack puts out.

I mocked up the circuit I am going to use - I suspected that I shouldn't be connecting the motors directly to the original control pins, as I'm planning to use ones that are significantly larger than the original. The component for controlling a higher-current device from a smaller signal is a MOSFET. Fortunately for me, this is the same problem amateur roboticists have in running a motor from an Arduino. I identified IRLZ44N as the relevant model. Amazon's search is not very helpful, and I failed to spot that the parts I ordered were IRFZ44N. That is no good as I need a logic-level MOSFET - the regular type need a gate signal of around 10V. I tried to return them, but it seems that would cost them more than just refunding me, so I got to keep them. I now have IRLZ34Ns - the '34' vs '44' is about the maximum current it can supply - 30 A is still much more than my rumble motors will draw.
MOSFET and LED pins.png

I drew out and mocked up the circuit outside the GamePad with croc-clip leads. I tried out a 2.2 MΩ 'pull-down' for draining the charge off the MOSFET when the signal is switched off. Otherwise it would stay on once it got triggered the first time. This value is a compromise between draining slowly and the current that will constantly flow even when nothing is happening - I went for minimum stand-by power consumption. I tried a 220 Ω gate resistor to limit the current drawn to switch the MOSFET on - the whole point of the extra components was to avoid the risk of frying the circuit board by drawing a large current from the rumble motor pins. Again it's a compromise, but in this case too large a value would also be dangerous, as the transistor will get hot if it spends too much time switching between the off and on states. I probably don't need to worry about this too much - it's more of a problem with circuits that switch on and off repeatedly when in use e.g. PWM control for motor speed or LED brightness.
Another way a MOSFET can get toasted in this circuit is the voltage spike you get when turning a motor off (coils of wire like motor windings are inductors and resist rapid changes in current, generating a large voltage to try to keep the current going). The standard way of dealing with this is having a 'flyback diode' wired up 'backwards' so the loop of circuit with the motor can avoid overloading the MOSFET. I don't have any regular diodes, but I do have some white LEDs. In general this is a terrible idea, but I think I can get away with it in this fairly low-powered circuit. White LEDs need 3-5 V to work, and seem to be able to survive 5 V in reverse bias. This is more than the forward voltage of the battery, so that's OK. I have quite a few of them, so I can sacrifice one to experiment with. It turns out that the voltages involved in my test circuit don't even seem to be enough to light the LED properly - it glows a dim yellow both steadily in the forward direction with a 22 Ω series resistor as a model for the OG rumble motor, and when it flashes when the motor switches off. This is maybe not totally realistic, as the GamePad's battery is 3.7 V not 3.0, but the spike I was worried about was from the motor, and the rate of change of current will be limited by the MOSFET not the supply voltage, so if I haven't fried the flyback LED in my test I should be OK.
Rumble circuit.png

IMG_1862.jpg


At this point I opened up the GamePad again to refresh my memory of what the OG rumble motor voltage actually was. I was expecting the black wire to be 'common ground' and the red wire to be ground too when the rumble is off, and a few volts when it's on. To my surprise, the red wire is always at 2.8 V relative to the board's ground. The motor gets turned on when the black wire changes from +2.8 V to 0 V. This seems like it would throw off my circuit design, as the gate signal is supposed to be compared to the same ground potential as the output's ground. Having the transistor on the 'high' side is supposed to use a p-type not an n-type MOSFET. I played around with the circuit on paper and then with my croc clips, and I think it should be OK. The MOSFET only needs to have a potential difference between the gate and source/ground, so it shouldn't care if the no-signal condition is because both pins are at 2.8 V. And in this state the path from the motor/drain pin to the source / supposed ground isn't conducting, so the motor won't care that it's at 2.8 V. When the source pin is switched to ground and the path from my new rumble motor starts conducting, the source pin will be grounded as expected.
Rumble off.png
Rumble on.png


I intend to have two motors in one side and one in the other, even though they will be controlled by a single signal, unlike the Xbox / PS controllers' independent signals for stronger rumble on the left. To avoid the possibility that the doubled motors' weights end up on opposite sides of the spindle and thus the wobbling effect cancels, I will connect them so they spin in opposite directions so there will be wobbling on some axis.
IMG_1863.jpg


Unfortunately my circuit didn't work when plugged into the GamePad - the voltage across the original motor, and therefore between my gate and source, reduced to ~2 V, which is around the threshold voltage (at which the MOSFET starts conducting only a very small current). I'm not awfully surprised - the whole point of adding extra components rather than just replacing / putting my bigger motors in parallel with the original was to avoid drawing a large current from pins that might not be designed for it. I daisy-chained three MOSFETS, with each drain connecting to the next gate with a 220 ohm resistor, and connected to the battery with a 2.2 megaohm resistor. I needed three, because the second one gives an inverted output. My soldering to the motors wasn't great, and I need to work on mounting the motors securely and routing all the cables so the case will close. I'm giving up on having the MOSFETS inside, and if I can't get them to stay in place inside the GamePad, I will gut the Uboost battery pack (the batteries of which don't hold a charge now - It's there as a kickstand and because I can't locate the original battery door) and house them in there. This would also have the advantage of being outside the case, so I can get at them more easily. I'm getting fed up with unscrewing the tri-wing screws, even though I have added 'dupont wire' connectors so I can unplug everything when I take the back off.
  • Wow
Reactions: cearp

Comments

Very cool! Could 3D print a new back housing with cutouts for the buttons too!
I'm actually happy with the buttons at the height they are now. If I had them set into the surface, they would probably need to be further outwards, which could interfere with some of the support posts.

I'm almost certainly going to wimp out of fitting the motors into the grips too, when I already have the Uboost as a more accessible location.
 
  • Like
Reactions: cearp

Blog entry information

Author
emcintosh
Views
240
Comments
2
Last update

More entries in Personal Blogs

More entries from emcintosh

General chit-chat
Help Users
  • Jayro @ Jayro:
    The phat model had amazingly loud speakers tho.
    +1
  • SylverReZ @ SylverReZ:
    @Jayro, I don't see whats so special about the DS ML, its just a DS lite in a phat shell. At least the phat model had louder speakers, whereas the lite has a much better screen.
    +1
  • SylverReZ @ SylverReZ:
    They probably said "Hey, why not we combine the two together and make a 'new' DS to sell".
  • Veho @ Veho:
    It's a DS Lite in a slightly bigger DS Lite shell.
    +1
  • Veho @ Veho:
    It's not a Nintendo / iQue official product, it's a 3rd party custom.
    +1
  • Veho @ Veho:
    Nothing special about it other than it's more comfortable than the Lite
    for people with beefy hands.
    +1
  • Jayro @ Jayro:
    I have yaoi anime hands, very lorge but slender.
  • Jayro @ Jayro:
    I'm Slenderman.
  • Veho @ Veho:
    I have hands.
  • BakerMan @ BakerMan:
    imagine not having hands, cringe
    +1
  • AncientBoi @ AncientBoi:
    ESPECIALLY for things I do to myself :sad:.. :tpi::rofl2: Or others :shy::blush::evil:
    +1
  • The Real Jdbye @ The Real Jdbye:
    @SylverReZ if you could find a v5 DS ML you would have the best of both worlds since the v5 units had the same backlight brightness levels as the DS Lite unlockable with flashme
  • The Real Jdbye @ The Real Jdbye:
    but that's a long shot
  • The Real Jdbye @ The Real Jdbye:
    i think only the red mario kart edition phat was v5
  • BigOnYa @ BigOnYa:
    A woman with no arms and no legs was sitting on a beach. A man comes along and the woman says, "I've never been hugged before." So the man feels bad and hugs her. She says "Well i've also never been kissed before." So he gives her a kiss on the cheek. She says "Well I've also never been fucked before." So the man picks her up, and throws her in the ocean and says "Now you're fucked."
    +1
  • BakerMan @ BakerMan:
    lmao
  • BakerMan @ BakerMan:
    anyways, we need to re-normalize physical media

    if i didn't want my games to be permanent, then i'd rent them
    +1
  • BigOnYa @ BigOnYa:
    Agreed, that why I try to buy all my games on disc, Xbox anyways. Switch games (which I pirate tbh) don't matter much, I stay offline 24/7 anyways.
  • AncientBoi @ AncientBoi:
    I don't pirate them, I Use Them :mellow:. Like I do @BigOnYa 's couch :tpi::evil::rofl2:
    +1
  • cearp @ cearp:
    @BakerMan - you can still "own" digital media, arguably easier and better than physical since you can make copies and backups, as much as you like.

    The issue is DRM
  • cearp @ cearp:
    You can buy drm free games / music / ebooks, and if you keep backups of your data (like documents and family photos etc), then you shouldn't lose the game. but with a disk, your toddler could put it in the toaster and there goes your $60

    :rofl2:
  • cearp @ cearp:
    still, I agree physical media is nice to have. just pointing out the issue is drm
  • rqkaiju2 @ rqkaiju2:
    i like physical media because it actually feels like you own it. thats why i plan on burning music to cds
    rqkaiju2 @ rqkaiju2: i like physical media because it actually feels like you own it. thats why i plan on burning...