add hardware assembly guide

This commit is contained in:
Naxdy 2024-04-10 10:55:11 +02:00
parent 4ac7391cee
commit c0df1072c0
Signed by: Naxdy
GPG key ID: CC15075846BCE91B
27 changed files with 275 additions and 1 deletions

View file

@ -1 +1,273 @@
# Assembly Guide # Hardware Assembly
This is an illustrated guide to making a NaxGCC, using photos taken of a NaxGCC board version 1.0.0.
> **NOTE:** Assembling a NaxGCC is conceptually very similar to assembling a Phob 2.0, therefore many sections of this guide (including images) have been taken straight from the official PhobGCC assembly guide. Note that though some images may depict a PhobGCC, the steps are still applicable to the NaxGCC. In parts where the hardware differs, newer images have been used.
<img src="./assets/naxgcc-board-irl.jpg" style="display: block; margin-left: auto; margin-right: auto;" />
Though the NaxGCC is very beginner friendly, and it is possible to build a NaxGCC as your very first soldering project, it is still recommended to get a soldering practice kit to build your physical understanding of the soldering process with before you start.
[[_TOC_]]
## Tools
It's possible to work with cheap tools and supplies if you're very skilled.
But if you cheap out on solder or soldering iron "because you're just a beginner" you will be in for a lot of pain and suffering.
### Required Tools
- Temperature-controlled soldering iron with a moderate size chisel tip. **DO NOT USE AN UNCONTROLLED TEMPERATURE IRON!**
- Flux-core solder, ideally no-clean flux (Sn63Pb37 melts at a lower temperature, SAC305 is nontoxic and flows better)
- No-clean rosin flux paste (not to be confused with solder paste)
- Tri-Wing screwdriver and small JIS driver set (Phillips drivers can strip screws)
- Sharp tweezers
- Solder sucker (or more sophisticated desoldering tool)
- Vise or PCB support (the alligator clip kind is not very useful)
- Multimeter for debugging
- 90%+ rubbing alcohol and cotton swabs
### Suggested Tools
- Anti-static mat / grounding strap
- Fume fan
## Parts
Some of the parts are taken from a donor Gamecube controller, while others must be sourced new.
### New Parts
- NaxGCC board (includes C-Stick daughter board)
- 4x magnets (recommended: 3x3mm cylindrical neodym magnets)
- 3D-printed magnet holders
- superglue
- optional 2x trigger paddles from the PhobGCC project
- optional 4x D-pad buttons
- optional 4x mouse buttons for `ABXY` (assembly not depicted)
- optional 1x or 2x mouse buttons for triggers (assembly not depicted)
- wire
### Parts Harvested from Donor GCC
Not counting stick caps, buttons, etc.
- 2x stickboxes
- rumble motor (or use a cellphone rumble)
- rumble bracket (or source your own 3D-printed one)
- Z-button switch (or source your own alternative one)
- trigger paddles with attached wires (or use the ones from the PhobGCC project)
- top shell (or use a custom 3D-printed one)
- bottom shell
## Build Process
### GCC Part Harvesting
Begin by taking apart the donor GCC using a Tri-Wing screwdriver.
Remove the motherboard.
<img src="./assets/asm-mobo-removed.png" style="display: block; margin-left: auto; margin-right: auto;" />
You will want to remove the following parts from it:
1. Z button (or supply your own alternate as shown)
2. Trigger paddles (or use PhobGCC ones as alternates as shown)
3. Trigger potentiometers$^1$
4. Stickboxes (preferably T3)
5. Rumble bracket (or supply your own 3D-printed one)
6. GCC cable (or supply your own)
7. Rumble motor (or omit it, or use a cell rumble)
8. Stick caps
$^1$<small>these are not used in the NaxGCC presently, because SSBU doesn't respond to analog trigger signals, but you may attach them anyway for future-proofing purposes</small>
<img src="./assets/asm-parts.png" style="display: block; margin-left: auto; margin-right: auto;" />
If you're not familiar with removing the stickboxes, you can stick the points of tweezers between the stickbox and the potentiometers to unclip the potentiometers. Then, use a JIS #0 screwdriver to unscrew the screws from the bottom of the stickboxes.
<img src="./assets/asm-stickbox-removal.png" style="display: block; margin-left: auto; margin-right: auto;" />
### Magnet Mounting
Like the PhobGCC, NaxGCC uses sensors mounted perfectly flat on the board. You will need to mount magnets on the stickboxes using 3D-printed magnet mounts in order for the sensors to read the stick positions.
When using 3D-printed magnet holders, we strongly urge you to superglue (cyanoacrylate) the holders to the stickbox pegs. It's easiest to do this early in the process so that the superglue cures sufficiently before
First, clean the grease off the stickbox pegs with isopropyl alcohol and wipe off the alcohol. Do not allow it to evaporate on its own, or it will simply redeposit the grease back down.
Then, optionally, you may scratch up the pegs using a steel pick or a razor blade. This exposes clean, fresh plastic for gluing to.
<img src="./assets/asm-stickbox-glue.png" style="display: block; margin-left: auto; margin-right: auto;" />
**Do not apply superglue to the pegs!**
Press-fit the magnet holders over the pegs, making sure that the hole for the magnets is offset downward.
<img src="./assets/asm-stickbox-mounts.png" style="display: block; margin-left: auto; margin-right: auto;" />
The ideal offset may vary with different magnets, and different magnet/offset combinations may result in slightly different stick behavior.
Coat the inside of the magnet hole, and the top of the peg, with superglue. Thin superglue is preferred.
**Be _very sparing_ with superglue so you do not contaminate the stickbox!**
<img src="./assets/asm-stickbox-mount-glue.png" style="display: block; margin-left: auto; margin-right: auto;" />
Insert magnets into the magnet wells, making sure that the magnets are all oriented horizontally.
**If the magnets are not horizontal then the stick will not function.**
> **NOTE:** Ideally, the magnets should be inserted to have opposite polarity, that is to say if you were to remove the magnet mounts and hold them opposite each other, they should attract one another without attempting to flip orientation. Mounting them differently has been a source of issues in the past.
<img src="./assets/asm-stickbox-withmagnets.png" style="display: block; margin-left: auto; margin-right: auto;" />
If you wish, you can add extra superglue on top of the magnets to ensure they are securely held in place, though this is not absolutely necessary.
Set the stickboxes aside to cure.
### Trigger Modification
The NaxGCC only makes use of the digital trigger paddles, as such it is highly recommended to modify the `L` & `R` triggers to include a 3D-printed stopper in order to raise their height and make them more comfortable to use. You can find the 3D-printable stopper files in the [NaxGCC-HW git repo](https://git.naxdy.org/NaxdyOrg/NaxGCC-HW). Simply print two stoppers (or have someone print them for you) and slide them into the hole at the bottom of the triggers. Be careful when reassembling the controller, as slightly depressing the triggers may cause the rubber to be pushed out.
### Board Preparation
The C-Stick daughter board comes attached to the main NaxGCC motherboard. You will have to remove it.
To do this, first simply snap it off at the motherboard side. You can use your bare hands, but be careful to avoid touching the button contacts, such as for the Start button, or you may contaminate them with oil (not a big deal, but you'll have to clean it off with isopropyl alcohol afterwards, or risk the buttons not functioning reliably).
<img src="./assets/board-break.png" style="display: block; margin-left: auto; margin-right: auto;" />
Then, break the two "mousebites" off of the C-Stick daughterboard using pliers. Note that one is longer than the other; this is normal.
<img src="./assets/board-break2.png" style="display: block; margin-left: auto; margin-right: auto;" />
This should be the result.
<img src="./assets/board-break3.jpg" style="display: block; margin-left: auto; margin-right: auto;" />
### Z button Switch Soldering
The first soldering step is to solder the Z button switch on.
Make sure to put the button on the top side of the board where the silkscreen outline of the component is, not on the back.
Also make sure that the switch stands perfectly square to the board, or the board may not fit in the controller shell properly.
If you are using a Z button switch harvested from an original GCC, you can ignore the two large circular holes.
<img src="./assets/z-btn.png" style="display: block; margin-left: auto; margin-right: auto;" />
### Trigger Potentiometer Soldering
Currently, trigger potentiometers are not used in the NaxGCC, but you may attach them for future-proofing purposes. To do so, follow the [PhobGCC assembly guide](https://github.com/PhobGCC/PhobGCC-doc/blob/main/For_Makers/Build_Guide_2.0.md#trigger-potentiometer-soldering).
### Trigger Paddle Soldering
If you are using OEM trigger paddles, you may skip this step.
If you are using PhobGCC trigger paddles instead of OEM, you will need to solder wires to them yourself.
Cut four pieces of wire to about 38mm long and strip the insulation off the ends.
Apply flux to the ends of the wires, making sure not to cause them to fray if using stranded wire.
Hold the trigger paddles in a vise and apply solder to fill the through-hole pads with solder.
<img src="./assets/trigger-paddle.png" style="display: block; margin-left: auto; margin-right: auto;" />
Then, heat the front side of each through-hole with your soldering iron to melt it, and insert the fluxed end of the wire from the back side of the hole where the silkscreen markings are.
<img src="./assets/trigger-paddle2.png" style="display: block; margin-left: auto; margin-right: auto;" />
### C-Stick Cable Soldering
The C-Stick needs six conductors connecting it to the main motherboard.
You will have to provide your own wire for this, though there may come to be brand-new ribbon cables available that may suit the purposes. Any such ribbon cables should be between 1 and 1.5 inches long (25 to 38mm) and must be 2 millimeter wire spacing. We strongly discourage the use of ribbon cables harvested from other controllers, as poorly folding previously-used ribbon cables has been a major cause of issues with PhobGCCs in the past.
Cut six pieces of wire to about 38mm long and strip the insulation off the ends.
Apply flux to the ends of the wires, making sure not to cause them to fray if using stranded wire.
Follow the same procedure as with the trigger paddles to solder the wires to the C-Stick daughter board. Note that this is the side with silkscreen around the through-holes.
<img src="./assets/cstick-solder.png" style="display: block; margin-left: auto; margin-right: auto;" />
For these especially, if you are using individual wires, it is highly recommended that you make their lengths as consistent as possible, and solder them such that the insulation ends at the same distance from the C-stick daughterboard.
<img src="./assets/cstick-solder2.png" style="display: block; margin-left: auto; margin-right: auto;" />
The uniform length helps when you are inserting the wires into the motherboard.
Support the motherboard above the C-Stick daughterboard with the daughterboard oriented like this.
If you flip it around, the C-stick will not function at all.
<img src="./assets/cstick-solder3.png" style="display: block; margin-left: auto; margin-right: auto;" />
Insert all of the C-Stick wires into the motherboard.
Make sure that all of the wires are straight and none of them are crossed, or the C-Stick will not function.
<img src="./assets/cstick-solder4.png" style="display: block; margin-left: auto; margin-right: auto;" />
Then solder the wires.
<img src="./assets/cstick-solder5.png" style="display: block; margin-left: auto; margin-right: auto;" />
### Stickbox Installation
Install the stickboxes on the motherboard and the C-Stick.
<img src="./assets/stickbox-installed.png" style="display: block; margin-left: auto; margin-right: auto;" />
You must have the magnets mounted above the 3-legged SMD Hall-Effect sensors.
### Trigger Paddle Soldering
Insert the trigger paddles into the rumble bracket (whether OEM or third-party), ensuring that the contacts on the trigger paddle are visible. Route the wires out the slots on the back of the rumble bracket.
Then mount the rumble bracket to the motherboard. In the image, there is already a rumble motor in the rumble bracket, but that can be left until later. The rumble bracket can be held in place using a clothespin.
Tuck the wires from the trigger paddles into their respective holes on the motherboard.
For R, make sure not to mix up the holes with the extra holes for mouseswitch Z, which are nearby.
<img src="./assets/trigger-solder.png" style="display: block; margin-left: auto; margin-right: auto;" />
Then solder the wires in place.
<img src="./assets/trigger-solder2.png" style="display: block; margin-left: auto; margin-right: auto;" />
### Rumble Motor Soldering
Mount the rumble motor in the rumble bracket by inserting it into the rectangular box. Make sure that the shaft is on the side with the USB-C connector, and the motor is rotated so that the wires are on the D-pad side, close to the edge of the box. Solder the rumble motor wires to the motherboard, with the red soldered to the `+` pad and the black soldered to the `-` pad.
### Top Shell Modification
If you're using a 3D-printed top shell, you may skip this step.
If you're using an OEM top shell, you will need to modify it to allow the USB cable to pass through. An easy way to do this is using your soldering iron. Simply melt away the extra plastic in the center of the shell, enough for the USB-C connector to fit through. It won't be pretty, but it'll get the job done.
More advanced modders, feel free to use a dremel or a drill to make a cleaner hole.
> **NOTE:** When melting or sanding, take care to wear breathing protection and work in a well-ventilated area. The fumes from melting plastic are toxic, and inhaling microplastics is not particularly good for your health either.
> **NOTE:** It is highly recommended to only do this with a soldering iron that has exchangeable tips, as the plastic will stick to the tip and reduce its usefulness for actual soldering. Conical tips are best expended for this, since they aren't very good at making surface contact for soldering anyway.
The end result should look something like this:
<img src="./assets/melt-topshell.jpg" style="display: block; margin-left: auto; margin-right: auto;" />
The USB-C port should be easily accessible from the outside of the controller:
<img src="./assets/usb-c-port.jpg" style="display: block; margin-left: auto; margin-right: auto;" />
## Completion and Next Steps
Now your NaxGCC should be complete!
Reassemble your controller and head on over to the [configuration guide](./configuration.md) to set up your controller to your liking.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 MiB

BIN
src/assets/asm-parts.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 718 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 812 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 807 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 845 KiB

BIN
src/assets/board-break.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 MiB

BIN
src/assets/board-break2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,000 KiB

BIN
src/assets/board-break3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 831 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 849 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 953 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 933 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 819 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

BIN
src/assets/omron-z.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 971 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 838 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 870 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 821 KiB

BIN
src/assets/usb-c-port.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB

BIN
src/assets/z-btn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 884 KiB

View file

@ -6,6 +6,8 @@ You'll notice that the GCC cable no longer works. The whole point of the NaxGCC
You will also need a **right-angle micro USB cable** to connect to the Phob board. This is because the clearance between the board and the shell is very tight, and a regular micro USB cable will not fit. Alternatively, you can drill or melt a hole in the top part of the shell, but this is not recommended as it will make the controller less comfortable to hold. You will also need a **right-angle micro USB cable** to connect to the Phob board. This is because the clearance between the board and the shell is very tight, and a regular micro USB cable will not fit. Alternatively, you can drill or melt a hole in the top part of the shell, but this is not recommended as it will make the controller less comfortable to hold.
You will also need to make modifications to your top shell, as outlined in the [hardware assembly guide](./assembly.md#top-shell-modification).
> **NOTE:** When choosing a right-angle micro USB cable to buy, keep in mind that the wide side of the trapezoid connector is going to be facing upwards when the controller is held normally. Most right-angle micro USB cables have the wide side facing downwards, so you will need to find one that fits this particular use case. Here's an example of what it _should_ look like: > **NOTE:** When choosing a right-angle micro USB cable to buy, keep in mind that the wide side of the trapezoid connector is going to be facing upwards when the controller is held normally. Most right-angle micro USB cables have the wide side facing downwards, so you will need to find one that fits this particular use case. Here's an example of what it _should_ look like:
> >
> <img src="./assets/angle-usb.png" style="display: block; margin-left: auto; margin-right: auto;" /> > <img src="./assets/angle-usb.png" style="display: block; margin-left: auto; margin-right: auto;" />