Project Name: KayO

Project Description:

This device is a controller intended to be used for playing fighting games. It comprises a collection of 14-18, 24mm, arcade buttons on the top of a box that can each input a specific action and on the side that are used for auxiliary functions. The reason for variable number of buttons is due to the 2 possible versions of the fight stick. There can be either a joystick, on controller option 1, or a set of 4 of the directional buttons on the top of the box, on controller option 2. The controllers will have either control feature, but not both. The four directional buttons/joystick will be on the left half of the box. There will be 8 customizable action buttons on the right half of the box. The left over 6 auxiliary buttons will be put on either side of the box. Steam will interpret upon mapping them to the buttons on a regular Xbox controller. The controller will also have both USB and Bluetooth capability to connect to the PC that hosts the game. The current connection status will be displayed on a 320x240 pixel LCD screen by reading the image from an SD card. The controller is intended to provide a more ergonomic experience when playing these games for hours at a go. This way any strain caused to the wrist by using a regular gamepad can be avoided. The controller is powered from both the USB connection, or a Li-Po battery (which is both changeable and chargeable) when not hooked up to USB. We plan to also monitor the battery percentage and regularly update the OLED screen with the current battery level when operating on Bluetooth.

Project Specific Design Requirements (PSDRs):

  1. PSDR #1 (Hardware): An ability to establish USB interface between the microcontroller and the Host-PC.
  2. PSDR #2 (Hardware): An ability to communicate serially between STM32 and Bluetooth module (ESP32) via UART.
  3. PSDR #3 (Hardware): An ability to display status image from microcontroller to an OLED/LCD screen using SPI.
  4. PSDR #4 (Hardware): An ability to convert power from 5V to 3.3V using buck-boost converter.
  5. PSDR #5 (Hardware): An ability to communicate between the MCU and Battery Monitor ICs to read Battery Percentage and Battery status through I2C.

Block Diagram:


PCB Design Final (03/07/2024):

DOWNLOAD KiCad Zip Files

DOWNLOAD GERBER