Guide · DroneCAN

DroneCAN instead of PWM: why the CAN bus is the better link to your ESCs

A PWM signal tells the motor controller one thing: how much. It does not say whether the command arrived, how hot the controller is or why a motor just shut down. DroneCAN replaces the individual signal lines with a bus over which ESCs receive setpoints and report status – standardized in ArduPilot and PX4.

At a glance

PWM/PPMone setpoint per wire, no feedback, signal faults only detectable indirectly
DroneCANone bus for all motors: setpoints, ESC status, node status, parameters
Standardopen protocol (formerly UAVCAN v0), firmly established in ArduPilot and PX4
INV-60V-120Aesc.Status at 10 Hz, NodeStatus at 1 Hz, dynamic node ID, up to 20 ESC indices per bus
SwitchablePersyCAN for parameterization, detailed telemetry and firmware updates – switching during operation, also with dynamic address allocation

Published September 25, 2026 · Persystems GmbH, Regensburg, Germany

What PWM can do – and what it cannot

The classic link between flight controller and ESC is a PWM or PPM signal: the pulse width encodes the setpoint, nothing else. That is simple, robust and perfectly adequate for small multicopters. As the aircraft grows, the drawbacks appear: every motor needs its own wire, the flight controller learns nothing about current, temperature or fault state of the controller, and a corrupted signal can only be recognized by the motor not doing what it should.

An inverter can detect such signal faults – the INV-60V-120A monitors its PWM/PPM inputs for invalid signals, timeouts, inversion errors and noisy inputs – but it cannot report them over the PWM wire. That takes a return channel.

DroneCAN: one bus, all drives

DroneCAN is the open CAN protocol of the ArduPilot and PX4 world, formerly known as UAVCAN v0. Flight controller, ESCs, sensors and servos share one CAN bus and exchange standardized messages. The flight controller sends the setpoints of all motors in a single message; every ESC replies with its status.

New nodes get their address automatically: through dynamic node ID allocation an ESC announces itself on the bus and receives a free ID, without anyone setting DIP switches or typing parameters. Up to 20 ESC indices per bus cover even large multicopters and VTOL configurations.

What a DroneCAN ESC reports

Two messages form the backbone: esc.Status delivers the drive’s operating data at 10 Hz, NodeStatus reports at 1 Hz that the node is alive and in which health state. The INV-60V-120A classifies faults as health levels – OK, Warning, Error, Critical – so the flight controller can react without vendor-specific decoding. Via GetNodeInfo the inverter identifies itself with name and software version.

For the flight controller this changes the quality of information fundamentally: it sees every motor individually, recognizes an impending overtemperature before the drive shuts down, and can attribute faults in the log to the right node.

Wiring and commissioning

A CAN bus consists of a twisted pair (CAN High, CAN Low) with termination resistors at both ends; all nodes are connected to it in parallel. Compared with six or eight individual PWM wires that is less cable, fewer connectors and a clear structure. In the INV-60V-120A, CAN transceiver and PPM input are galvanically isolated from the power stage – interference from the power section stays away from the signal bus. Pin assignment, signal paths and CAN termination are described in the technical documentation of the inverter at esc.persystems.org.

In ArduPilot and PX4, DroneCAN is a supported ESC interface: enable the CAN port, select DroneCAN as the ESC type and assign the ESC indices to the motors. From then on setpoints and status run over the bus; the PWM outputs remain as a fallback.

DroneCAN or PersyCAN – switchable

DroneCAN standardizes what every flight controller needs. For everything beyond that – parameterization, firmware updates, detailed telemetry with Id/Iq, Ud/Uq, MOSFET and motor temperature – the INV-60V-120A speaks PersyCAN. Both at the same time is not possible – the inverter is configured for one protocol or the other – but switching is possible during operation: the Persystems PC software reaches the inverter even when it is configured for DroneCAN; the stored configuration is preserved. Automatic addressing exists in PersyCAN as well: several inverters with the same factory address are distributed to their own CAN IDs through the discovery mechanism – the counterpart to dynamic node allocation in DroneCAN.

So the aircraft gets the standardized connection, and the developer keeps full insight into the drive – from the first test-bench run to operation in the fleet.

Frequently asked questions

Do I need DroneCAN for a small multicopter?

Not necessarily. With few motors and short wires, PWM is often sufficient. DroneCAN pays off as soon as telemetry, fault diagnosis or the number of motors matter – typically on VTOL, heavy-lift and industrial drones.

Can I keep controlling the INV-60V-120A with PWM?

Yes. The PWM/PPM input remains as a fallback, galvanically isolated and with signal monitoring.

How many ESCs fit on one DroneCAN bus?

The INV-60V-120A supports up to 20 ESC indices per bus; node IDs are allocated dynamically.

Contact

DroneCAN integration for your aircraft?

Tell us which flight controller, voltage level and motors you use – you will get samples, documentation and an answer straight from the engineering team.

Persystems

Echtzeit-Simulation und Leistungselektronik für elektrische Antriebe – entwickelt und gefertigt in Regensburg.

Persystems GmbH
Franz-Mayer-Straße 1 · 93053 Regensburg
info@persystems.org · +49 941 462 974 40

© 2026 Persystems GmbHPLECS, LTspice, Simulink, CarMaker und DroneCAN sind Marken ihrer jeweiligen Inhaber.
Persystems

Real-time simulation and power electronics for electric drives – developed and manufactured in Regensburg, Germany.

Persystems GmbH
Franz-Mayer-Straße 1 · 93053 Regensburg · Germany
info@persystems.org · +49 941 462 974 40

© 2026 Persystems GmbHPLECS, LTspice, Simulink, CarMaker and DroneCAN are trademarks of their respective owners.