Late ppm radio frame error

Hello

I had a crash some days ago with my navio+ quadcopter

After analyzing the logs
195.BIN (1.5 MB)

I found that a RTL mode was triggered due to a late ppm frame received radio error code 2
I use a futaba 2.4Ghz receiver and a pwm to ppm encoder, how could that be that I got this error which cause then a light crash ? My radio transmitter is a futaba T6J

The error occurred at very short radio distance (maybe 15 meters), it could not come from a radio loss.

I suspect the navio+ board ppm decoder to be buggy, if not could you help me figuring out where the problem is, thanks

@anemos

Most things in the logs look fine, except for the battery voltage having a big drop-out and weird landing.

Could you please describe in details how the landing went?
Did you use WiFi and\or telemetry radio in flight?

The drone went into RTL by itself, which is a consequence of the late ppm radio frame error. When I realized that the drone did not respond anymore to my throttle input (because it was on RTL) I ordered it to land with my smartphone. The smartphone is connected by mavlink with wifi to the drone.
When the landing was complete, the motors did not stop even at zero altitude provoking a flip over and a crash. On the smartphone, the landing was curiously not being marked as completed, and the crash detected event was triggered.

I realized as well that your power module is not accurate at all provoking big battery voltage drop-outs.

On thing more to mention is that I use a lidar lite sensor connected with i2c to the navio+ board. The i2c speed has been lowered to 500kHz

Thanks for your support

@anemos

We heard of a few cases of interference of WiFi 2.4GHz and Futaba receivers, maybe yours is similar. Try to fly with telemetry radio and without the WiFi and see if the issue repeats.

Connecting external devices to I2C on Navio+ may affect PWM responsiveness as well as updates of barometer and ADC values.

ok, I will try with openlrs 433MHz radio and without PPM as the channel override command will be used instead. So that all those errors won’t occur again.