Worklog JoyBird: a Switch Wavebird

Discussion in 'Other' started by moonDoctor, Nov 6, 2018.

  1. moonDoctor .

    Joined:
    Sep 11, 2018
    Messages:
    12
    Likes Received:
    9
    Location:
    Indianapolis
    (TL: DR joycon guts+ Wired GameCube pcb + wavebird case)

    Foreword:
    I absolutely hate wires as i have a propensity to unplug them, thus I loved my wavebird. While i began with an Original Gameboy, i fell in love with the GameCube's hand friendly controller. But alas, Nintendo despite being super fan centric at last, will never release the ULTIMATE/definitive edition wavebird. No, where there is not also cash to be had and a majority of players to please, only darkness dwells, which any business has every right to do. I can't complain too much.

    Ok, I'll dive in to what I'm doing here:
    My base goal: Disassemble wired GameCube controller (GCc) for its pcb buttons and conductive pads, L & R joycon (jc) and a joycon grip charge (jcg) for talking to the switch, and a wavebird (wb) for it's roomy case, then hardwire all button inputs from GCc to jc including adding missing zL, home, capture, + &- buttons, convert wb start button to jc rail sync buttons if needed (the jcg is need to charge jc and also performs wired sync function). I'll need to modify GCc pcb to provide separate grounds for most of not all inputs (likely all as jc is not common ground), but it's no big deal as careful dremeling has proven effective to break up ground into slices.
    Stretch Features: retain rumble and nfc (rumble doesn't seem too difficult to retain beyond probably needing to lengthen the wires to find a nice mounting place in the palms cavity, but nfc will need a bit more creativity to find a space that fits (i don't know if the part is pure antenna or has a bit of circuitry involved).
    Super stretch: add a paddle that replicates A so i can jump while still aiming in splatoon xD since i don't like motion controls in splatoon.

    I'm a bit behind with publishing a worklog because I've been super busy at work but I'll have pictures and deeper explanations soon. Basically, where i am now, i have a zL tack (tact? Tac? idr) very pleasingly placed to match the original rL and after a lot of careful dremel work, some painstaking transplants, and a moment of exasperated recklessness, a working, clicking left purple button! Also, i have replaced the stock joysticks with clicky ones like on the pro controller (sorry i didn't think about keeping links to put here). Lastly after accidentally flooding the GCc IC pins with solder during a late evening, i have removed it entirely and un-bridged that mess of solder. My plan is to use several of those pins to connect to jc inputs. I've basically avoided soldering for ages because i am terrified of the small points i must get right on the jc pcbs without destroying it (obviously i won't be soldering those in the late evening).

    DFDAAF27-8EF3-4666-BC9B-C108C58669D9.jpeg

    So i think that is where i am, I'll add pictures as i can. I want to thank a bunch of folks whose research and hard work have made this possible (yup, gonna cheap out on this and edit it in later as I'm writing from memory and don't want to forget/mistype). So thanks a bunch and wish me luck!
     
    DeoNaught likes this.
  2. DeoNaught .

    Joined:
    Dec 10, 2016
    Messages:
    434
    Likes Received:
    434
    Location:
    Constant Fear
    Portables:
    sin^2(x) + cos^2(x) +e^(i*pi)
    hehe, @Madmorda and I have been working on something similar, Madmorda got it done already, She's going one approach, I'm going another, can't wait to see how your's goes :D

    The Abxy, and and dpad, use a keypad matrix, not a regular button layout(not whatever to gnd, it's different). I'd ask Madmorda for help on that.

    and the analog works fine with the joycons.
     
    moonDoctor likes this.
  3. moonDoctor .

    Joined:
    Sep 11, 2018
    Messages:
    12
    Likes Received:
    9
    Location:
    Indianapolis
    Okay, I promised a few images so here goes:
    Fig-B
    1. Ive dremeled out a matching left side of the Ggc pcb and mounted a squishy tact (pulled from wavebird)
    2. I cannibalized the zR spring catch and tact back support flange (see Fig-D for closer look) as well as the zR hinge "cup" with backing ribs. Glued and dremeled to clicking perfection using DIY ABS cement (Target bought 100 proof nail polish remover and minced gray GCc). This has been my uphill battle so far. Right now, the button clicks like a dream but there is a lot of work to do yet.
    3. My previous post talked of a moment of exasperation. This is it. After hours of fiddling with the wb case, trying to understand why once both top and bottom were seated down with the button and pcb in place it would lock up the button. So, like any careful watchmaker I hacked off an edge of the button. Now it works great! This may haunt me later as those edges are meant to seat the button square while the spring is under load. Right now, I dont care. TBD
    Photo Nov 07, 2 38 57 PM (1).jpg



    FIG-C:
    1. Just Detailing here the opening I cut in both top and bottom wb cases for zL clearance. I thank nintendo for designing the zR button with almost perfect symmetry longways and then putting the case seam along that bisection. This made my life much easier (or so i thought at first) because I very carefully traced the original opening from a second set of cases bottom to bottom and top to top (Nintendo also was kind enough to have many different post mounts also have symmetrical counterparts, allowing a near perfect alignment when trying to mirror the holes (this process is kind of hard to explain in text alone. Needless to say, this took a lot of careful dremel and xacto work. It still looks like hell under macro-photography, so i will have to address that. Craftsmanship!!
    2. that is a MacGyvered hinge socket for the zL. I couldnt use the one from the front case because it was too shallow to reach the L-button surface. This socket being oh slightly not straight is one of my suspects for why the button was locking up once assembled. The GCc Z button is almost symmetrical longways because the axle is longer going down than up. This is important because the sockets for those axles also have ribs (support features that keep others like mounting posts straight and strong) that in this case wrap around the Z like a knee joint, relieving the inward pressure from actuation on the axles themselves. At the moment i dont have any here and that could seriously shorten the life of the button in the long run (especially in a Smash situation, those poor buttons).
    Photo Nov 07, 2 38 57 PM.jpg


    Fig-D:
    1. Another transplant but this was using the actual socket from the bottom of the source GCc. The issue doing that is that I had to extend the depth of the socket to accommodate the now upside down Z button (longer axle now pointing up rather than down). YOu can also see that I managed to preserve the support ribs on this socket. Without these the axle would likely break down from users pressing too high on the button, SCIENCE!
    2. (And 3) This is hard to see from this angle but i cut out all the pieces that keep the Z button in place, and glued them upside down. This was kind of do or die because I had already (foolishly) mounted the tact on the pcb with great success. BUT that meant the backing plate and new Z button had to also be quite accurate. Thankfully after a bit of waffling i forced myself to dab a bit of cement down and stick it on. I left a few stray bits of plastic to act as ribs for support. Again, at macro it really looks harsh!
    3. So entirely by accident, i had kept this support structure and only a few moments before i was going to cut it off did i notice i would still need it to provide support to the Z tact. Phew. Once everything was cured, I planed the edge flush with the thumbstick edge so the pcb would sit flat.
    Photo Nov 07, 2 44 40 PM.jpg

    Right now I have ridden a bunch of luck in that I haven't marred the front of the cases beyond them looking used. All in all i am pretty satisfied so far with the zL button.

    Open Issues:
    • GCc thumbstick still ever-so-slightly rubs the gate opening, but i am running out of post to dremel down on the pot.
    • Also, the thumbstick returns to center in each direction except ~10-11 o'clock where it sticks against the gate. Im really happy with its overall performance though and since the C-stick doesnt do this, I will only address this if it affects gameplay (because when do you actually lift your left thumb anyhow)
    • Eliminate analogue from L and R completely. Since the jc cant perform a soft shield in smash (correct me if im wrong here) there is no reason to have the pots in LR. My first idea is to lengthen the conductive rubber post inside the button and severely shorten the slide distance. However, rudimentary testing has shown that I dont like the "wall" that it makes going from R to Z and L to zL. At the other extreme, locking LR down past the pots (a common mod ive seen to convert soft shield to a dual tact design) feels awkward and besides doesnt fit within my goal of keeping the wb looking like a proper GCc. Catch 22 but any suggestions?
    Let me know if you see any pitfalls I am heading into! Thanks. My next post ought to be about the GCc pcb and where/how im going to bridge to the JCs.
     
  4. moonDoctor .

    Joined:
    Sep 11, 2018
    Messages:
    12
    Likes Received:
    9
    Location:
    Indianapolis
    What is a keypad matrix? That is a term i havent run into before. I assume you mean some sort of programming rather than relying on the presence or lack of signal?

    Will this interfere with using the GCc pcb as a non-powered slave? (this is something i was going to explain my theory next) Basically i wanted to use the GCc button press like a two-pole light switch. A bypass that can be closed using the GCc buttons. It seems that I will have to run wire for both signal and ground for each button. WHich is why im using magnet wire now (i will some point desolder that wire in the pictures, i got to save space!)
     

Share This Page

Loading...