These are the main steps you'll do for the conversion:
- open up the controller
- remove wired connector cable and the original IC
- solder wires from the button test points to the ItsyBitsy ESP32
- cut a little bit of plastic to fit the USB connector for charging
- optionally, drill a couple of holes to see the status LEDs
Open the Controller
Unscrew the eight screws with a Philips #1 screwdriver and set them in a safe place.
Open the controller by lifting up the back shell.
Remove the main PCB and shoulder button boards, then set the case and rubber button pads aside.
LED Holes
You can drill a small hole if you like in the back of the case so you can see the indicator NeoPixel LED.
A hole in the inner side of the right grip in the back of the case can be used to see the charger LED status.
You could optionally get fancy and fashion some light pipes from clear plastic. The best bet is usually to scavenge light pipes from old, broken hardware.
Desolder Cable
Flip the PCB over and desolder the six pins that connect the cable to the PCB. It's helpful to use some extra flux or fresh solder, heat up each joint and then use a solder sucker to, well, suck up the solder.
You can also desolder and remove the large electrolytic capacitor to free up some space.
We'll use these holes for routing wires, so it's good to get them nice and free of solder.
IC Removal
This is also a good time to desolder and remove the original IC controller chip from the PCB.
You can see from these pictures that I had already wired the buttons pads when I realized the IC needed to be removed, otherwise I was seeing spurious button presses occur as the IC was being accidentally powered in unintended ways.
Wiring
This is the most fiddly part. Wiring the buttons and ground from the PCB to the ItsyBitsy GPIO pins.
Cut a six inch length of the rainbow hookup wires, strip one end, solder to the appropriate solder point, and then route it through a PCB hole to the other side where you'll feed the wire through the matched ItsyBitsy GPIO pad.
I ran all of the wires through the pads as shown before cutting, stripping, and soldering them to the ItsyBitsy in order to get the routing and lengths right.
Consult the wiring diagram and PCB overlay shown below.
Shoulder Buttons
Here are some detailed photos of the shoulder button wiring. I used Kapton tape to dress these wires as shown.
Note the R2 trigger button wiring from the extension PCB to the ItsyBitsy reset pin.
LiPo Charger
Prep the charger by soldering 6" lengths of wire as shown. Once the controller is partly assembled in the shell we'll solder the other ends to the BAT, G, and USB pins on the ItsyBitsy.
USB Power Extension
You'll add a USB-C jack to the top of the controller to charge the battery.
Solder wires from USB jack breakout G to ground on the ItsyBitsy, and breakout V to USB pin on the ItsyBitsy.
Trim some plastic from the case to accommodate the breakout jack.
Attach USB Breakout
Use a bit of CA glue to affix the USB breakout to the controller PCB.
You can add some tape to insulate the exposed contacts from accidental shorts.
The USB port is for charging only, not data. You'll be able to use over-the-air (OTA) firmware updates over WiFi should you ever want to adjust the code once the controller is closed back up.
Close the Controller
Carefully close the shell and screw it back together with the eight Philips screws.
Your controller is ready for play! See the next page in the guide for details on pairing and use.
Page last edited April 24, 2024
Text editor powered by tinymce.