Vebix

Propulsion control

Choosing a drone ESC: PWM, DShot, telemetry and programming compatibility

Current rating and cell count are the easy half of an ESC decision, and the half most bills of materials stop at. The half that decides whether the aircraft arms, filters properly and can be serviced next year is the protocol it speaks, the telemetry it returns and the firmware it runs.

Four layers, checked separately

An ESC has to match the aircraft on four independent counts, and passing three of them is not a pass. The electrical layer is cell count and continuous current. The signal layer is the control protocol between autopilot and ESC. The telemetry layer is what comes back. The firmware layer decides which configuration tool can talk to it.

Sizing the propulsion (how much thrust, which motor, which propeller) is a separate question, which our heavy-lift propulsion guide covers. This article assumes you have a motor and a propeller in mind and are choosing the controller between them.

One note on the electrical layer before moving past it, because it is where the biggest single mistake lives: a burst rating is not a rating. It describes what the ESC survives briefly, at an ambient temperature and airflow the datasheet chose. Size against continuous current in the airframe's real thermal conditions, and remember that an ESC buried in a closed arm with no airflow is not the ESC that was characterised.

The signal layer: PWM, OneShot and DShot

Standard PWM is the analogue heritage protocol: throttle is encoded as a pulse width, typically 1000 to 2000 microseconds. It works with everything and it has two real drawbacks. It needs throttle-range calibration, and because both endpoints are analogue timings, a mis-set endpoint is a real failure mode. OneShot and Multishot are the same idea, compressed in time for lower latency.

DShot is digital. Throttle is sent as a number with a checksum, so a corrupted frame is detected and thrown away, and there is no throttle calibration at all because the protocol defines the end points. It also carries a few commands: beep to help find a lost aircraft, and set motor direction in software, so you do not have to swap two motor wires. The numbered variants, DShot150 through DShot1200, are signalling rates. One naming trap worth settling now: bidirectional DShot means telemetry returning along the signal wire. It does not mean reversible motor rotation, which is a different setting entirely.

For anything new, use digital, and keep PWM for older equipment. Which of your outputs can produce DShot depends on the firmware and the board. ArduPilot documents that before version 4.5 the IOMCU-driven MAIN outputs did not support DShot at all, and that from 4.5 some F103-IOMCU boards do, enabled by a BRD_IO_DSHOT parameter. If your board does not have that parameter, the feature is not available. Confirm which output group, on which firmware version, before the frame is wired.

Source: ArduPilot DShot ESCs

Telemetry: two different things share the name

The first is a serial telemetry wire. A dedicated wire from the ESC back to a UART, carrying voltage, current, consumed capacity, temperature and electrical RPM. It gives you current for each motor and, more usefully, the temperature of each ESC, which is how you find the one arm running hot before it fails. It costs a wire and a spare serial port.

The second is bidirectional DShot, which returns RPM over the same signal line that carries throttle. It needs no extra wire or serial port, and modern flight stacks use it for dynamic RPM notch filtering, following each motor's noise frequency as it changes. On a vehicle where vibration is limiting the position estimate, this is often the single highest-value thing on the list.

They are not alternatives so much as answers to different questions: RPM for the filter, serial telemetry for the health data. Decide which one your flight stack will use, confirm your ESC supports that method, and wire for it. "Has telemetry" on a product page does not say which one. Support depends on the ESC firmware and the flight firmware release together, so a combination that works on one aircraft proves nothing about another. Note too that a configuration tool reading temperature and current over a bench link is a different capability from the flight controller logging them in the air.

Source: ArduPilot DShot ESCs · ArduPilot BLHeli32, AM32 and BLHeli_S ESCs

Firmware family decides who can service the aircraft

This is the layer most often left to chance, and it has consequences long after delivery. BLHeli-32 runs on 32-bit ESCs and is configured with BLHeliSuite32. AM32 is an open-source 32-bit firmware with its own configurator. BLHeli_S is the older 8-bit lineage and is different again. They are not interchangeable, and a technician with the wrong tool cannot change a motor direction, let alone update firmware.

