- pydronecan in PX4/Firmware (89811435e72b08cbfe50fbe82eb54ae4be7bda0f): https://github/commit/19fdf2e5b383243ccdb1094edae0603cf11469e8 - pydronecan current upstream: https://github/commit/7aec196d3911a81e3f9a43235787c79961e4ccd8 - Changes: https://github/compare/19fdf2e5b383243ccdb1094edae0603cf11469e8...7aec196d3911a81e3f9a43235787c79961e4ccd8 7aec196 2025-06-15 rishabsingh3003 - examples: add rangefinder b51d377 2025-03-04 bugobliterator - add .flake8 7d350ba 2025-02-28 bugobliterator - dronecan: replace pkg_resources with importlib.resources for latest Python compatibility 12d9827 2025-02-28 bugobliterator - .github: fix CI by dropping python 3.7 from the check matrix 19ac176 2024-11-11 Thomas Watson - app/dynamic_node_id: avoid spurious reallocation 6805cf0 2024-11-11 Thomas Watson - app/dynamic_node_id: don't assume single-threading 5c2edbb 2024-11-11 Thomas Watson - app/node_monitor: fix handling of info request time 44c6cdf 2024-10-03 Andrew Tridgell - examples: added servo simulator d48351b 2024-10-03 Andrew Tridgell - mavcan: support readonly mavcan 4c55dd6 2024-08-28 Andrew Tridgell - Revert "fixed load_dsdl problem" 72a003d 2024-06-14 bugobliterator - .github: use pip install to build and install the package a2cf813 2024-06-14 bugobliterator - use modern standard for python packaging 7a1ef2f 2024-07-21 Felix - fixed load_dsdl problem b76d480 2024-08-05 Andrew Tridgell - mavcan: ensure child dies when parent dies 8dd60c5 2024-05-20 Andrew Tridgell - examples: added servo control example d3964dd 2024-04-25 Huibean - add mavlink tunnel example 4b6f3d3 2024-03-15 Andrew Tridgell - prepare for 1.0.26 1f494e9 2023-07-30 bugobliterator - dronecan: add support for sniffing get node info response 315e87e 2023-12-28 Andrew Tridgell - examples: exit on end of fw update 0f67d51 2023-12-01 Siddharth Purohit - driver/mavcan.py: gracefully exit io thread when close is called ed59da5 2023-10-28 Andrew Tridgell - examples: added battery simulator 4a97cf4 2023-08-03 Andrew Tridgell - support N-way bridging 0e2bfba 2023-08-01 bugobliterator - examples: add example that extracts gps raw data from a log file 59dcecd 2023-08-01 bugobliterator - file: add support for stream read progress and end of stream 9e65bcc 2023-07-31 bugobliterator - file: flush before closing and sleep when receiving 4f6f6ad 2023-07-31 bugobliterator - dronecan: fix timeout handling for file iface 1841303 2023-07-30 bugobliterator - dronecan_bridge: add support for filtering node id 6d0ba6d 2023-07-30 bugobliterator - dronecan: add file interface for recording and replaying CAN data c941a8f 2023-08-01 Andrew Tridgell - examples: improved error handling in firmware_update.py 49b26e7 2023-07-31 Andrew Tridgell - prepare for 1.0.25 1fdd2cc 2023-07-31 Andrew Tridgell - mcast: fixed multicast on windows 9ac3f75 2023-07-10 Andrew Tridgell - prepare for 1.0.24 89ecdcb 2023-07-10 Andrew Tridgell - DroneCANSerial: fixed handle remove ff8373f 2023-07-08 Andrew Tridgell - prepare for 1.0.23 208ea42 2023-07-08 Andrew Tridgell - utility: fixed node_id check 4961328 2023-07-07 bugobliterator - tools: add decoder for dronecan message id a365d79 2023-07-08 Andrew Tridgell - added dronecan_tcplink.py dbd5704 2023-07-08 Andrew Tridgell - added DroneCANSerial class a15e318 2023-07-08 Andrew Tridgell - return frame count from spin() de4cd74 2023-07-08 Andrew Tridgell - cope with errors in dronecan_bridge 3051152 2023-06-21 Andrew Tridgell - driver: ensure data in CANFrame is a byte array eb88f0a 2023-06-12 Andrew Tridgell - added UDP multicast support d977357 2023-06-24 Andrew Tridgell - examples: added stats to rtcm_dump.py 1e4e102 2023-06-21 Andrew Tridgell - added Fix2 gap example d507846 2023-06-15 Ryan - README.md - fix broken link da81c7c 2023-06-12 Andrew Tridgell - examples: fixes for firmware_update.py 29fbecd 2023-06-12 Andrew Tridgell - app: support path_map in file server c97f348 2023-03-28 Jacob Dahl - Updated from reviewer feedback. Simplified arguments names. 73a15da 2023-03-27 Jacob Dahl - added an example script to update the firmware on a CAN node 26c525c 2023-06-12 Andrew Tridgell - examples: flush in RTCM decoder 55422e5 2023-06-06 Andrew Tridgell - added RTCM decoder example a6d34f2 2023-05-27 Andrew Tridgell - print mavlink packet loss every 5s 75d8beb 2023-05-27 Andrew Tridgell - prepare for 1.0.22 145dce3 2023-05-26 Andrew Tridgell - allow mavcan signing key in environment 8fba242 2023-05-26 Andrew Tridgell - example: cope with exceptions in hobbywing tool 1cb47f3 2023-05-22 Andrew Tridgell - examples: improve hobbywing ESC example 1d1173a 2023-05-22 Andrew Tridgell - prepare for 1.0.21 cf73647 2023-05-22 Andrew Tridgell - example: added signing to hobbywing ESC tool 572bf1a 2023-05-15 Andrew Tridgell - added example for hobbywing ESC control ce39d51 2023-04-10 Andrew Tridgell - prepare for 1.0.20 fece5dc 2023-04-10 Andrew Tridgell - added example looping calling GetNodeInfo 22f700b 2023-04-10 Andrew Tridgell - transport: fixed marking of transfer as canfd ae710ec 2023-04-10 Andrew Tridgell - fixed count init b8fae32 2023-04-10 Andrew Tridgell - added dronecan_bridge.py tool 205c89b 2023-04-10 Andrew Tridgell - driver: added send_frame to driver API 00794a1 2023-03-01 Andrew Tridgell - release 1.0.19 d1da653 2023-03-01 Andrew Tridgell - support MAVLink2 signing in mavcan af6ad8e 2023-02-22 Andrew Tridgell - release 1.0.18 40f76b6 2023-02-22 Andrew Tridgell - slcan: fixed support for python 3.11 c452504 2023-02-10 Andrew Tridgell - release 1.0.17 ed2bdbd 2022-12-12 Peter van der Perk - Add PCAN support through python-can bb69e16 2022-12-20 Andrew Tridgell - CI: changed python versions to test in CI
PX4 Drone Autopilot
This repository holds the PX4 flight control solution for drones, with the main applications located in the src/modules directory. It also contains the PX4 Drone Middleware Platform, which provides drivers and middleware to run drones.
PX4 is highly portable, OS-independent and supports Linux, NuttX and MacOS out of the box.
- Official Website: http://px4.io (License: BSD 3-clause, LICENSE)
- Supported airframes (portfolio):
- Multicopters
- Fixed wing
- VTOL
- Autogyro
- Rover
- many more experimental types (Blimps, Boats, Submarines, High Altitude Balloons, Spacecraft, etc)
- Releases: Downloads
Releases
Release notes and supporting information for PX4 releases can be found on the Developer Guide.
Building a PX4 based drone, rover, boat or robot
The PX4 User Guide explains how to assemble supported vehicles and fly drones with PX4. See the forum and chat if you need help!
Changing Code and Contributing
This Developer Guide is for software developers who want to modify the flight stack and middleware (e.g. to add new flight modes), hardware integrators who want to support new flight controller boards and peripherals, and anyone who wants to get PX4 working on a new (unsupported) airframe/vehicle.
Developers should read the Guide for Contributions. See the forum and chat if you need help!
Weekly Dev Call
The PX4 Dev Team syncs up on a weekly dev call.
Note
The dev call is open to all interested developers (not just the core dev team). This is a great opportunity to meet the team and contribute to the ongoing development of the platform. It includes a QA session for newcomers. All regular calls are listed in the Dronecode calendar.
Maintenance Team
See the latest list of maintainers on MAINTAINERS file at the root of the project.
For the latest stats on contributors please see the latest stats for the Dronecode ecosystem in our project dashboard under LFX Insights. For information on how to update your profile and affiliations please see the following support link on how to Complete Your LFX Profile. Dronecode publishes a yearly snapshot of contributions and achievements on its website under the Reports section.
Supported Hardware
For the most up to date information, please visit PX4 User Guide > Autopilot Hardware.
Project Governance
The PX4 Autopilot project including all of its trademarks is hosted under Dronecode, part of the Linux Foundation.

