AYAATECH develops custom UAV Battery Management System (BMS) solutions designed for integration with aircraft architectures using platforms such as PX4, ArduPilot, and DroneCAN, helping teams align battery monitoring and protection functions with wider vehicle requirements.
PX4, ArduPilot, UAVCAN, DroneCAN, and MAVLink are sometimes viewed as competing drone ecosystems, but they operate at different layers. PX4 and ArduPilot are flight software stacks responsible for vehicle control, navigation, estimation, and mission logic. DroneCAN, historically linked with UAVCAN v0, provides a CAN-based network for onboard smart devices such as batteries, ESCs, and sensors. MAVLink is a communication protocol used for telemetry, commands, and data exchange between vehicles and external systems.
The practical approach is not to select one technology from the group. A UAV may use PX4 or ArduPilot as the flight stack, DroneCAN for onboard peripherals, and MAVLink for ground-control stations, companion computers, and cloud-based systems.
Understanding the Architecture Layers
UAV architectures can be divided into three main layers.
The flight stack runs on the flight controller and manages stabilization, navigation, estimation, and failsafe behavior. The onboard device network connects embedded components such as smart batteries, GPS receivers, ESCs, and power modules. The external communication layer connects the aircraft to operators, software platforms, and external computing resources.
This separation removes a common misunderstanding. Selecting PX4 does not eliminate the use of MAVLink or DroneCAN, and selecting ArduPilot does not require every device to communicate through MAVLink. Industrial aircraft frequently use all three technologies together.
PX4 and ArduPilot Flight Stack Selection
PX4 and ArduPilot provide similar core capabilities, including support for multiple vehicle types, autonomous missions, common hardware platforms, simulation, MAVLink communication, and DroneCAN peripherals.
PX4 is often selected by teams requiring modular architecture, integration with QGroundControl, MAVSDK, and ROS 2, or support for autonomy-focused systems involving companion computers, computer vision, and custom flight modes. Its BSD 3-Clause license can support proprietary product development where flight-stack customization is required.
ArduPilot is recognized for broad vehicle support, extensive configuration options, and mature mission workflows. It supports multirotors, fixed-wing aircraft, VTOL platforms, rovers, boats, and submersible systems. Its GPLv3 license requires organizations modifying and distributing covered software to consider related source-code obligations.
The most effective comparison between PX4 and ArduPilot is testing the intended aircraft, flight controller, and peripherals. Integration effort, logging, tuning processes, and engineering familiarity often influence long-term project success.
DroneCAN and UAVCAN for Onboard Devices
DroneCAN is a decentralized CAN-based communication protocol designed for aircraft and robotic systems. It is commonly used for smart peripherals because CAN networking provides differential signaling, message arbitration, and error handling suitable for electrically demanding environments.
Typical DroneCAN devices include battery management systems, ESCs, GPS receivers, power modules, and air-data sensors.
Terminology should be verified carefully. Many products described as UAVCAN use the earlier UAVCAN v0 protocol, which continued as DroneCAN, while the newer project formerly known as UAVCAN became Cyphal. Developers should confirm protocol versions, message definitions, node behavior, bit rates, and firmware compatibility before integration.
DroneCAN is intended for onboard device communication rather than replacing the flight stack or serving as the primary vehicle-to-ground link.
MAVLink for Telemetry and External Communication
MAVLink provides communication between autopilots, ground-control stations, telemetry systems, companion computers, cameras, payloads, and software applications. Both PX4 and ArduPilot support MAVLink extensively.
The protocol carries vehicle status, missions, parameters, commands, battery information, and payload data. MAVLink can operate through serial connections, radio links, UDP networks, and other transports.
MAVLink 2 includes message-signing capabilities, but security settings must be configured intentionally because authentication is not enabled by default.
For embedded devices such as smart batteries, DroneCAN may provide a more suitable direct interface, while MAVLink can transmit resulting battery information and system status to operators and external software.
Integrating the Technologies
A typical industrial UAV may run PX4 or ArduPilot on its flight controller, connect smart batteries and ESCs through DroneCAN, and use MAVLink to communicate with QGroundControl, Mission Planner, or a companion computer.
The flight stack processes battery information, applies monitoring and failsafe logic, and shares relevant status data with external systems. Successful integration depends on ensuring that message definitions, update rates, fault handling, and recovery behavior are supported across the complete architecture.
Selecting a UAV Architecture
A structured approach can help teams avoid integration challenges:
- Define the vehicle requirements, including airframe, payload, endurance, autonomy requirements, and regulatory environment.
- Select the flight stack based on required functions, hardware support, failsafes, logs, and development workflow.
- Determine which peripherals require DroneCAN, serial, Ethernet, or another communication method.
- Define MAVLink requirements for ground stations, companion computers, payloads, and fleet systems.
- Validate software versions, message definitions, security settings, network behavior, and fault recovery.
Smart BMS Integration Considerations
UAV battery management systems should be selected as part of the complete aircraft architecture. Teams must define which battery data the flight controller requires, including cell voltage, pack voltage, temperature, current, state of charge (SOC), state of health (SOH), and fault information.
AYAATECH’s custom UAV BMS solutions can be configured for PX4, ArduPilot, and DroneCAN-oriented aircraft architectures where battery monitoring, protection, and data integration requirements must align with vehicle systems.
Compatibility should be verified through interface documentation and testing. A CAN connection alone does not confirm DroneCAN interoperability, and a MAVLink heartbeat does not guarantee that all required battery information or failsafe actions are implemented.
Common Architecture Mistakes
Common UAV integration issues include:
- Treating PX4, ArduPilot, DroneCAN, and MAVLink as direct alternatives.
- Selecting a platform before confirming vehicle and peripheral requirements.
- Confusing UAVCAN, DroneCAN, and Cyphal implementations.
- Assuming shared physical interfaces guarantee compatible messages.
- Overlooking security, CAN configuration, node conflicts, and failure recovery.
By selecting technologies according to their intended roles, UAV developers can create architectures that are easier to integrate, validate, and maintain.




