Rob The Nerd .com Low Fat!


You are here: Home > Projects > Button Box > About


DIY ButtonBox
Being quite interested in Elite: Dangerous (and flight sims in general), I decided to build my own button box to add new controls for use in these games, complementing my trusty T-Flight HOTAS-X controller. The idea was to provide dedicated buttons and switches for functions like landing gear, autopilot defensive measures etc. instead of having to remember which key on the keyboard or what button combination on the HOTAS provided that action. These pages talk about the build process of my button box

Button Box

Initial Plans
My initial idea was to simply take any old USB controller like an XBox360 clone controller or similar, gut it and use the internals as an interface for my new buttons and controls. These controllers typically offer around 14 buttons (4 main, 4 shoulder, 2 stick clicks and the 4 D-pad directions), and 4 analogue axes, all of which I could use as inputs for my own buttons and dials. But looking at a lot of the controls I wanted to move away from the keyboard, very few supported analogue axes, instead using button inputs to increase or decrease the controls. Microsoft Flight Simulator X has button inputs for adjusting rudder trim for example. So with that in mind, 14 buttons isn't actually an awful lot when many controls require two buttons for their adjustments. So I decided to look into alternatives.

The first thought I had was to use a keyboard controller, but these can be tricky to hack because keyboards tend to use printed plastic membranes instead of real circuit boards and so you can't simply wire up to their switches - you have to map and then recreate a large matrix for the switches. I have a look online and found people had created custom keyboard controllers - something like keyboard emulators - that pretend to be a keyboard but can be easily connected to any sort of switches. This sounded great, but after I thought about it for a while I realised it's not that great a thing, since mapping it independently of the actual keyboard in use would be tricky, and toggle switches that hold their position would interfere with other tasks when not playing the game.

Interface Board Selection
After a little more research reading about people who had built custom cockpits for their flight sim addictions, I found a controller board used by many which is designed for making custom flight controls. It was similar to the custom keyboard controller I had found in that it was intended for DIY buttons, but it showed up on USB as a unique controller so mapping would be easier, and it had fantastic inputs: Up to 32 buttons, a 4-direction hat switch, and 8 analogue inputs with 12 bit resolution. On top of that, the button inputs could also be configured to accept 2-bit rotary encoder inputs and convert them into button presses. This sounded ideal! So I bought one.

Read more:  Design  |  About