Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JoystickToPpm

English | Deutsch

An Arduino PPM output sketch for RC transmitter projects. The sketch receives eight channel values over serial and generates a stable PPM frame on an Arduino Uno or Nano with an ATmega328P.

Current status

  • The Arduino sketch is maintained and uses the original serial frame format.
  • The original repository contained a compiled ClickOnce desktop application, but no C# source code. That binary was built for an obsolete .NET Framework setup and was not reproducible.
  • The old installer artifacts were removed from this public source repository. A future desktop sender should be rebuilt from source, ideally as a small .NET application with an explicit serial-port selector.

Serial protocol

Connect at 115200 baud. Send one complete line in this format:

0;1500;1500;1500;1500;1500;1500;1500;1500\n

The first field is reserved for compatibility. The following eight values are channel pulse widths in microseconds. Values from 900 to 2100 are accepted; invalid or incomplete frames are ignored.

Hardware defaults

Setting Value
Board Arduino Uno/Nano, ATmega328P
PPM output Digital pin 10
Channels 8
Frame length 22,500 microseconds
Pulse length 300 microseconds
Serial speed 115,200 baud

The PPM polarity is configured as active high. Confirm the required polarity, pin assignment and electrical level with the RC transmitter before connecting hardware. Test with the transmitter disconnected from any model first.

Build and upload

  1. Open JoystickToPpm/JoysticktoPPM.ino in the Arduino IDE.
  2. Select an Arduino Uno or Nano with the ATmega328P processor.
  3. Select the correct serial port and upload the sketch.
  4. Open the serial monitor at 115200 baud or use a sender application that implements the protocol above.

The sketch uses AVR Timer1 directly and is therefore not portable to every Arduino board. Boards based on other microcontrollers need a board-specific timer implementation.

License

The project is provided under the MIT License. See LICENSE. Arduino and any connected RC equipment remain subject to their own documentation and safety requirements.

Deutsch

Ein Arduino-Sketch fuer die PPM-Ausgabe bei RC-Sender-Projekten. Der Sketch empfängt acht Kanalwerte ueber die serielle Schnittstelle und erzeugt auf einem Arduino Uno oder Nano mit ATmega328P ein PPM-Signal.

Die alte oeffentliche Fassung enthielt nur eine kompilierte ClickOnce-PC-Anwendung, aber keinen C#-Quellcode. Diese alte, nicht reproduzierbare Verteilung wurde entfernt. Der Arduino-Teil ist jetzt dokumentiert und kann neu kompiliert werden.

Das serielle Format bleibt kompatibel:

0;1500;1500;1500;1500;1500;1500;1500;1500\n

Der erste Wert ist reserviert. Danach folgen acht Kanalwerte in Mikrosekunden. Erlaubt sind Werte von 900 bis 2100. Unvollstaendige oder ungueltige Frames werden ignoriert.

About

C# program to send joystickdata to an arduino what makes a ppm-signal for a RC-Transmitter

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages