MAVLINK endianness confusion

I'm parsing MAVLINK 1.0 for my ground station.

From MAVLINK documentation, I understand that the protocol uses little-endian encoding on the wire. This assumption produces meaningful data for a lot of packets. However some packets make no sense in LE but produce meaningful data in BE, for example RC_CHANNELS_RAW message seems to encode channel values in BE uint16_t. I wonder if some fields (messages?) indeed use different endianness, and if they do, I wonder if there exists a canonical list of which messages are BE and which LE.


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

Join diydrones

Email me when people reply –


  • I'm running the git version of Ardupilot; I'm writing my own ground station RX. I'm traveling now and so am away from my hardware. I can post the raw binary when I return next week.

  • Hi,

    Which MAVLink implementation did you use when you saw that (tx and rx)? Did you look at the raw binary data?

    I am not aware of inconsistencies..



This reply was deleted.


Liam left a comment on Agricultural UAVs
I'm Liam from T-MOTOR. I would like to reach out to see if there is any possibility for us to work together.
We are a propulsion system manufacturer who offers motors, propellers and ESCs for all kinds of drone applications which vary from secur…"
Jun 30
Richard Cox left a comment on Australia
"Anyone in the DIYDRONES Australian subgroup based in Alice Springs, NT?
I am experimenting with Ardupilot (standard Arduplane), Pixhawk 4 FC in a 4-ch
RC "AXN Floater Jet" foamy plane..."
Jun 29
Omar Sykes left a comment on Australia
"Hi everyone, I am looking for someone who is good at drone building, repair and software in Adelaide. Please give me a call on 0477 319 219."
Jun 29