There are 3 high-level steps for creating each joystick:

Setup the Bluetooth adapter (EzKey) 'Build' the box Final Connections

Setup Bluetooth

You can either connect the adapter to a PCB or directly use the pins provided. I did both but I'll focus on the latter (non-PCB) approach. To start setup the provided pins on the board and solder the pins from the underside. Next you need to connect some power to the adapter so we can pair it and test it out. Connect the red wire coming from the battery pack to the Vin terminal on adapter and the black wire to the G terminal. The adapter's LED should start flashing.

Next, I paired the adapter with my home PC so I could remap the keys. You have the ability to map the key associated with each of the numbered pins (0-11) on the ezkey. I chose to map the keys using the key mappings I used on my home arcade, which were based on this diagram . For more information on pairing and mapping keys see this excellent guide.

After mapping the keys I then paired the adapter to the Raspberry Pi also using the details from the guide linked above. After pairing I could test the bluetooth adapter but creating a short between one of the mapped pins and ground.

Build the Box

In prepping the box the first thing to do is layout where you want your buttons and joystick. You need to plan for where the button controls will be attached inside the box so that you leave enough room for connections. I ended up going with 4 game buttons, as well as a start and select/coin button. I also used an extra button for "escape" just on the player one control. Each box also had a latching button to control the power. I used cheaper Happ buttons and joysticks for most buttons and a few smaller Adafruit buttons for things like escape and the power button. The Happ buttons are a lot bigger and more of a headache fitting inside the small box - I'd probably recommend going with more of the smaller Adafruit buttons.

For the Happ buttons I drilled 1 1/8" holes, the Adafruit buttons used 5/8" buttons. You can see in the picture how I arranged the buttons, but any arrangement that fits should work.

I then painted the boxes with an oil based primer and black paint that I had around. Definitely an optional step but I think it came out better. After 2 coats, some sanding and time for drying it was now time to place all the buttons in the box and tighten them into place.

Final Connections

With the box built the last step was to connect all the wires. I used some quick disconnect wires and a female pin connector to connect the buttons to the Ez-Key. I created two ground loops one for the right side buttons and one for left (buttons and joystick). Each button maps to a pin on the Ez0Jet which in turn maps to a key press (as defined in the Setup Bluetooth section).

I also added a latching button to the power supply so that it's easy to turn the joystick on and off.