Servo & ESC Signal
DC Voltage Approximation
A Timed Pulse Protocol
This is not simply a voltage level signal. It is a precise communication protocol where the receiving device — a servo, ESC, or flight controller — measures the exact duration of each incoming pulse in microseconds and acts on that value.
The signal runs at a fixed frequency of roughly 50 Hz, meaning one pulse arrives every 20 milliseconds. The magic is in how long that pulse stays high:
The servo or ESC contains a dedicated timer circuit that measures these pulse widths and responds accordingly. A 1500µs pulse at 50 Hz represents roughly a 7.5% duty cycle — but that number is meaningless to the servo. Only the 1500µs matters.
A Cheap Digital-to-Analog Converter
This type of PWM is simply using rapid on/off switching to approximate an analog DC voltage. There is no protocol, no timing decoder, and no microcontroller on the receiving end measuring pulse widths.
The output switches between 0V and the supply voltage (e.g., 3.3V or 5V) at a high frequency. Either an RC filter or the natural capacitance/inductance of the load smooths this switching into a stable DC level. The relationship is simple:
Frequency matters only insofar as it needs to be fast enough for the RC filter to smooth out the ripple. There's no requirement for it to be 50 Hz, and the absolute pulse width in microseconds is irrelevant.
When to Use Each
// SERVO / ESC PWM
- RC hobby servos
- Brushless ESCs
- Flight controllers (FC)
- Robotic actuators
- Pan/tilt gimbals
// DUTY-CYCLE PWM
- LED dimming
- PC fan speed control
- DC motor voltage control
- Analog reference voltages
- Audio/DAC applications
Side-by-Side
| Feature | Servo / ESC PWM | Duty-Cycle PWM |
|---|---|---|
| Data carrier | Pulse width (µs) | Duty cycle (%) |
| Frequency | Fixed ~50 Hz required | Flexible, often kHz |
| Decoded by | Timer/decoder circuit | RC filter or load |
| Output result | Commanded position/speed | Proportional DC voltage |
| Is it a protocol? | Yes | No |
| Interchangeable? | No — plugging a servo into a duty-cycle output will not work correctly. | |
// WHY THE CONFUSION?
Both are technically "PWM" — they both produce a square wave with variable on/off timing. But servo PWM is a communication protocol where a microcontroller actively measures pulse timing, while duty-cycle PWM is simply using switching to approximate an analog voltage level. The name is the same; the underlying mechanism and intent are completely different. They are not interchangeable.