Recently I was asked about reading multiple PPM encoded signal streams, merging their data with other signals, and generating new PPM outputs.  I've writing a new PulsePosition library, which is in need of beta testers.


The PulsePosition library is designed to be able to simultaneously input and/or output up to 8 PPM encoded streams, each with up to 16 signals.

PulsePosition is designed for 0.02 µs accuracy (approx 24X better than most Arduino implementations using AVR Timer1) with tolerance for significant interrupt latency caused by other libraries.  Pin change interrupts, which add error due to interrupt latency, are never used.  All pulse input and output is done directly with the 48 MHz clocked timer hardware.

At this early stage, pretty much all testing had been done only with verification of signals on an oscilloscope.


I'm hoping to find people who might be interested in testing this with real signals and real applications.

E-mail me when people leave their comments –

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

Join diydrones


  • I added a 6 push button mode switch for Ardupilot and the 6 timings are exactly as programed. Very impressed

  • i have used this library to have 2 input streams and strip out the required channels mix them together and add some on board switches then output the lot on another stream.

    Works very well and thanks to the library the sketch is extremely trivial. I am total newbie to Arduino and any sort of high level language and i still found it very simple.


  • It works.  Seems like forever before my Teensy arrived, cobbled a quick test together mixing 2 x 8 channel streams


  • @John - glad it's working out well. :)

    @Phillip - I'm not really familiar with the details of those serial protocols. But if you have code that works on a 2.0 board but doesn't work on a 3.1 board, I can probably help with porting it to 3.1.
  • Hi Paul. Can I suggest creating a serial based digital output based on the SBus or the Spektrum output? I have a working code for the Teensy 2.0 -> Spektrum if there is any interest. That said I would love to help test this out.

  • Developer

    Hi Paul. I just wanted to thank you for making the Teensy boards. I am a big fan! They have been my favorite got to solution for quick development and prototyping for years now. Both commercially and for fun. :)

  • Great. Please let me know how it works for you?
  • I may want to test this soon. I have an application for it. 

This reply was deleted.