Skip to content

The following is a HID 16 button arcade stick. The tm4c123gxl microcontroller is used for this project.

Notifications You must be signed in to change notification settings

SnrNotHere16/ArcadeStickWithoutScreen

Repository files navigation

The following is a 16 button arcade stick using the tiva TM4C123GXL microcontroller.

16 Button Arcade Stick with Analog thumb Joystick

This project is a 16 button Arcade Stick with an Analog thumb Joystick. This project was cloned from my former project, which was a 15 button controller with a LCD screen. This project was made to add more buttons and make it more easier for people to use and implement. https://github.com/SnrNotHere16/ArcadeStickWithScreen


Buttons/Ports
Button0 - PB0
Button1 - PB1
Button2 - PB2
Button3 - PB3
Button4 - PB4
Button5 - PB5
Button6 - PB6
Button7 - PB7
Button8 - PC4
Button9 - PC5
Button10 - PC6
Button11 - PC7
Button12 - PA2
Button13 - PA3
Button14 - PA4
Button15 - PA5
AnalogX - PE3
AnalogY - PE2
AnalogZ - PE1

Testing inputs

The best way to test the inputs is to type "Set up USB game controllers" into the windows search bar. This should prompt this screen.

Pressing the buttons and moving the thumbstick should be read by the screen.

Schematic

Schematic: https://github.com/SnrNotHere16/ArcadeStickWithoutScreen/blob/master/Schematic_PCB/16buttonTivaCGamepadSchematic.pdf

PCB

Additional Images

Simple Setup

  1. Open LM Flash Programmer

2. Select TM4C123G LaunchPad

3. Make sure you Tiva c is connected and in DEBUG mode. Go to "Program" and place the bin file ("16button_usb_dev_gamepad.bin"), which is located in this repository, in "Select .bin file" and click "Program"

4. Disconnect the tiva c and connect it in DEVICE mode. To see if the installation is succesful, type "Set up USB game controllers" into the windows search bar. This should prompt this screen. The tiva c should flash it's green LED.

Code Composer Project Setup

  1. In Code Composer Open "Resource Explorer" and select "EK-TM4C123GXL"

2. Add "usb_dev_gamepad". This is a starter project that uses only 2 buttons (PF0 and PF2), which are the onboard switches. You can run it and test it. If you want to test it, make sure once you load the project to switch the tiva-c to DEVICE mode. You should see the LED blink BLUE.

Original project running

3. If you would like to run this repository's project. You need to modify four files. Copy and paste the code from these files to the matching files in the starter project. https://github.com/SnrNotHere16/ArcadeStickWithoutScreen/tree/master/usb_dev_gamepad_files_changed/usb_dev_gamepad_altered_code
4. Build and load the program then switch to device mode. This time the green LED should flash instead of the blue LED.

Ordering PCB

I ordered from JLCPCB. The gerber files are provided at https://github.com/SnrNotHere16/ArcadeStickWithoutScreen/tree/master/Schematic_PCB/GerberFIles_DrillFiles