Guide on setting up a button box for Microsoft Flight Simulator. For DaGodz and friends.
A button box is simply a collection of external buttons, switches, dials etc that have been wired together into a board that can act as a HID device (boards like the Arduino Leaonardo or Pro Micro that use the atmega32u4 does this). The board then has its firmware updated so that activated the various inputs will cause code to be run. On the other side of things, Microsoft Flight Simulator has an SDK that allows external applications to get data from it and send inputs. More on that below. This document doesn't cover creating the physical circuits, there are plenty of YouTube videos on that.
- Microsoft Flight Simulator 2020 (or any previous version, XPlane etc) - The game/sim.
- FSUIPC7 BETA - Acts as a gateway for input events from your button box and output events from the Sim.
- MobiFlight - Provides easy to use configuration for FSUIPC to upload to your button box controller board.
- Arduino IDE - Configures the communication with your Arduino or equivalent board.
MobiFlight uses the Arudiono IDE configuration (not shown below) to update the firmware of the controller board. The board then sends signals based on inputs from the buttons, switches, encoders etc to MobiFlight. MobiFlight in turn translates these to events that FSUIPC7 can see, which in turn sends those events into the SDK/SimConnect (it's not completely clear if these are the same thing), which passes them onto the Sim. The same is true in reverse, which allows for events in the game to causes changes on your physical button box, like making LEDs change and displays to show information. Neat huh!?
- Plug in your button box.
- Open the Arduino IDE and select the right board variant and COM port.
- Open
MobiFlight > Extras > Settings > MobiFlight Modulesand configure the components of your button box.- Don't forget to upload your configuration to the board by clicking the
Uploadbutton.
- Don't forget to upload your configuration to the board by clicking the
- Configure MobiFlight on the main window by adding Inputs/Outputs as needed.
- In testing, I have found that using the preset
Event IDitems is nice and easy.
- In testing, I have found that using the preset
- Open FSUIPC7.
- Click
Runon MobiFlight. - Start the Sim.
- Enjoy!