Developer
Intercept the PPM signal is the best way to obtain all the channels from any receiver, for a lot of reasons. The first one is performance, and the second is the simplicity (in code =P). This hack is based on this tutorial from Paparazzi Autopilot.For more information about the PPM frames click here.For this hack i'm using a Futaba receiver FP-R127DF. Almost all the Futaba receivers came with the BU4015BF Shift Register chip, if your are able to locate this chip, you just need to solder a single wire in the pin 1 or 9 (clock), and you are done!Here is the Data Sheet of the IC:BU4015.pdfAnother good way to find the PPM signal pin is using this code with arduino:void setup(){Serial.begin(57600);pinMode(3, INPUT);}void loop(){Serial.println(pulseIn(3, LOW));}Then upload the code to arduino, and with a wire connected to the pin 3, start touching all the pins and spots you can of you receiver (don't forget to also connect ground to ground), until you see random values between 300 to 9000 on arduino terminal (that means you found it).After that, just solder a wire on it and use this code to decode all the channels:#define channumber 4 //How many channels have your radio?int value[channumber];void setup(){Serial.begin(57600); //Serial BeginpinMode(3, INPUT); //Pin 3 as input}void loop(){while(pulseIn(3, LOW) < 5000){} //Wait for the beginning of the framefor(int x=0; x<=channumber-1; x++)//Loop to store all the channel position{value[x]=pulseIn(3, LOW);}for(int x=0; x<=channumber-1; x++)//Loop to print and clear all the channel readings{Serial.print(value[x]); //Print the valueSerial.print(" ");value[x]=0; //Clear the value afeter is printed}Serial.println(""); //Start a new line}This a video where you can see everything i explained in action:
E-mail me when people leave their comments –

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

Join diydrones

Comments

  • First I said no, most Spektrum receivers do not have a sum output that is accessible.

    Actually, I take that back, the Specktrum remote diversity module can be used, but only with a level shifter and a different firmware. Point being, I don't think it has been ported to APM 2.0 or 2.5 for a number of reasons http://diydrones.com/forum/topics/getting-the-ppm-encoder-working-h...

  • You don't by chance know if there's a similar hack for Spektrum (or Spektrum compatible) receivers do you?

  • Marcus. I know this is old. I'm trying to locate sum signal on R149dp for my new hexa build. Please can you help me with this. I prefer 72 MHz. Over 2.4.
  • Anyone who has bee able to find a PPM signal in a Futaba R149DP?
    I have bee poking around (without a scope) with no success so far...
    Any help much appreciated!

    / Marc
  • what is the best way to read two servos channels?? using the ppm? or using 2 inputs and pulsein??

    i've tried with 2 inputs and pulseIn... i have glitches on the servos.... what can be wrong??

    val1=pulseIn(ser1in,HIGH);
    val2=pulseIn(ser2in,HIGH);

    ciLat.write(val1);
    ciLon.write(val2);

    its better if i use the PPM??
  • The VEX receiver I have outputs PPM just like this receiver does, I use my 16 bit timer's input capture interrupt to store the pulse width of a PPM pulse with high accuracy. Since it uses interrupts, you don't have to wait for a pulse to finish to run other code.
    http://frank.circleofcurrent.com/vexrx.php
  • i'm building a mikrokopter, but because we can't use the suggested 35mhz receiver in the us, i need to look at 72/75mhz or 2.4 Ghz options. this is a little difficult, however, because i need access to the "sumsignal" or PPM. would an arduino board+this code installed between the receiver and the navictrl mikrokopter board do the trick? or does anyone maybe have a link detailing a receiver hack?
  • this is great Jordi, it explains a lot to me, thanks!
  • bad frame recognition / rejection

    Do you have recommendation for the best way to recognize bad frames?

    So far I was thinking of summing the pulses, and using the sum to verify frame length, and that the proper number of pulses occurred in that time. Also verifying that all the pulses are within expected width.
  • 100KM
    cool stuff jordi ! PPM code for Basic-X , now all you have to do is program bad frame recognition / rejection
    the FMA FS-8 does this and can even "lock" onto a specific receiver . I've turned on my other receiver right next to it ,still had control . if you can cram this into the rest of your AP you could get it flying , turn of your transmitter and go have a cup of coffee.
This reply was deleted.