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.
- 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.
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.
| 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.
- Open
JoystickToPpm/JoysticktoPPM.inoin the Arduino IDE. - Select an Arduino Uno or Nano with the ATmega328P processor.
- Select the correct serial port and upload the sketch.
- Open the serial monitor at
115200baud 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.
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.
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.