How to Minimize Connection Time to ArduPilot Using DroneKit?

Hello!

I am working with a SpeedyBee F405 V3 flight controller running ArduPilot, and I’m using DroneKit for Python on a Raspberry Pi 5. The main issue is the long connection time to the drone, even though command transmission speed is very fast once the connection is established.

Current Test Results

Connection via UART

Connection time: ~28 seconds
Average command transmission time: ~0.000354 seconds
Battery data retrieval time: ~0.0552 seconds
UART speed: 921600 baud

Connection via USB

Connection time: ~19 seconds
Average command transmission time: ~0.001462 seconds
Battery data retrieval time: ~0.1709 seconds

I want to reduce the connection time for the drone to the Raspberry Pi 5, both via USB and UART, as the command transmission speeds are already sufficient, but the connection delay is unacceptable.

Dronekit is under python 2.x, no longer under maintenance. I believe Pi 5 under python 3.x default. Have you investigate Mavsdk-python?

I solved this problem by switching to pymavlink

1 Like