SwitchPanel is an open-source firmware for a flight simulator switch panel inspired by Cessna cockpit layouts. It runs on an Arduino Pro Micro (ATmega32U4) and presents itself as a USB HID joystick device for plug-and-play compatibility with major flight sim platforms.
- USB HID joystick interface via
Joystick.h - 22 toggle switches mapped to joystick buttons
- Plug-and-play on Windows, macOS, and Linux
- Built using PlatformIO and compatible with Arduino Pro Micro boards
- Clean HID report structure for driverless operation
This firmware is designed for use with:
- Arduino Pro Micro (ATmega32U4)
- Toggle switches wired to digital inputs
- Optional: custom enclosure, labeling, and mounting
Note: Hardware design is not open-sourced at this time. Only the firmware and HID logic are published.
- Add support for rotary encoders and momentary switches
- Expand HID report to include axes or hat switches
- /src folder is used for source code
- /docs folder is used for build examples and configuration tips
- /include - unused at the moment
- /test - unused at the moment
- Download the repository to your local machine
- Build using Visual Studio Code with PlatformIO plugin installed
- Connect the board
- Flush the board using PlatformIO Upload command
- Download the main.cpp file from /src folder
- Rename the file to main.ino
- Open Arduino IDE and add Joystick library
- Compile and upload the sketch