PPM to Analog Converter

While ago there was a short talk in the EzUHF help thread about conversion of the EzUHF RSSI/Link Quality output into an analog voltage to feed an OSD different than the EzOSD.
I made small and simple circuit to convert the PPM signal from the EzUHF RX into an analog voltage:PPM to Analog Converter

The circuit uses an AVR microcontroller to read the PPM signal and an simple R2R digital-analog converter to create a proportional voltage.
An LMV358 rail-to-rail opamp is used to buffer the output voltage.

Mainly intended to convert the RSSI signal to analog, the circuit can be used for other purposes as well where you want to convert a PPM signal to analog.

The LMV358 is able to source/sink at least 50mA so a LED can be driven directly for example.

The PPM signal is considered valid between 800-2200us, where below 1000us gives 0V and above 2000us gives 5V.
Since an rail-to-rail opamp is used a full voltage swing between 0-5V can be archived.

Short video to demonstrate the funcitonality:

Firmware for PPM to analog converter
Firmware for PPM to analog converter
firmware.7z
Version: 1
928.0 B
801 Downloads
Details
Schematic of PPM to analog converter
12.5 KB
1802 Downloads
Details

43 thoughts on “PPM to Analog Converter

  1. Hi ! i just bought a EzUHF lite 8Channels, and i was searching on how to be able to read RSSI signals with the OSD Pro from eagles Eyes. Someone on RcGroups tell me that you build this little converter. I tried to contact you via email, but can´t find, would you like to sell me one of this converter ?

    it will be really apprecieted ! thanks !

    • For now all converter boards are sold. I plan to make some more but this will take a while, need components and PCBs first.

      • Did you check to produce some of these boards in shop who print pcb ? you could build 100-200 for a low cost and i´m sure they will be sold easily !

        thats just an option i give to you 😉 eheheh

  2. Michael, great development!
    Now if only someone could get the PWM to analogue working so one could use the RSSI out from a FrSky Rx (TFR8 etc.) Some of us would be in heaven 🙂

    James

  3. Do you have any ETA when you will be able to sell more boards? Have a ezuhf system ordered and would be nice to be able to se RSSI with my ET OSD Pro

  4. Please let me know when the boards are available for sale. I have an EZUHF 8 channel lite receiver with OSD Pro V4. I also would be happy to pre-order if that is an option.

    Best regards,

    Curt Varner

  5. Hello,

    I would like to know if you plane to produce another serie of it?
    I am interested to buy it because I have an eagle tree osd pro and I will buy an ezuhf.

    Best regards

    Franck.

  6. Guten Tag

    gibt es den PPM to Analog Converter in absehbarer Zeit wieder zu kaufen ?

    mfg A.Saxer

  7. Hallo Michael
    Verkaufst Du die Konverter von digital –> analog noch/schon? Ich wäre interessiert und habe ein EZUhf von ImmersionRC von welchem ich das RSSI Signal auf mein Cyclops Storm OSD übertragen lassen möchte.
    Beste Grüsse aus der Schweiz, Urs

  8. Hi Michael, I have one of your older and newer units (with molex) that I got from someone else but they don´t have a manual. Do you have something showing how to connect it and what pin the rssi voltage is outputting on. Thanks.

  9. I just received my Ruby and OSD. I use a EZUHF diversity 8 channel receiver. I believe I need this converter to get RSSI from the EZUHF to Ruby OSD. How can I purchase one?

    • Nope. You need just an adapter cable to connect the EzUHF directly to the OSD. Is your email correct in the comment? I can send a wiring diagram then, so you can make one yourself.

  10. Hi Michael,
    I have a ezuhf lite rx and a cyclops breeze pro osd. I assume this converter is what i need. Do u have any for sale or in stock thanks ?

  11. Hi Michael,

    I have EzUHF and Cyclops Easy OSD so I decided to build your PPM to Analog converter. But unfortunately I didn´t find any Attiny24 on my local stores instead I found Attiny23. Is it possible to replace attiny24 to Attiny23. I know their pin outs are different but I think just changing the pin out definition in the source is enough to use it.

    Could you please help me.

    Regards,

    izzet

  12. Hey Michael!
    I am quiet new to to FPV and have little experience in electronics and all the values you have written. But I know how to use RSSI and all that kind of stuff. I don´t really care about the theory behind the PPM-Analog conversion, but I need to use your development.
    I have DragonLink, which has digital RSSI and I use SKylark Dianmu OSD. Unfortunately SKylark promises to update firmware with digital rssi for a year already and still nothing, so I thought maybe it is possible to convert DragonLink digital RSSI into analog so I can use it together with my Skylark OSD? If it can be used, then I would like to know the price and when approx will your product be available?

    Kind regards,
    Vadim.

    • Don´t know what DragonLink uses for digital RSSI but my circuit works only with a PPM like signal, equal to a servo signal. Most receivers usually have a square wave RSSI with 0-100% duty cycle, that will not work.

  13. I too am using the eagle tree osd with immersion ezuhf. Is this board still being made or available for purchase? Thanks – Tomrom

  14. Trying to hunt one down but have had no luck 🙁

    Can anyone send me in the right direction directly to a “click to add to shopping cart” page!? why is this so hard to find?

  15. Hello Michael, this is a brilliant project, I have looked high and low to find a EZUHF RSSI unit. Do you know of anyone making these to sell at all ?

    Thanks

    Ian

  16. Hi Michael,

    It´s more easy to convert from PWM to a pure Analog signal 0-5v / 0-10v? I´ll explain…

    I´m doing a triple conversion that I guess I can save in just only one, which is the next:
    1- From futaba transmiter to futaba receiver.
    2- From receiver to a brushed flight controller.
    3- Finally from a brushed flight controller to an analog/canbus input speed controller…

    a headache…

    Can you help me a bit, 😉
    Luis

  17. Hallo Michael,
    vielen Dank für dieses tolle Projekt!
    Ich habe die Schaltung gemäß Deiner Vorlagen nachgebaut (Eagle-Layout, geätzte LP). Leider keine Funktion, so wie es aussieht kommt der Resonator nicht ins schwingen.
    Gibt es bei programmieren etwas zu beachten? Das Beschreiben habe ich mit einem AVRISP-MkII-Programmer und Atmel Studio 4 ohne Fehlermeldung realisiert.
    Hast du eine Idee?

  18. Ive been looking for something like this for a while now, i need to drive a 0-5v analog signal from a 2.4gHz rc car receiver, it will be driving forward and reverse direction on a large ESC (Scooter/ebike style) as the normally use a pot. as i understand a 1000us signal is a reverse direction (-5v), 1500us is standstill or neutral (0v) and 2000us (+5v) is full speed forward as far as i know, from what ive been reading….i could be wrong there!! if you could clarify if im correct, or not, or even let me know if your converter would work for me id appreciate that.

    • The PPM to analog converter doesn’t work with negative voltage. So 1000us or below corresponds to 0V, 1500us = 2.5V and 2000us or above is 5V.
      However, negative output voltage is possible but requires additional power supply and a complete design change.

      • yes you are correct, i was wrong about the voltage outputs.
        however i need a controller to output 0v@1500us and 5v@2000us. im trying to imitate a pot voltage signal which is 0v-5v. i just cant seem to find anything on the net that does this. I pulled down a old steering servo which gives me the 0v@1500us and 5v@2000us but its not linear….it spikes up in voltage nearly straight away when i throttle up just a bit. do you know of anything i could use to achieve this result?

        • Now that’s easy. Simply change the scaling formula in code from: PORTA = (prev_signal-1000) / 4; to PORTA = (prev_signal-1500) / 2;.
          That results in an output range from 0-250 @ 1500-2000us.
          Of course limit validation should be changes as well: if(prev_signal < 1500) prev_signal = 1500;

          • ok thanks for that, what software are you using to view/edit the code? im new to all this so i dont know what the best software is.

          • You can use Atmel Studio, winavr and avr-dude and maybe Arduino IDE can compile and program it. You may give that a try.

Leave a Reply

Your email address will not be published. Required fields are marked *

Comments will be moderated! Spam deleted immediately!
Before you submit form:
Human test by Not Captcha