[SOLVED] How exactly is the wave of the PPM signal I must provide to the Pixhawk 4 mini?

Hello everyone! I have tried looking for this but I found the answer nowhere, so here’s my question:

I want to connect a Spektrum system to my Pixhawk mini 4 (with the AR6115e).
Since I don’t have a PPM converter for now, but I do have tons of Teensy cards laying around, I decided to program a homemade PPM encoder.

I have managed to get all of the PWM outputs correctly with the Teensy card (and I’m using the PulsePosition library to create a PPM signal, and I check everything with an oscilloscope). Then I tried connecting this output to the Pixhawk mini 4’s “PPM” pins and seeing if I got something on QGroundControl’s radio settings, but I got nothing.

My questions are:

  1. How exactly is the wave signal that the Pixhawk mini 4 receives? Which frequency, for example? And should all of the different pulses be raising pulses of falling pulses?

  2. What is the order of each signal? (I’m sending THRO as channel 1, for example)

  3. Am I right on thinking that by simply sending the PPM signal to the PPM pins on the pixhawk mini 4 it will appear on QGroundControl’s radio settings?

Thanks a lot in advance!

Well, I found the solution to this here.

Two steps:

  1. Create a “falling” PPM signal when defining the output (I had already done this):

PulsePositionOutput myOut(FALLING);

  1. Edit file /hardware/teensy/avr/libraries/PulsePosition/PulsePosition.cpp and change the line:

#define TX_PULSE_WIDTH 100.0


#define TX_PULSE_WIDTH 300.0

Alternatively, make a copy of PulsePosition.cpp and PulsePosition.h to the project’s folder, change this local cpp file and on the main file make sure to call include the local files, changing:

#include <PulsePosition.h>


#include “PulsePosition.h”