Skip to content

Latest commit

 

History

History
46 lines (34 loc) · 3.11 KB

readme.md

File metadata and controls

46 lines (34 loc) · 3.11 KB

Game Controller Design Version 1.1

The main idea is to make a PC controller using Arduino Nano 33 BLE, slim buttons, tactile buttons, vertical tactile buttons and analog sticks based on the designs below.

Design

Schematic

Schematic
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 Force-Sensitive Resistors to allows the analog value to change the more the button is pushed. An alternative approach would be to use a potentiometer and turning mechanism when the button is pushed.
  • Based on the Arduino pinout diagram, I am connecting the 3.3V and GND to the +ve and -ve ends of the battery to power the Arduino.
  • A voltage regulator should be put in this schematic.

PCB

The PCB designed from schematic is also included with the Gerber files. It most likely doesn't follow best practices for routing connections and needs to be tested.

  • The intention is that the pads meant for the Arduino line up with the pins on the board and can be used without having to solder it.
  • Later work needs to be done to directly connect a nRF52840 microcontroller instead of the whole Arduino board.

Buttons

Buttons
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.

Code

Use Matthew Heironimus' Arduino Joystick Library to make the Arduino Sketch that will act as the firmware for the controller.

Note: Currently I don't have an Arduino Nano 33 BLE available so I am using an Arduino Leonardo to test my code.

Parts

Tool Used