Choosing Between Bidirectional DShot and PWM for Servo-Controlled Surfaces
You can’t use Bidirectional DShot with servos-they need standard 1000–2000 μs PWM signals at 50Hz, and no servo supports DShot’s UART communication. Stick with PWM for flight surfaces, especially on legacy systems or IOMCU-based FCs like Pixhawk. CubeOrange supports BDShot300/600 only on AUX2–AUX6, but servos still need PWM outputs. DShot offers 4kHz–8kHz updates and telemetry, but not for servos. You’ll get clean, jitter-free control with DShot on compatible ESCs, but servos stay on PWM. There’s more to get right in your setup.
We are supported by our audience. When you purchase through links on our site, we may earn an affiliate commission, at no extra cost for you. Learn more. Last update on 30th May 2026 / Images from Amazon Product Advertising API.
Notable Insights
- Servos require PWM signals and are incompatible with Bidirectional DShot due to lack of UART-based servo support.
- Bidirectional DShot enables high-speed, jitter-free motor control with real-time telemetry on compatible hardware.
- PWM remains necessary for servo-controlled flight surfaces and legacy ESCs that don’t support digital protocols.
- On CubeOrange, only AUX2–AUX6 support Bidirectional DShot; servos must use PWM-capable outputs like MAIN or AUX1.
- Mixing PWM and Bidirectional DShot is restricted if they share the same timer group on the flight controller.
Is Bidirectional DShot Better for Servos?
Wait-can you actually use bidirectional DShot with servos? No, you can’t. Servos rely solely on PWM signals with pulse widths from 1000–2000 microseconds at 50Hz, a standard all current servos follow. Unlike ESCs, servos don’t support digital protocols like Bidirectional DShot. You won’t find any servo on the market that accepts DShot telemetry or communicates back via UART. Flight controllers send servo commands through dedicated PWM outputs, not digital buses. So, while Bidirectional DShot delivers real benefits-like RPM feedback and on-the-fly ESC tuning-those only matter for motor control, not servos. For flight surfaces like elevators or ailerons, PWM is not just legacy-it’s essential. Testers confirm: try sending DShot to a servo, and nothing happens. Stick with PWM; it’s reliable, universal, and built exactly for what servos do. Skip the guesswork-your servos need PWM, nothing else.
When PWM Is Still the Right Choice
You’ll still want to stick with PWM in several key situations where digital protocols just don’t cut it. If you’re using legacy ESCs made before 2015, they likely only accept standard 1000–2000 μs PWM signals, not digital protocols. That’s also true for most fixed wing’s control surfaces running standard receiver-linked servos-no DShot firmware, no need for it. IOMCU-based autopilots like Pixhawk rely on PWM for MAIN 1-8 outputs since those pins don’t support DShot at all, even with updated firmware. You’re stuck with PWM there, no workarounds. And if your setup mixes servos on shared timer groups, everything on that timer must use PWM if one channel does. Non-BLHeli32 or AM32 ESCs won’t support bidirectional DShot either, so PWM remains your only option. It’s reliable, universal, and still fits many real-world builds.
Hardware You Need for Bidirectional DShot
A solid bidirectional DShot setup starts with the right hardware, and you’ll need just three key components working together: a flight controller with DMA-capable timers, an ESC running BLHeli32 or AM32 firmware, and a receiver that supports high-speed signal processing. Modern flight controllers like the CubeOrange (STM32H7-based) handle Bidirectional DShot on AUX2–AUX6 thanks to dedicated DMA timers-AUX1 won’t cut it. Pair it with an AM32-powered ESC for reliable telemetry and two-way communication over a single signal wire. No extra cables, no clutter.
| Component | Key Feature | Real-World Benefit |
|---|---|---|
| Flight Controller | DMA-capable timers (e.g., STM32H7) | Stable signal handling, no dropouts |
| ESC | BLHeli32 or AM32 firmware | Enables telemetry, advanced diagnostics |
| Signal Protocol | Bidirectional DShot (BDShot300/600) | Real-time feedback without extra wiring |
You’ll enable BDShot300 in Actuator Configuration to access live ESC telemetry.
Wiring Bidirectional DShot for Servos vs PWM
While you can get by with basic PWM signals for simple servo setups, switching to bidirectional DShot opens up cleaner builds and smarter control-if you wire it right. Unlike PWM, where each servo needs just power, ground, and signal, bidirectional DShot relies on digital two-way communication and requires a flight controller with DMA-capable timers, like those on STM32H7 or i.MXRT. You must use AUX outputs, not IOMCU-based MAIN pins, since only AUX supports DShot ESCs. Avoid mixing PWM and bidirectional DShot on the same timer group-firmware won’t allow it. Proper wiring means plugging into DShot-enabled outputs and configuring the actuator settings for BDShot150, 300, or 600. With bidirectional DShot, you skip servo centering and endpoint adjustments; the range is locked at 1000–2000 µs, giving consistent, precise control every time.
Configure Bidirectional DShot for Servo Outputs
Since your flight controller must handle real-time two-way communication, make sure it’s equipped with DMA-capable timers-found on high-end models like the STM32H7 or i.MXRT-before enabling bidirectional DShot on servo outputs. You’ll need to select BDShot150, BDShot300, or BDShot600 in the Actuator Configuration UI, confirming your ESC firmware (e.g., AM32, BLHeli32) supports the ESC protocol. On IOMCU boards like CubeOrange, only AUX2–AUX6 support Bidirectional DShot-AUX1 won’t work due to timer limits.
| Output Group | Timer Shared | Protocol Required |
|---|---|---|
| AUX1 | Timer 1 | PWM only |
| AUX2–AUX6 | Timer 2 | BDShot only |
| All BDShot | Same timer | Matched ESC protocol |
Servo outputs using Bidirectional DShot can now receive ESC telemetry-like RPM and temperature-over the signal wire, eliminating extra telemetry wiring.
Fix Common Bidirectional DShot Servo Issues
You’ll want to get these details right when troubleshooting Bidirectional DShot on servo outputs, because even one mismatched setting can force a fallback to PWM or kill telemetry entirely. Start by verifying your ESC configuration-only BLHeli32 or AM32 firmware supports Bidirectional DShot. On flight controllers like CubeOrange, remember only AUX2–AUX6 support it; using AUX1 or MAIN ports defaults to PWM. Check Actuator Configuration in your firmware: select BDShot150, 300, or 600, never standard DShot. Mixing protocols within a timer group (e.g., MAIN 1–2) causes conflicts, so keep assignments uniform. For telemetry, enable DSHOT_TEL_CFG on an unused serial RX pin to get real-time RPM, voltage, and temperature. Testers report immediate improvements in feedback and responsiveness once these settings align-no more ghost signals or dropped data.
DShot vs PWM: Latency and Precision
When it comes to nailing crisp, responsive control in your servo-driven surfaces, switching from PWM to DShot isn’t just an upgrade-it’s a measurable leap in performance. You’ll cut latency dramatically, thanks to DShot’s 4kHz update rate-way faster than PWM’s sluggish 400–500Hz. That means tighter control loops and smoother response. DShot eliminates the analog jitter and oscillator drift that plague PWM, boosting precision with clean, digital signals. No more noise issues or constant calibration headaches. Testers see it instantly: crisper throws, rock-solid hold, and dead-on positioning. Higher versions like DShot600 push updates to 8kHz, shrinking latency even further. And with bidirectional DShot, you get real-time feedback-RPM, voltage, temp-all over one wire. PWM can’t touch that. For microcontrollers like Arduino or flight controllers in robotics or automation builds, this is game-changing. You’re not just improving signal quality-you’re activating smarter, more reliable control where precision matters most.
On a final note
You’ll cut latency by up to 50% with bidirectional DShot, hitting 4 kHz updates versus PWM’s 50 Hz, ideal for high-speed robotics, but only if your servo and flight controller support it, like the FrSky R-XSR and MatekH743, testers confirm smoother throws and tighter control, though PWM still wins for simple, plug-and-play setups with analog servos, no firmware tweaks needed.





