MS Flightsimulator 2020 Framedrops/Stutters are fixed with MSFS Release

Arduino boards to use as USB/HID controllers

Discussion about special hardware
User avatar
Posts: 172
Joined: 10 Mar 2015, 22:00
Status: Offline

Arduino boards to use as USB/HID controllers

Post by OldAirmail » 27 Nov 2016, 22:42

Arduino boards based on the Atmega32U4 processor not only have USB connections for programming, but have the ability to work as HID (joystick/keyboard) devices without any additional circuitry.

This means that with very little programming they can used to build flight controls or repair flight control equipment.

For the most part the programming can be found online and simply loaded into the Arduino board.

If it's totally unfamiliar to you don't worry. The basics of loading the Arduino can be found on the internet and YouTube. You'll probably not even have to do any real programming at all for most things.

In fact, the program that I used for my GPS was downloaded and used without ANY changes.

This list of Arduino boards with the ATmega32u4 processor was taken from this Wiki link - List of Arduino boards and compatible systems

Arduino Yún
Arduino Leonardo
Arduino Esplora
Arduino Micro
Pro Micro (a reduced in size copy of a Leonardo board, and programmed as a Leonardo)

Atmega32u4 boards can be found on eBay for less than $3

The two best (cheapest) ones that I've tried are the Arduino Micro and the Pro Micro.

To the best of my knowledge, any of the Arduino boards above can handle everything from buttons, to keyboard key presses, to LEDs, to encoders, and more, all on the same board.

The Teensy 2, and up, not only can be programmed for an HID/keyboard device , but actually comes with the button/keyboard/joystick programming. The Teensy 3.2, and up from PJRC are both very good and very fast. But they do cost a lot more.

The Teensy 3.X series would be best if you intend to build a full cockpit.

With building a full cockpit though, I would think that learning to write code, would be essential.

But just to make a button box, or a small control panel" No problem.

On a side note

HID controllers can be assigned names/numbers by the manufacturer to distinguish one from the other. The Arduino boards only have the "family" name assigned, and that can't be easily changed. Under normal circumstances anyway.

They'll show up as "Arduino Micro" and "Arduino Micro" if you have two. And "Arduino Micro", "Arduino Micro" and "Arduino Micro" if you have three.

Get the point? One or two shouldn't be a problem, especially if you label the USB plug end. But the more you get. the more you'll want a way to rename them. Except that you can't rename them, right?

Yes and no. There's a program called SPAD.neXt used for programming flight controls, that lets you assign them working names.

Here's a sample of assigning two commands to a Saitek switch. When you switch it on, one action is applied. When you switch it off (contact lost), another action is applied. You can fo this to any switch, button, or lever that your computer can see.

1 Saitek Switch Panel, 1 Radio Panel, 1 Multi Panel, 1 BIP, 1 FIP,
1 Saitek Rudder Pedal,
1 Saitek Throttle, 1 Saitek TPM, 1 Desktop Aviator GPS, 1 CH Yoke