I’m attempting to use a WiFi bridge to pass the actuator outputs from the flight controller (Pixhawk 2.1) to the servos via a pair of ESP32 micro controllers. My plan was to use a master ESP32 to read the the Mavlink messages via UART from the TELEM2 port, then broadcast them to slave ESP32s each with a pair of servos. Particularly I was going to send the mavlink_msg_id_servo_output_raw
message.
The setup is correctly passing and parsing the mavlink messages, but the data doesn’t appear to be what I expected. The disarmed PWM values are 900 as expected, but after arming, the values don’t seem to change. Additionally, when the Flight controller is connected to QGroundControl the raw values reported via the Mavlink inspector are different (1500 instead of 900).
So what does the mavlink_msg_id_servo_output_raw represent? Does this differ from the values that are sent to the main PWM outputs on the flight controller?
For more information on what I’m using this for you can check out: