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 jaren geleden
.gitignore Initial commit 8 jaren geleden
COPYING Added README.md and COPYING 8 jaren geleden
README.md Changes to be compatible with USB lib 1.3.0 7 jaren geleden
Saitek-X52-PPM.ino Changes to be compatible with USB lib 1.3.0 7 jaren geleden
config.cpp Configurable CPPM output pin 8 jaren geleden
config.h example implementation of using buttons for output axes 3 jaren geleden
cppm.cpp Configurable CPPM output pin 8 jaren geleden
cppm.h Configurable CPPM output pin 8 jaren geleden
data.h Use TimerOne library for CPPM output. Renamed files. 8 jaren geleden
events.h example implementation of using buttons for output axes 3 jaren geleden
events_buttons.cpp Configurable CPPM output pin 8 jaren geleden
events_cppm.cpp example implementation of using buttons for output axes 3 jaren geleden
events_deadzone.cpp Can configure debug output target 8 jaren geleden
frsky.cpp Fixed FrSky protocal parsing bug 8 jaren geleden
frsky.h Added FrSky telemetry decoding 8 jaren geleden
parser.cpp Changes to be compatible with USB lib 1.3.0 7 jaren geleden
parser.h Changes to be compatible with USB lib 1.3.0 7 jaren geleden
x52.cpp Changes to be compatible with USB lib 1.3.0 7 jaren geleden
x52.h Changes to be compatible with USB lib 1.3.0 7 jaren geleden

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.