{"id":13435981,"url":"https://github.com/mavlink/mavlink","last_synced_at":"2025-05-13T15:11:05.955Z","repository":{"id":37664177,"uuid":"2195723","full_name":"mavlink/mavlink","owner":"mavlink","description":"Marshalling / communication library for drones.","archived":false,"fork":false,"pushed_at":"2025-05-10T09:41:15.000Z","size":13053,"stargazers_count":1878,"open_issues_count":132,"forks_count":1989,"subscribers_count":124,"default_branch":"master","last_synced_at":"2025-05-10T10:32:47.344Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://mavlink.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mavlink.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2011-08-12T06:51:52.000Z","updated_at":"2025-05-10T10:07:25.000Z","dependencies_parsed_at":"2023-12-15T00:21:58.017Z","dependency_job_id":"cf4a808f-8a02-43e8-b217-d8d73f210cf4","html_url":"https://github.com/mavlink/mavlink","commit_stats":{"total_commits":3113,"total_committers":252,"mean_commits":"12.353174603174603","dds":0.8670093157725667,"last_synced_commit":"70181c42fc63306ba3512666e1a8b7b782416806"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mavlink%2Fmavlink","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mavlink%2Fmavlink/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mavlink%2Fmavlink/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mavlink%2Fmavlink/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mavlink","download_url":"https://codeload.github.com/mavlink/mavlink/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253404235,"owners_count":21903102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T03:00:41.637Z","updated_at":"2025-05-13T15:11:00.937Z","avatar_url":"https://github.com/mavlink.png","language":"Python","readme":"[![Build Status](https://github.com/mavlink/mavlink/workflows/Test%20and%20deploy/badge.svg)](https://github.com/mavlink/mavlink/actions?query=branch%3Amaster)\n\n# MAVLink\n\nMAVLink -- Micro Air Vehicle Message Marshalling Library.\n\nMAVLink is a very lightweight, header-only message library for communication between drones and/or ground control stations. It consists primarily of message-set specifications for different systems (\"dialects\") defined in XML files, and Python tools that convert these into appropriate source code for [supported languages](https://mavlink.io/en/#supported_languages). There are additional Python scripts providing examples and utilities for working with MAVLink data.\n\n\u003e **Tip** MAVLink is very well suited for applications with very limited communication bandwidth. Its reference implementation in C is highly optimized for resource-constrained systems with limited RAM and flash memory. It is field-proven and deployed in many products where it serves as interoperability interface between components of different manufacturers.\n\n\n## Quick start\n\n### Generate C headers\n\nTo install the minimal MAVLink environment on Ubuntu LTS 20.04 or 22.04, enter the following on a terminal:\n\n```bash\n# Dependencies\nsudo apt install python3-pip\n\n# Clone mavlink into the directory of your choice\ngit clone https://github.com/mavlink/mavlink.git --recursive\ncd mavlink\n\npython3 -m pip install -r pymavlink/requirements.txt\n```\n\nYou can then build the MAVLink2 C-library for `message_definitions/v1.0/common.xml` from the `/mavlink` directory as shown:\n\n```bash\npython3 -m pymavlink.tools.mavgen --lang=C --wire-protocol=2.0 --output=generated/include/mavlink/v2.0 message_definitions/v1.0/common.xml\n```\n\n### Use from cmake\n\nTo include the headers in cmake, install them locally, e.g. into the directory `install`:\n\n```\ncmake -Bbuild -H. -DCMAKE_INSTALL_PREFIX=install -DMAVLINK_DIALECT=common -DMAVLINK_VERSION=2.0\ncmake --build build --target install\n```\n\nThen use `find_package` to get the dependency in `CMakeLists.txt`:\n\n```\nfind_package(MAVLink REQUIRED)\n\nadd_executable(my_program my_program.c)\n\ntarget_link_libraries(my_program PRIVATE MAVLink::mavlink)\n```\n\nAnd pass the local install directory to cmake (adapt to your directory structure):\n\n```\ncd ../my_program\ncmake -Bbuild -H. -DCMAKE_PREFIX_PATH=../mavlink/install\n```\n\nFor a full example, check [examples/c](examples/c).\n\n*Note: even though we use `target_link_libraries` in cmake, it doesn't actually \"link\" to MAVLink as it's just a header-only library.*\n\n### Other instructions\n\nInstructions for using the C libraries are then covered in [Using C MAVLink Libraries (mavgen)](https://mavlink.io/en/mavgen_c/).\n\n\u003e **Note:** [Installing the MAVLink Toolchain](https://mavlink.io/en/getting_started/installation.html) explains how to install MAVLink on other Ubuntu platforms and Windows, while [Generating MAVLink Libraries](https://mavlink.io/en/getting_started/generate_libraries.html) explains how to build MAVLink for the other programming languages [supported by the project](https://mavlink.io/en/#supported_languages).\n\u003e The sub-topics of [Using MAVLink Libraries](https://mavlink.io/en/getting_started/use_libraries.html) explain how to use the generated libraries.\n\n\n## Key Links\n\n* [Documentation/Website](https://mavlink.io/en/) (mavlink.io/en/)\n* [Discussion/Support](https://mavlink.io/en/#support)\n* [Contributing](https://mavlink.io/en/contributing/contributing.html)\n* [License](https://mavlink.io/en/#license)\n","funding_links":[],"categories":["Python","Software and Libraries","CMake","🤖 Protocols \u0026 Middleware Tools","Libraries","🚁 Drones \u0026 UAVs","Telemetry \u0026 Logs 📊"],"sub_categories":["Libraries","Common BVLOS Equipment","Flight Controllers","Modules 🧩"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmavlink%2Fmavlink","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmavlink%2Fmavlink","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmavlink%2Fmavlink/lists"}