PWM, OneShot125 and Brushed motor protocol on an oscilloscope

When I’ve buoght an oscilloscope (cheap digital DSO201), I’ve decided it would be a good idea to see how different ESC protocols looks like from the signal point of view. Previously I’ve written few words about them, like which is the fastest as so on, but is there something “special” about them?

Well, let’s find out…

“Standard” PWM at 400Hz

0% throttle

PWM 0% at 400Hz

100% throttle

PWM 100% at 400Hz

OneShot125 at 1kHz

0% throttle

OneShot125 0% at 1kHz

100% throttle

OneShot125 100% at 1kHz

“Analog” PWM used in Brushed motors at 16kHz

0% throttle

Brushed 16kHz 0%

100% throttle

Brushed 16kHz 100%


Well, looks like PWM, OneShot125, OneShot42 and Multishot (no screenshots for last two, but they are so similar it just made no sense to post those) are basically only an variation of the same basic idea: throttle position is encoded as a period of time between rising and falling edge of a signal. 0% throttle is encoded as period A, 100% as period B. Everything between is scaled lineary. Protocols differ only in update frequency and period lengths for 0% and 100% throttle. Boring…

Only “Analog” PWM for brushed motors is different. There are not rising edges on 0% and throttle, since 0% throttle means no current on motors.

But, this can change. There are first attempts for digital ESC protocols. Betaflight is preparing for DSHOT600 and DSHOT150 digital protocols as I write. Like always, hardware support is/will be highly limited, but hmm… ESC telemetry? Why not…

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.