Re-creating the Homemade Accessibility Controller in Singapore
Posted 16th Aug 2020
Early this year, a ray of sunshine blew through my browser and brightened my day. Rory Steel, a teacher and head of the Digital Jersey Academy, had built a custom arcade stick controller for his daughter Ava, so she could play Legend of Zelda : Breath of the Wild on her Nintendo Switch. The large, beaming smile on her face was priceless. For some strange reason I immediately wanted to build one myself. If something could bring so much joy to a child, we ought to have more of them in this world, I probably thought.
Rory's project was unique because of two main reasons: it was a custom controller that worked with the Nintendo Switch, and there were actually two controllers - arcade sticks and buttons on the top, and a Microsoft XBox Adaptive Controller tucked underneath it. It took me about half a year to assemble all the parts I needed to recreate this project, but only a day to put it together.
Here, I document my process and thoughts for anyone who might want to create this artifact of joy for their loved ones or just to make the world a brighter place like this family did. I tried to understand what I could from Rory's video, made some guesses and adjustments of my own. Rory mentioned that he's already working on a version 2.0, so follow him for updates!
First thing I needed was the XBox Adaptive Controller, of course. I ordered it from the Microsoft Store and it was delivered promptly. I already had a two-player arcade controller kit sitting at home which I ordered online( TaoBao ) for another project.
Cable Set for Arcade Buttons
Connecting these two controllers together were the 3.5mm Male-to-Male TRS cable and the 3.5mm Stereo Audio Jack Terminal Block. More accurately, this cable set connected each arcade button to a port on the XAC ( XBox Adaptive Controller ), which allowed it to register as button on the XBox controller. For example, when plugged into the A button port, the arcade button activates it when pressed.
Preparing a single cable set is a fair bit of work; I was going for something not too permanent, that allowed me to reconnect things easily in case I made a mistake, so I avoided soldering.
Connect the terminal to one end of the cable
Strip the insulation off the ends of two wires
Unscrew the "L" and "Ground" ports of the terminal, insert the wires and screw tight
Fit the 4mm wide Spade Crimp Receptacles to the wires and crimp down with the crimping tool
Note the connectors at the bottom of the arcade button, the wires will be fitted into the TOP connectors
The bottom connectors are used for LED power, the arrows are pointing downwards towards them
In order to play Legend of Zelda : Breath of the Wild, you will need to utilise pretty much every button on the joycons: A, B, X, Y, Up, Down, Left, Right, LS, RS, LT, RT, +, -, Home, Screenshot, L3, R3. That means a whopping 18 sets! It's a labour of love for sure.
Next up are the controller sticks, which connect to a circuit board that connects to a USB cable. The USB cable will connect to the XAC, same as the arcade buttons.
Arcade Stick Circuit board
Connecting the arcade stick up is pretty straightforward, but only because this kit came with a good circuit board that made things easy.
Connect the USB cable's 4-pin connector to the circuit board
Connect the 5-pin connector to the circuit board
Connect the other end of the 5-pin cable to the arcade stick
I wasn't sure whether the connector on the arcade stick was facing up or down; in the end, when I finished everything and tested it, I had to disconnect it and flip it upside down when I noticed it wasn't moving correctly.
Making the Box
I don't have access to wood cutting equipment or the space to do it, so I like to make a lot of my fun projects out of cardboard( it's cleaner and easier ). It's no long term solution, of course!
Connecting to the XBox Adaptive Controller
Time to put on my UI/UX Designer Hat! The cables are a real mess, it could have been much neater if I had gotten shorter cables! The ease of disconnecting and re-plugging into different buttons made iterating to find the best combination actually fun! In this diagram, I prioritised the core movement and combat mechanics and placed them where it was easiest to reach.
The Rosetta Stone
At this point, the controller was ready to use! Using a USB-C cable, I could connect the XAC to the PC, and everything just works. I could use this for any PC game I wanted, and reassign the keys easily by reattaching the cables, or using a third party software like Joy-To-Key. However, this project was to emulate Rory's controller so it had to work on the Nintendo Switch. Normally, only Nintendo-approved controllers will be able to work with the Nintendo Switch, so both the custom controller and XAC won't be able to.
This is where things start to get a little dicey, as an adaptor called the Mayflash Magic NS is able to trick the Switch into thinking a Nintendo Switch Pro Controller has been plugged in. So that's all there is to it to get it to work. Some risk involved though, see below!
Change the settings in Nintendo Switch to use Pro Controller
Purchase a Mayflash Magic NS and update its firmware
Set the Magic NS to "Nintendo Switch" mode( purple led )
Plug Magic NS into the Switch docking station
Connect the XAC to Magic NS
Disclaimer: Nintendo's not fond of unapproved third party products, understandably, so I have read about certain products that caused the Switch to brick, ie. not work anymore ever. So try this at your own risk, I know I was sweating a little. My current version of Switch is 10.1.0, and my Magic NS is at v1.29, and it works fine. Sometimes it takes a little while to register the controller has been plugged in but otherwise no problem.
Make It Glow
Now that everything works, it's time to make it glow! For this part of the work, the kit provided a set of wires that were daisy-chained and fitted with spade crimp connectors so it was really easy. However, a little trial and error was still needed, as the red( positive ) and black( negative ) polarities were reversed. My lights did not light up until I switched it around.
Connect the 2-pin connector to the circuit board( +5V )
Connect the red wires to the positive terminals on each arcade button in sequence
Connect the black wires to the negative terminals on each arcade button in sequence
This project was a lot of fun, and I learned a lot from it too. The best part of it was the Xbox Adaptive Controller because it opened up a whole world of possibilities that I never knew was available already. Game designers, professional gamers, parents, caretakers and hobbyists could all find some use in this. Prototyping a new way to play? Taking your game to the next level? Rehabilitate a patient through digital mediums? Enabling people with special needs? This just makes it so much easier, and fun too! Companies like Logitech even provide a range of special devices to extend from the XAC.
If I was just looking to create a arcade stick controller for the Nintendo Switch, then all I needed was the Mayflash Magic NS. The XAC allows me to break it all apart and rethink the controls from the ground up. Depending on the individual's preferences and needs, the design could change dramatically.
In the end, this is just a prototype based on Rory's "version one" and it's unable to sustain long term usage. This walkthrough will hopefully provide more clarity on how the controller was put together. In case you want to have a proper build put together, you could try asking these guys:
Special thanks to my wife for her shoeboxes and for putting up with the mess I make.
All photographs, diagrams and text are copyrighted and are made for your personal viewing only. You may link to this site, but not directly to the images. Feel free to contact us for more info.