The Drone Post Logo
ToolsServicesAboutContact
Subscribe
The Drone Post Logo

The authoritative source for drone technology, industry news, and UAV resources in India. Bridging the gap between engineering and application.

Resources

  • UAV Tools
  • Technical Guides
  • India Regulations

Company

  • About Us
  • Work With Us
  • Privacy Policy
  • Contact

Follow

© 2025 The Drone Post. India's Drone Media & Resource Platform

All Articles
ESC Protocols Explained: PWM, DSHOT, and What to Choose
Technical6 Apr 20265 min read

ESC Protocols Explained: PWM, DSHOT, and What to Choose

The signal between your flight controller and motors is smaller than you think — and more important than most builders realize.

T

The Drone Post

Editor

ShareLTW

Most drone builders spend a lot of time thinking about motors. Stator size, KV rating, efficiency curves. That's reasonable — motors are the muscle of the drone.

But there's a layer between the flight controller and the motor that quietly determines how well all that muscle is actually controlled. It's the ESC protocol — the language your flight controller uses to tell each ESC exactly what to do, and how fast to do it.

Get this right and your drone responds crisply, logs clean telemetry, and behaves predictably. Get it wrong — or just leave it at the default without thinking — and you're flying with a communication layer that's slower and less reliable than it should be.

Here's what you actually need to know.

What an ESC Protocol Is

Your flight controller calculates motor output values hundreds of times per second. Those values need to travel from the FC to each ESC as a signal — a message that says "run at this throttle level, right now."

The ESC protocol is the format and timing of that message.

Different protocols carry that information differently — with different speeds, different precision, and different levels of noise resistance. The protocol you choose affects how quickly the ESC responds to commands, how accurately it interprets them, and what additional features become available.

PWM — Where Everything Started

PWM — Pulse Width Modulation — is the oldest ESC protocol still in widespread use. It works by sending a pulse of varying length to the ESC: a 1000 microsecond pulse means minimum throttle, a 2000 microsecond pulse means maximum throttle, and everything in between maps linearly to throttle percentage.

It works. It has worked for decades across RC aircraft, helicopters, and early multirotors. Almost every ESC ever made supports it.

The problems are real though.

PWM is an analog signal — which means it's vulnerable to electrical noise. A power cable running near a PWM signal wire can induce interference that the ESC interprets as throttle variation. In a noisy electrical environment — which most drone builds are — this creates subtle inconsistencies in motor response.

PWM also has limited resolution. The 1000–2000 microsecond range, divided into steps the ESC can distinguish, gives you roughly 1000 discrete throttle levels. That sounds like a lot. For precision control applications it isn't.

And PWM updates at a maximum of around 490 Hz in most implementations — meaning the flight controller can only send new throttle commands 490 times per second per motor. For a racing drone doing high-speed directional changes, that update rate is a genuine bottleneck.

Use PWM when: you're flying older hardware that doesn't support digital protocols, or in applications where update rate and precision aren't critical.

OneShot and Multishot — The Bridge Protocols

Between PWM and the fully digital protocols came a generation of faster analog protocols — OneShot125, OneShot42, and Multishot.

These work the same way as PWM — pulse width encoding — but compress the timing window. OneShot125 uses 125–250 microsecond pulses instead of 1000–2000, making it roughly 8x faster. Multishot pushes further, enabling update rates up to 32 kHz.

They were a meaningful improvement for racing and acrobatic applications. But they're still analog — still noise-vulnerable — and have largely been superseded by DSHOT for new builds.

Use these when: your ESC doesn't support DSHOT but you need faster response than standard PWM.

DSHOT — The Digital Standard

DSHOT is where modern drone builds should be. It's a fully digital protocol — instead of encoding throttle as pulse width, it sends a precise digital packet: a 16-bit frame containing the throttle value, a telemetry request bit, and a checksum.

The implications of going digital are significant.

No calibration required. PWM ESCs need to be calibrated to learn the throttle range of your specific flight controller. DSHOT eliminates this entirely — the value 0 always means 0%, the value 2047 always means 100%. No calibration, no drift.

