Control drones with a proper joystick
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Thomas Buck d58cf17e90 example implementation of using buttons for output axes 3 years ago
.gitignore Initial commit 8 years ago
COPYING Added README.md and COPYING 8 years ago
README.md Changes to be compatible with USB lib 1.3.0 7 years ago
Saitek-X52-PPM.ino Changes to be compatible with USB lib 1.3.0 7 years ago
config.cpp Configurable CPPM output pin 8 years ago
config.h example implementation of using buttons for output axes 3 years ago
cppm.cpp Configurable CPPM output pin 8 years ago
cppm.h Configurable CPPM output pin 8 years ago
data.h Use TimerOne library for CPPM output. Renamed files. 8 years ago
events.h example implementation of using buttons for output axes 3 years ago
events_buttons.cpp Configurable CPPM output pin 8 years ago
events_cppm.cpp example implementation of using buttons for output axes 3 years ago
events_deadzone.cpp Can configure debug output target 8 years ago
frsky.cpp Fixed FrSky protocal parsing bug 8 years ago
frsky.h Added FrSky telemetry decoding 8 years ago
parser.cpp Changes to be compatible with USB lib 1.3.0 7 years ago
parser.h Changes to be compatible with USB lib 1.3.0 7 years ago
x52.cpp Changes to be compatible with USB lib 1.3.0 7 years ago
x52.h Changes to be compatible with USB lib 1.3.0 7 years ago

README.md

Arduino Saitek X52 USB CPPM converter

This sketch allows connecting a Saitek X52 or Saitek X52 Pro to an Arduino with a USB Host Shield. It uses the USB_Host_Shield_2.0 Library.

!!Warning!!: This software has been written for the USB Host Shield library 2.0, Version 1.2.1. There have been some changes with the library for version 1.3.0 renaming symbols used by this project. I’ve made the required changes, but these are untested! If you have any problems, I’d suggest using an older version of the library and the code in this repository.

Multicopter flight with Saitek X52

A CPPM signal is generated on a configurable pin and can be fed into a transmitter module or directly into a flight controller.

Using the Multi-Function-Display on the Joystick, every config option can be changed. These values can be stored on the EEPROM and will be loaded on every start.

I’m connecting the Arduino to the FrSky DHT module in my modified transmitter to control my Tricopter.

A modified (ie. non-inverted) FrSky Host Telemetry Port (D-Port) can be connected to the hardware serial port of the Arduino so the Telemetry data (link quality and voltages) will be displayed on the Multi-Function-Display of the joystick.

License

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.