The PPM Encoder team has been working on a new servo input to ppm firmware for the PhoneDrone board and any future boards using the ATmega32u2 chip.

Since there has been reports of problems with the old APM firmware (PPM encoder problem, loosing CH3 again with new APM board) when used together with receivers that has synchronous changes on multiple servo channels. So Olivier ADLER and me decided to back port the new atmega32u2 firmware to the ATmega328p chip used in APM boards.

We now feel that the new and hopefully improved firmware is ready for public beta testing. Source code and compiled firmware are available in the official APM repository (Unified ArduCoder). Please read the readme.txt carefully before usage and report any problems.

Future updates for the new firmware will have PPM pass-trough for receivers with PPM output and also possibly native support for Spektrum satellite receivers.

Happy flying!

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • I tested with FrSKY D4FR and D8RSP, both work fine with CPPM.

    Can we do the same with the output channel by using an external PPM Encoder ?

  • Developer


    Unified Arducoder name has changed. The actual name is ArduPPM.


    So you'll find all new stuff relative to PPM encoding here in the Git repository :





  • Is it possible to use the JR/Spektrum Satalite receivers for the PPM sum input? If not, any plans to implement it?

  • Developer


    Bjorn, Jeti Rsat is working without problem, i testet it in 8 channel direct mode.


    Ravi, i answered to your question about ppm in my meet the developers profile here :


  • Hi john, i am able to get PPM output from a pin on Futaba 7C 8channel receiver. is the PPM sum signal compatible with the APM2.22 PPM decoder or i have to decode it. actually i am more of an aircraft engineer and less of a electronic engineer. the sihnal is coming from a Futaba 7C Tx onto a 8 channel Futaba Rx. thanx for modifying the APM code so that a direct single wire PPM signal can be input instead of 5 PWM channels to APM. great job!

  • I'm all new to this, but I'll try the ppm passtrough on a jeti rsat when I get my hardware :) Seems it will send 8ch ppm in direct mode if the Tx module detects 8 channels. Mpx royal pro 9 here so no problems with that.

  • Developer

    PPM passtrough added:

    If your receiver has a PPM sum signal output, it is now possible to pass on the PPM signal from servo channel 1 to the PPM pin. To enable PPM passtrough, short the servo input channel 2 & 3 signal pins together using a jumper strap.

    Please note that the PPM sum signal must be compatible with the APM autopilot PPM decoder (8 channel standard PPM) since the ppm signal is not decoded in the PPM encoder and passed straight trough to the autopilot.


  • Developer

    The <Unified ArduCoder> project is a replacement for original APM servo firmware, and will only work with the 328p. The 32u2 also has to run the Arduino USB-To-Serial code (LUFA) so a common project for both is not feasible. But the underlying core library with servo input and ppm generation support both chips.


  • I notice that there are only one hex file "Encoder-PPM.hex" in the svn repository. Is that file compatible with both Atmega328p and Atmega32u2?
This reply was deleted.