This transcript captures a full day of presentations from the ArduPilot Developers Conference 2025. The talks cover a wide spectrum of topics, from community engagement and education to advanced autonomous applications and deep dives into the software's core functionalities. Key presentations include Randy McKay and William Galvani showcasing a custom aerial photography drone and detailing the latest updates to the BlueOS companion computer software, including high-altitude optical flow. Manna Drone Delivery shares insights into their large-scale, automated delivery operations, reliability frameworks, and key learnings. Other talks explore options for BVLOS telemetry, the use of the Skybrush platform for managing complex multi-UAV missions and drone swarms, and new tools for fleet management and methodical vehicle configuration. Technical sessions delve into an empirical analysis of the TECS controller for fixed-wing aircraft and the introduction of System ID and Analytic Tune for planes and quadplanes. The conference also features a presentation on integrating ArduPilot into aerospace engineering education and includes live flight demonstrations.
ArduPilot Developers Conference 2025: Day 2 Presentations & Demos
0:01:29 Conference Admin & Opening Remarks: The day begins with administrative announcements, including a reminder of venue rules, a weather update, and the day's packed schedule. A key point is a call for developers using outdated hardware to request new equipment, which will be provided by the ArduPilot project to support development.
0:19:04 Small Aerial Photography Drone with BlueOS (Randy McKay & William Galvani):
Part 1 (Randy McKay): Randy details his project to build a high-performance, user-friendly aerial photography drone using ArduPilot, aiming to rival commercial offerings like the DJI Mavic. He showcases the hardware, which features a custom integrated carrier board, Ethernet-based components, and a Raspberry Pi running BlueOS. He demonstrates powerful new features enabled by BlueOS extensions, including high-altitude optical flow (using the main gimbaled camera to fly without GPS up to 100m) and precision landing.
Part 2 (William Galvani): William provides an update on BlueOS, the open-source companion computer software. He reviews its Docker-based, extensible architecture and highlights new features like H.265 video support, an efficient Rust-based MAVLink router, and a growing ecosystem of extensions. Future plans include integrating the Zeno pub/sub communication bus for synchronized logging and MCAP data storage, ROS integration, and better service management.
1:21:14 Supporting the ArduPilot Community (Lee Chafield - Painless360): Lee shares his extensive experience in providing free support to the end-user community. He outlines six key rules to remain effective and avoid burnout:
Define Your Rules: Set clear boundaries on how, when, and what support you will provide.
Set Expectations: Avoid setting a precedent of instant replies to prevent user frustration.
Filter Questions: Match the effort of your reply to the effort of the question; there are lazy questions, but no silly ones.
Don't Feed Trolls: Immediately delete and ban impolite or abusive users.
Focus on Symptoms: Title help content based on the problem the user is experiencing (e.g., "Motor doesn't turn"), not the technical solution.
Be Mindful: Be aware that users may have cognitive challenges and avoid providing support when you are in a bad mood.
2:00:58 Live Demo: Turbine Helicopter (Fuchio Vicari): Fuchio demonstrates a turbine-powered helicopter running ArduPilot. The flight showcases the turbine engine support he integrated into the AP_Heli_Motors library, including automated headspeed governing and a controlled cool-down sequence, followed by impressive manual aerobatics in Acro mode.
2:20:07 Manna Drone Delivery: Challenges and Journey (Charlie Burge & Dan Moss): The Manna team details their journey to building a large-scale, automated drone delivery service.
Key Takeaways: They emphasize a "crawl, walk, run" approach, starting with rapid prototyping and moving to robust, scaled operations.
Reliability: They use the SORA framework and Continuous Probability Monitoring (CPM) to track and demonstrate safety over 15,000+ flight hours.
Learnings: A key finding was that human error was a significant failure mode, which led them to replace traditional RC transmitters with a simplified 4-button interface for operators in their live operations.
3:01:01 BVLOS Telemetry Options (Stephen Dade): This talk covers the technical requirements for Beyond Visual Line of Sight (BVLOS) flights.
Bandwidth: ArduPilot's default telemetry requires ~3-3.5 kB/s, which can be reduced by adjusting stream rates or using the MAVLink High Latency protocol for satellite links.
Radio Options: He compares cellular (4G/5G), which works well within coverage areas (especially using lower frequency bands), and satellite, which is more expensive and bulky but offers global coverage.
Best Practices: Emphasizes the need for redundancy, careful management of multiple data links to avoid packet loops, and strong cybersecurity (encryption, VPNs, MAVLink signing).
3:22:32 Multi-UAV Missions with Skybrush (Gabor Vasarhelyi): Gabor showcases his work on autonomous drone swarms, demonstrating self-organized flocking and collision avoidance with up to 100 ArduPilot-powered drones. He introduces Skybrush, an open-core ground control station designed for managing complex multi-UAV missions, used for drone shows, agriculture, and research. He also announces a new AI-powered log analysis tool, Pop-LoG.
4:40:06 Fleet Management & Automated Operation (Yogesh Khedar): In a remote presentation, Yogesh introduces FlytOS, a cloud-native platform for managing drone fleets and automating entire operational workflows. The platform handles mission planning, scheduling, pre-flight checks, real-time monitoring, and post-flight data processing like photogrammetry, all from a central dashboard.
4:59:04 An Exploration of TECS Parameters (George S.): A technical deep dive into ArduPilot's Total Energy Control System (TECS) for fixed-wing aircraft. Using a systematic simulation-based approach, George explores the impact of key tuning parameters (like TECS_TIME_CONST and TECS_INTEG_GAIN) on flight performance, analyzing their effect on stability, oscillations, and climb performance.
5:43:04 ArduPilot in Aerospace Education (Bob Entwistle & Cameron Boyd): The team from the University of Southampton details how they integrate ArduPilot into their aerospace engineering curriculum. They use it to teach students practical skills through "design, build, fly" projects, ranging from designing efficient fixed wings to building complex VTOL aircraft. They provide students with standardized hardware kits and custom guidance to bridge the gap between theory and real-world application.
High-Altitude Optical Flow: Randy successfully demonstrates his drone flying and holding position at 100 meters using only optical flow from its main camera, after turning off the GPS mid-flight.
Custom Drone Flight: Randy's new custom-built photography drone is shown to be flight-worthy with a brief manual flight, though a planned auto mission was prevented by a lack of GPS lock.
7:11:53 ArduPilot Methodic Configurator (Dr. Amilcar Lucas): Dr. Lucas introduces his ArduPilot Methodic Configurator (AMC), a desktop tool designed to solve the problem of configuration complexity. It provides a wizard-like, step-by-step process that guides users through a logical setup sequence, presenting only relevant parameters and documentation at each stage to prevent errors and reduce the learning curve.
7:47:22 Plane System ID (Bill Geyer): Bill announces that the System Identification (System ID) feature is now available for Plane and QuadPlane as an RC auxiliary function. This allows users to perform a frequency sweep during flight to capture the aircraft's dynamic response. The data can then be used with the Analytic Tune tool to help users find optimal PID gains for their fixed-wing aircraft.
Error: value error Invalid operation: The response.text quick accessor requires the response to contain a valid Part, but none were returned. The candidate's finish_reason is 1.