3D Robotics

New product in the DIY Drones store: 8-ch PPM encoder

The best way to read RC signals is PPM, which is a sequential stream where each channel is output in turn on a single wire. But traditionally the only way you can get that is to open up your RC receiver and solder a wire to a special pin. Fortunately the Paparazzi team designed a board that will convert up to 8 channels of regular PWM servo signals to one PPM signal, with no RC hacking required. We've now modified it a bit to work with our failsfe multiplexer and released a version as a DIY Drones product ($24.95). BTW, the forthcoming ArduPilot Mega will use this technique, as well. From the product description:"This improved & reduced PPM encoder board, based on a Paparazzi design, plugs into the servo output ports on a R/C receiver and encodes them into a PPM pulse suitable for the paparazzi autopilot and other projects. This allows you to use any R/C equipment with the paparazzi autopilot or read up to 8 servos with a single I/O pin of your uController. Modifications to the R/C receiver are not necessary. Connect the wires from your receivers channels to the PPM and one wire to the PPM in of your system. If you decide to use the tiny board to power the receiver, make sure you put-in a jumper and plug something between the 8th channel and the receiver. The whole project is based around the ATMEL ATMEGA168/328 AVR processor and all timing is done within interrupts so accuracy and stability is optimized It is now also possible to select the PPM waveform shift, negative or positive. Firmware is free and was created by Hendrix and Moa, with tiny modifications by Jordi Muñoz that allows control an extra failsafe multiplexer.
E-mail me when people leave their comments –

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

Join diydrones


  • Can I use this code on a min pro or nano and still have other functionality?
  • BTW I know my PPM encoder board does not have the crystal
  • Hi

    I've just went through all 8 pages of this topic

    I watched the video showing when and when not to blink the blue led too

    but I am still confused as to where should I start

    I have:

    3 servos

    A PPM encoder board

    How do I knw which resonator mine has?

    Is it only compulsory to update the firmware if the Blue LEDs are not blinking when the transmitter is ON?

    and if I need to update my firmware and send it back, where do I send to?

    thanks for the help

  • Is there an eta on this being back in stock in the diydrones store?
  • Well, my original 8mz board has arrived back (thanks Jordi) and works perfectly.
    The 16mz continues to do the same thing - It's not just the MikroKopter, it's the same on my Conrad quad also.
    I've checked connections again and again - replaced the lead to the rx, tracked the very short trace from the pin row on c4 to the chip, lightly re-soldered that pin just to be sure.
    Perhaps I should flip the fuse to run off the 8mz internal timer and flash software for that?
    I don't know what else to try at this point.
    Again - tx Futaba 9 , module/rx frsky 2.4 , tested as good, yaw channel disappears or sticks at same value for seconds (sometimes many) at a time, other channels remain responsive at the same time.
    Anyone any ideas?
  • Well, I strongly suspect that the first board I bought was an 8mz with 16mz firmware - It tallies very well with your experience of the symptoms (2/3 levels in MK tools - I didn't try to fly it like that).
    It's been nearly 3 months now since my initial purchase and my return replacement has still not arrived, though apparently it was sent last week so I don't doubt that it will shortly.
    What concerns me more is that the additional board I ordered and paid for in the meantime exhibits a large and fairly regular glitch (like 5 to 20 seconds) on the rudder channel only, which makes it unflyable.
    A tt-recenc ppm encoder board I bought since (I'm about $100 down on this so far) works fine, so I don't suspect my radio gear or the Mikrokopter.
    Does anyone have any idea as to why I might get channel 4 stuck for seconds at a time whilst the others remain responsive?
    It's almost like a bad intermittent electrical connection, but I've checked that and it looks all good to me, so I'm thinking it may be something unexpected in the software?
    Any ideas welcomed, thanks!
  • (Yet another) update: after flashing the PPM encoder that DID have the external oscillator (16 Mhz), I was able to have it work with the quad -- first flight was a success. This confirms that the problem I was experiencing with the 2/3 levels was due to an 8Mhz encoder programmed with the 16Mhz software. That leaves me with the 8Mhz encoder, which is not responding to the AVR programmer by now. So where do I send it to? Again, thanks for all the help.
  • Update -- I only realized now that I got 2 different boards!... One has the crystal. The other one does not. Foolish me, I assumed that they were identical. So I think that what happened was that I programmed the 8Mhz board with the 16 Mhz hex file. The problem is now that I lost programming comm with the 8 Mhz board. So I believe that my best option is to send it back to you to get a 16 Mhz board. Is that Ok?
  • Chris,
    Could you please direct me to that tutorial.. I screwed something up and I can't read the device anymore.
  • Maybe I should have specified that I am using a Futaba 6008HS as a receiver...
This reply was deleted.