Noise immunity. A digital packet either arrives correctly or it doesn't. Electrical noise that would corrupt a PWM signal can't subtly shift a digital value — the checksum catches corrupted packets.

Higher resolution. 11 bits of throttle resolution gives 2048 discrete steps versus PWM's ~1000.

Bidirectional communication. Newer DSHOT implementations — particularly Bidirectional DSHOT — allow the ESC to send data back to the flight controller: motor RPM, eRPM telemetry, and desync detection. This enables RPM filtering in Betaflight and ArduPilot, which is one of the most significant tuning improvements available on modern builds.

DSHOT comes in several speed variants: DSHOT150, DSHOT300, DSHOT600, and DSHOT1200. The number refers to the signal speed in kbps. For most builds, DSHOT300 or DSHOT600 is the right choice — fast enough to eliminate latency as a concern, stable enough to work reliably across typical wire lengths and layouts.

Use DSHOT when: you're building anything new with a compatible FC and ESC stack. There's almost no reason not to.

DSHOT and RPM Filtering — Why It Matters

This deserves its own section because it's genuinely important for build quality.

Every motor running in a drone generates vibration at frequencies related to its RPM. Those vibrations propagate through the frame into the IMU sensors — the accelerometers and gyroscopes — and inject noise into the sensor data the flight controller depends on for stability.

Traditional filtering approaches use static notch filters — blocking specific frequency bands. The problem is that motor RPM changes with throttle, so the vibration frequencies shift constantly. A static filter set for hover RPM is in the wrong place during a climb.

RPM filtering — enabled by Bidirectional DSHOT telemetry — solves this by making the notch filters dynamic. The flight controller knows the exact RPM of every motor in real time, calculates the vibration frequencies those RPMs generate, and positions the notch filters precisely where the noise actually is.

The result is dramatically cleaner sensor data, better PID response, and a drone that flies more smoothly across the entire throttle range. On any build where tuning quality matters, enabling Bidirectional DSHOT and RPM filtering is one of the highest-value configuration steps available.

Choosing the Right Protocol — A Simple Framework

Situation

Recommended Protocol

Legacy hardware, older ESCs

PWM

Older ESC, need faster response

OneShot125 or Multishot

New build, modern ESC stack

DSHOT300 or DSHOT600

Racing or freestyle, need best tune

DSHOT600 + Bidirectional + RPM Filter

Long-range or survey drone

DSHOT300 — reliable, sufficient speed

One More Thing — ESC Firmware

The protocol is only part of the equation. ESC firmware — BLHeli_32 and AM32 are the two dominant options for modern builds — determines what protocols are supported, how smoothly motor startup is handled, and what telemetry data is available.

BLHeli_32 is closed-source but mature and widely supported. AM32 is open-source and actively developed, with excellent Bidirectional DSHOT support. For new builds, either works well — check compatibility with your specific ESC hardware before committing.

The Bottom Line

PWM got drones off the ground. DSHOT is what keeps modern builds flying precisely.

If you're building anything new today, DSHOT300 or DSHOT600 with Bidirectional DSHOT enabled is the right choice — cleaner signals, no calibration headaches, and the foundation for RPM filtering that will make your tune significantly better.

It's a small configuration decision with a surprisingly large impact on how the finished build feels in the air.

ESCPWMDSHOTBLHeliMotor ControlFlight Controller
ShareLTW

Enjoyed this read?

Get articles like this delivered weekly — technical deep dives, industry news, and drone insights from India.

More in Technical

How Flight Controllers Process Sensor Fusion in Real Time
Technical5 MIN READ

How Flight Controllers Process Sensor Fusion in Real Time

Your drone is making thousands of decisions every second. Here's the invisible system making that possible.

By The Drone Post
Understanding GPS vs RTK: Which Positioning System Does Your Drone Need?
Technical5 MIN READ

Understanding GPS vs RTK: Which Positioning System Does Your Drone Need?

Your drone knows where it is. But how accurately — and does it matter for your mission?

By The Drone Post