Arduino USB Host CPPM
Controlling quadcopter with USB joystickPublished on July 24, 2016.
This project allows using an AVR-based Arduino with a USB-Host-Shield to be connected to a Saitek X52 (Pro) flight control joystick, generating a CPPM-Signal that can be fed to most common RC transmitters.
All Parameters, like the channel count, CPPM specifications, endpoints, trim and invert, can be changed using the Multi-Function-Display on the Saitek Joystick and stored to the Arduino EEPROM.
A modified host telemetry port (D-Port) of an FrSky TX module can be connected to the hardware serial port so the link quality and voltage will be displayed on the Multi-Function-Display. Obviously, you have to remove the RS232 level-converter from the TX module or use an adaptor to bring the UART to 5V level.
Currently the code only supports the Saitek X52 series, but you could easily adapt the code to work with other joysticks or gamepads.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.