Our shop gives the family in the product name where the manufacturer does: the F55A PROII and PROIII, F60A MINI, V70A SE and Cine 55A are listed as AM32, and the F35A, F45A and V50A as BLHeli-32. This matters when you choose. An aircraft with four AM32 ESCs and a BLHeli-32 spare has a spare that cannot be set up to match.

Two practical rules follow. Keep one firmware family across an airframe, including spares. And record the firmware version alongside the ESC part number in the build documentation, because a version difference between four ESCs on one aircraft produces behaviour that is very hard to diagnose from the symptoms.

Source: ArduPilot BLHeli32, AM32 and BLHeli_S ESCs · T-Motor AM116A 3D ESC

Individual, 4-in-1 or 8-in-1

An individual ESC per motor is the traditional arrangement: one fails, you replace one; the arms carry their own controller; and the wiring is longer. It is what the larger fixed-wing and VTOL units in our shop are, and it suits a build where the arms are long or the currents are high enough that you want the controller near the motor.

A 4-in-1 board puts four controllers on one PCB in the centre of the airframe, usually in a standard stack footprint. 30 × 30 mm is the common size, and the F60A MINI is the smaller 20 × 20 mm size. Wiring is much shorter and neater, the whole propulsion side is one connector to the flight controller, and one failed channel means replacing all four. An 8-in-1, as in the Cine 55A, extends the same idea to an octocopter or a coaxial X8.

For a research or inspection aircraft that will be repaired in the field, individual ESCs are often worth their wiring. For a compact multirotor being built repeatedly to the same design, a 4-in-1 is faster to build and less to get wrong. Check the mounting pattern and the stack height against the frame before ordering either.

Four failures that look identical, and how to tell them apart

The motor does not spin and the ESC beeps a pattern. The ESC is telling you something specific, usually that there is no signal or the input voltage is out of range. Count the beeps and read them against the firmware's own table before changing any hardware.

The motor spins on the bench and desynchronises under load. Nearly always a timing problem or a mismatched motor. Current is rarely the cause. It appears under fast throttle changes and is the classic symptom of a low-inductance motor on unsuitable timing settings.

One motor runs backwards. On DShot, fix this in software; there is no need to rewire. Swapping two phase wires still works, but a firmware direction change is reversible and leaves the harness alone.

The aircraft will not arm and the outputs look dead. Check the protocol match first. An autopilot set to DShot on an output group that cannot produce it, or a PWM ESC that was never calibrated, causes exactly this. The ESC itself is fine.

Underneath all four: verify one variable at a time, with the propellers off and the aircraft restrained. Most ESC diagnosis goes wrong because two things were changed between tests.

What to send with an ESC enquiry

Motor model and KV, propeller size, battery cell count and maximum voltage, expected continuous and peak current per motor, the flight controller and firmware stack, the control protocol you intend to run, whether you need serial telemetry or bidirectional DShot RPM, individual or 4-in-1 with the mounting pattern, and the ambient temperature and airflow the ESC will live in.

If you are replacing an ESC, photograph the old one's label and send the firmware family and version with it. That is usually enough to find a replacement that is compatible, and not merely similar.

T-Motor ESCs in our shop, by form and firmware

Current, cell count, form factor and firmware family below are as stated in our shop's product listings. If you are adding to an existing aircraft, read the firmware column first. That is the one constraint you cannot design around.

T-Motor multirotor and FPV ESCs listed in the Vebix Automation shop
ESCCurrentCellsFormFirmware / protocol
AM116A116 A rated, 136 A peak3–8SIndividual, fixed wingBLHeli_32
F35A35 A3–6SIndividualBLHeli-32, DShot1200
F45A45 A3–6SIndividualBLHeli-32, DShot600
V45A LITE45 A—4-in-1—
V45A V245 A—4-in-1—
V50A50 A—4-in-1BLHeli-32
V50A SE50 A—4-in-1—
F55A PROII55 A3–6S4-in-1AM32
F55A PROIII55 A8S4-in-1, 30 × 30 mmAM32
Cine 55A55 A8S8-in-1AM32
F60A MINI60 A8S4-in-1, mini stackAM32
P60A V260 A—4-in-1—
V70A SE70 A8S4-in-1AM32
Cine 80A 4-in-180 A8S4-in-1—
Cine 80A 12S80 A5–12SIndividual—

Current, cell count, form factor and firmware family are taken from our shop's product listings. Where the manufacturer does not state a value it is shown as a dash, meaning it is not listed; it does not mean it is unsupported. The fixed-wing and VTOL controllers (AT-115A (6–14S), AT195A and the AM216A, AM116A, AM16A and AM06A series) are matched to specific T-Motor motors and are not compared on protocol here. They are listed in the full ESC range in our shop. Confirm continuous ratings, supported protocols and firmware versions against the datasheet for the exact part quoted.

Source: ArduPilot DShot ESCs · ArduPilot BLHeli32, AM32 and BLHeli_S ESCs · T-Motor AM116A 3D ESC

The four compatibility layers

Work down this stack for the ESC you are considering. Each layer is checked against something different: the battery and motor, the autopilot's outputs, the flight stack's filtering, and the workshop's tools. A part can pass any three and still be wrong.

The four layers an ESC has to match Four independent compatibility layers stack between a battery and a motor: the electrical layer of cell count and current, the signal layer of PWM or DShot, the telemetry layer carrying voltage, current, temperature and RPM back to the autopilot, and the firmware layer that decides which configuration tool can service the aircraft. An ESC can pass any three of these and still be the wrong part. EACH LAYER IS CHECKED SEPARATELY 1  Electrical Cell count and continuous current, at the temperature the airframe reaches. A burst figure is not a rating. 2  Signal PWM, OneShot or DShot, and whether the autopilot output group can produce it. Digital protocols need no throttle calibration. 3  Telemetry A serial telemetry wire and bidirectional DShot RPM are different mechanisms. Decide which one the flight stack is to use. 4  Firmware BLHeli-32, AM32 or BLHeli_S. This decides the configuration tool. Whoever services the aircraft needs that tool. Pass three layers and fail one, and the aircraft either will not arm, or arms and desynchronises under load.
The firmware layer at the bottom is the one that survives the build: it decides which configuration tool anyone servicing this aircraft in two years will need.

Sources & basis

What this is based on.

  • ESC current ratings, cell counts, form factors and firmware families as listed in the Vebix Automation shop's T-Motor product pages.
  • The protocol behaviour described (PWM pulse-width throttle, DShot's checksummed digital frames with no throttle calibration, and bidirectional DShot returning RPM on the signal line) is the published behaviour of these protocols. Which protocols a given autopilot output group can generate is board- and firmware-specific; confirm it in your flight stack's documentation.
  • Firmware families and their configuration tools (BLHeliSuite32 for BLHeli-32, the AM32 configurator for AM32) are named to show which tool goes with which. That is not a compatibility guarantee for any particular version.
  • ArduPilot DShot ESCs (accessed 2026-09-07)
  • ArduPilot BLHeli32, AM32 and BLHeli_S ESCs (accessed 2026-09-07)
  • T-Motor AM116A 3D ESC (accessed 2026-09-07)

Published 7 September 2026. Last revised 7 September 2026. Corrections to sales@vebixautomation.com.

Talk to an engineer

Matching an ESC to your propulsion?

Send your motor and KV, propeller, cell count, peak current per motor, flight controller and the control protocol you intend to run, and we will return a compatible component shortlist with the programming tool you will need. Request a component quotation for supply in India.

Email
sales@vebixautomation.com
Phone
+91 97028 20020
← All guides