Minimal Ground Station software--MAVLINK 1.0

I'm putting this here since I'm unclear where this question would belong.

I want to build a ground station around a Raspberry Pi that can display basic telemetry.

Initially at least, I want to read only a minimal set of attributes, essentially what comes in the VFR_HUD, ATTITUDE and GLOBAL_POSITION_INT messages.

I understand that the MAVLINK data looks similar to what I find in a .tlog file. I think I understand MAVLINK message structure. I can parse these files enough to understand the basic structure of the protocol. I have a generator to construct packet types from the XML specifications.

What I'm missing is an understanding on the higher-level (session-level) protocol. Is there a message the ground station needs to send to APM to initiate a session? What does it need to tell APM? I'm entirely unclear on where I can find documentation that describes all this. I appreciate your pointers.


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

Join diydrones

Email me when people reply –


  • So now I'm reading MALINK from APM, and I'm parsing out the telemetry, and the CRCs I calculate match what's coming though the serial (wow the extra CRC nonsense). Thank you for your pointers guys!

    Now I want to drive my UAV from the ground station. I send RC_CHANNELS_OVERRIDE, but see no visible effect from that. I wonder if I need to say a special please (like, "I'm going to start sending you rc override commands now") or if I'm expecting some type of ACK or NACK from APM.


  • Simply connect, listen for heartbeat messages which APM always sends and request your needed info with msg_request_data_stream packet - MAV_DATA_STREAM_ALL 0x00 will give you all.

  • Moderator
    Look at mavproxy and mavelous
This reply was deleted.


Neville Rodrigues liked Neville Rodrigues's profile
Jun 30
Santiago Perez liked Santiago Perez's profile
Jun 21