These are the instructions for building your very own OFOF1 controller. If you can assemble a LEGO set and can do a bit of basic soldering, this will be very doable. It should take about 2 hours for a first time builder to go from kit to finished controller.
Here is the bare minimum of what you will need:
- Soldering iron
- Solder
- Flush cutters (flat nail clippers can also work)
- Hobby knife
- 3mm hex key
A multimeter is not technically required but will make your life easier. Flux can make the soldering easier but isn't necessary (I don't use it).
Here are all the parts that you will need (the packing list shows what I pack in the DIY kits I sell and includes a few spares of button parts, hotswap sockets, hardware, etc.)
Break the button panels apart and sort the top housings, bottom housings, and keycaps
Use the flush cutters and/or the hobby knife to clip/cut the remaining connecting bits from the button parts
Insert a top housing through the hole in the top panel
Put an o-ring over the protruding portion of the top housing
Screw the bottom housing onto the threads of the top housing until it is snug (not overly tight) and the square hole is parallel with the top panel
Repeat for the remaining 19 buttons. When finished it should look like this:
Insert switches into all the housings as shown - make sure the pins are aligned towards the bottom of the panel to fit with the hotswap sockets on the OF1 PCB
Do not put keycaps on yet
There are two methods of soldering the pico onto the OF1 PCB. The first method is for experienced solderers only. If you do not feel very comfortable soldering or do not have a mulitmeter, I recommend the second method.
Before starting either method, it is a good idea to program the pico and make sure it works. Plug it in to your computer with a micro USB cable and follow the instructions at https://github.com/JulienBernard3383279/pico-rectangle/ or https://github.com/JonnyHaystack/HayBox. If the pico does not show up on the computer when initially plugged in, it is defective and you should get a new pico.
Put a small amount of solder onto the USB data pads under the pico
Attach the pico to the OF1 board with tape or by soldering one of the debug pins to tack it in place. Turn the board over and solder the data pads through the plated holes as shown, while pressing down on the board. The solder on the pads on the pico should flow into the plated holes but you may need to add a little bit of additional solder to get enough heat flow.
After doing this and before soldering the rest of the pins, check continuity with a multimeter between the pins on the pico USB (circled on the left) and the d+ and d- pins on the OF1 board (circled on the right). Also make sure the data pins do not have continuity to each other.
Use this image as reference for finding d+ and d- on the pico USB
Finally, solder the rest of the pins. Finished result should look something like this:
Instead of surface mounting the pico to the OF1 board, you can buy a Micro USB to USB C cable and pin headers, which greatly reduces the chances for soldering issues that are difficult to fix. Below are links to examples that will work well for this (not provided in the DIY kit but recommended to purchase if you are a novice solderer)
https://www.amazon.com/dp/B0744BKDRD
https://www.amazon.com/MCIGICM-Header-2-45mm-Arduino-Connector/dp/B07PKKY8BX
Doing it this way will look like this. Just solder the pin headers into the OF1 PCB and then solder the pico onto the headers, and plug the cable into the pico and the secondary USB C port on the OF1 PCB.
After soldering the pico, return to the top panel with button housings and switches. Placing it face-up, insert the 16mm M5 screws into the 5 inner holes in the panel, ignoring the corners for now. Place small bits of painter's tape over the switches to keep them in place.
Take the top standoffs and break them apart and clean off the connecting bits
Turn the top panel over and place the standoffs as shown onto the 5 screws
Place the OF1 PCB onto the switches/standoffs as shown. Ensure that the pins of the switches are not bent.
Place the hotswap sockets on the switch pins and push them into place. You may need to lift up the top panel and squeeze between the switch and the hotswap socket to make sure they are both properly seated. The socket should rest flush against the OF1 PCB.
Solder the hotswap sockets to the board. Done properly the should look like this:
Take the bottom standoffs and break them apart and clean off the connecting bits, then place them on the OF1 PCB, over the 5 screws as shown.
Place the bottom panel on top of the bottom standoffs and gently screw on M5 weld nuts onto the screws in the 5 inner holes as shown. They do not need to be tight, just enough to hold the whole thing together.
Break apart and clean the corner standoffs, and then place them in each corner. Place a weld nut through each corner hole and cover with a bit of painter's tape to hold in place.
Turn the controller over, remove the painter's tape from the screws on the top panel, place screws in the four corners, and tighen all screws with the 3mm hex key.
Ensure everything is lined up correctly before tightening.
Turn the controller over and remove the painter's tape from the corner weld nuts. Take the anti-slip foam pad and peel it off the paper backing.
Stick on the bottom panel as shown. The adhesive is fairly strong so be careful to line it up correctly.
Turn the controller back over, and place the keycaps on the switches.
Congratulations! You finished your OFOF1!
If you want a carrying case, this one works well: