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 propulsion — how much thrust, which motor, which propeller — is a separate question and one 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 numeric value with a checksum, so a corrupted frame is detected and discarded rather than acted on, and there is no throttle calibration at all — the endpoints are defined by the protocol. It also carries a small command set: beep to locate a lost aircraft, and set motor direction in software rather than by swapping 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, digital is the default and PWM is the compatibility fallback — but which of your outputs can actually produce DShot is a firmware and board question, not a property of the protocol. 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, gated behind a BRD_IO_DSHOT parameter — if that parameter is absent on your board, the feature is not available to you. 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 is the route to per-motor current and — more usefully — per-ESC temperature, which is how you find the one arm that is 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. No extra wire, no serial port, and modern flight stacks use it for dynamic RPM-based notch filtering — tracking each motor's noise frequency as it changes instead of relying on a fixed notch. 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 the flight stack is actually going to consume, confirm your ESC supports that specific mechanism, and wire for it. "Has telemetry" on a product page does not say which one. — and support is conditional on the ESC firmware and the vehicle firmware release together, so a combination that works on one aircraft is not evidence for 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.

The catalogue states 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; the F35A, F45A and V50A as BLHeli-32. That is a genuine selection criterion, not a detail: an aircraft whose four ESCs are AM32 and whose spare is BLHeli-32 has a spare that cannot be configured 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 this catalogue 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 a smaller 20 × 20 mm class. 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 no signal, or an input voltage outside its 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. Almost always a timing or motor-mismatch problem, not a current one. 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, this is a software setting, not a wiring job. 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 configured for DShot on an output group that cannot generate it, or a PWM ESC never calibrated, produces exactly this and it is not an ESC fault.

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 rather than specifying a new one, photograph the existing label and send the firmware family and version with it. That is usually enough to identify a compatible replacement rather than a merely similar one.

T-Motor ESCs in this catalogue, by form and firmware

Current, cell count, form factor and firmware family below are as stated in the catalogue's product listings. Read the table down the firmware column first if you are adding to an existing aircraft — that is the constraint you cannot design around.

T-Motor multirotor and FPV ESCs held in the Vebix Automation catalogue
ESCCurrentCellsFormFirmware / protocol
AM116A116 A rated, 136 A peak3–8SIndividual, fixed wingBLHeli_32
F35A35 A3–6SIndividualBLHeli-32, DShot1200
F45A45 A3–6SIndividualBLHeli-32, DShot600
V45A LITE45 A4-in-1
V45A V245 A4-in-1
V50A50 A4-in-1BLHeli-32
V50A SE50 A4-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 A4-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 as stated in the catalogue's own product listings; where the manufacturer does not state a value it is shown as a dash, which means not listed here rather than not supported. 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 rather than compared on protocol, and are listed in the full ESC catalogue. 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 a different thing — the battery and motor, the autopilot's outputs, the flight stack's filtering, and the workshop's tooling — and a part can satisfy 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 actually 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 published in the Vebix Automation catalogue's T-Motor product listings.
  • Control protocol behaviour — PWM pulse-width throttle encoding, DShot's checksummed digital frames and absence of throttle calibration, and bidirectional DShot returning RPM on the signal line — is standard 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 family names and their configuration tools (BLHeliSuite32 for BLHeli-32, the AM32 configurator for AM32) are stated as the tooling relationship, not as 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 articles