The main idea is to make a PC controller using Arduino Micro, slim buttons, tactile buttons, vertical tactile buttons and analog sticks based on the designs below.
Exported from schematic.json
- The Arduino digital pins are put as INPUT_PULLUP so that when the button is closed, the signal goes to low in the digital input to register a press.
- The L2 and R2 buttons are analog while the rest of them should be digital. The L2 and R2 inputs would be using potentiometers which will require a turning mechanism when the button is pushed.
The PCB designed from schematic is also included with the Gerber files. It most likely doesn't follow best practices for routing connections but has been tested and does work.
- The intention is that the female headers allow for the Arduino to be attacched to the board without having to solder it.
- Later work needs to be done to directly connect the Arduino's microcontroller directly instead of the whole Arduino board.
Exported from buttons.drawio
- The button holes are meant to be able to be turned 45° clockwise to switch from Nintendo layout to Xbox layout.
- The size of the holes should be different so that even if it looks similar the wrong button shouldn't able to go in the wrong hole.
Use Matthew Heironimus' Arduino Joystick Library to make the Arduino Sketch that will act as the firmware for the controller.