Skip to content

A 31 button USB Windows game controller built using an ATMega328 microcontroller for use with Flight Simulators

Notifications You must be signed in to change notification settings

gareththegeek/GBoxController

Repository files navigation

GBoxController

Design for a 31 button USB Windows game controller built using an ATMega328 microcontroller for use with Flight Simulators.

This software was built using the following tools and libraries

V-USB
Atmel Studio 6.2
Arduino IDE
DIY Layout Creator
Fritzing

The device utilises the built in Windows human interface device (HID) driver and should appear in the Control Panel under Game Controllers as a 31 button device. The controller has:

  • 8 x two way switches (one button each)
  • 4 x three way switches (two buttons each)
  • 5 x rotary encoders with push buttons (three buttons each)

See the schematics folder for logical and physical circuit diagrams. I have included png renderings of these diagrams in case you don't have/want the relevant software to view them.

In order to load onto the ATMega chip, I used the Arduino IDE with an Arduino Uno to act as the in service programmer (ISP). See this tutorial for an example of how to do this. The circuit design contains a standard 6 pin ISP socket for this purpose.

The Atmel Studio solution will compile to a binary .hex file. I found it necessary to modify the Arduino IDE's boards.txt to include an additional entry entitled 'ATMega' which pointed to the location of the compiled binary file in order to use the Arduino ISP.

The controller is designed to send a pulse (button press) each time the state of a switch changes. For example, moving a two way switch up, down, up will result in three separate button presses for the corresponding button.

About

A 31 button USB Windows game controller built using an ATMega328 microcontroller for use with Flight Simulators

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published