FPV Drone Motor Timing and Demag Compensation: Advanced BLHeli Settings

FPV Drone Motor Timing and Demag Compensation: Advanced BLHeli Settings

Beneath the simple sliders of Betaflight’s PID tuning tab lies an entire subsystem of motor control parameters that directly govern how your brushless motors convert electrical power into thrust. BLHeli_32 and its open-source successor AM32 expose a set of advanced timing parameters — motor timing, demagnetization compensation, and PWM frequency — that can mean the difference between a hot, inefficient motor that desyncs under load and a cool, responsive powerplant that delivers predictable thrust throughout the throttle curve. This article explains what each setting does at the electrical level, provides diagnostic frameworks for identifying misconfigured motors, and offers concrete tuning workflows for common scenarios.

Motor Timing: Degrees of Advance Explained

In a brushless DC motor, the stator windings are energized in a specific sequence that creates a rotating magnetic field. The rotor, carrying permanent magnets, chases this field. Motor timing — expressed in degrees — determines how early the stator field is advanced relative to the rotor’s physical position. At 0° timing, commutation occurs exactly when the rotor magnet aligns with the stator pole. This produces the most torque per amp but limits top-end RPM because the stator field cannot “lead” the rotor at high speeds. As you advance timing (positive degrees), the stator field fires earlier in the rotor’s rotation, effectively pulling the rotor forward. This increases maximum RPM at the cost of efficiency and additional heat.

The relationship between timing and motor behavior follows a predictable curve. At low timing (0–5°), the motor runs cool and efficient but may struggle to reach high RPM under load. Medium timing (10–15°) is the sweet spot for most FPV applications — it provides good top-end performance without excessive heat. High timing (20–30°) pushes maximum RPM but causes the stator field to fight against the rotor’s magnetic field during portions of the commutation cycle, generating significant heat. This heat is not merely wasted energy; it can demagnetize rotor magnets if sustained, particularly in motors using N48 or lower-grade neodymium magnets.

When to Adjust Motor Timing

Motor timing is not a “set once and forget” parameter — it should be tailored to your specific motor, prop, and battery combination. The primary triggers for timing adjustment are:

  • Desync under rapid throttle changes. If your motor stutters or desyncs during aggressive throttle punches, the timing may be too advanced, causing the ESC to lose synchronization with the rotor position. Reduce timing by 5° increments and retest.
  • Excessive motor temperature. After a 30-second hover or a full-throttle punch, if the motor bell is too hot to touch (above ~70°C), timing is likely too high. Drop to the next lower preset.
  • Low top-end RPM. If your quad feels sluggish at high throttle and the battery and props are appropriate for the build, try advancing timing by 5°. Watch motor temperature after the change.
  • High pole-count motors (14-pole and above). Motors with 14 or more magnetic poles (common on larger 2806.5–2812 stators) have shorter electrical cycles and benefit from slightly higher timing (15–20°) to maintain commutation accuracy at high electrical RPM.
  • 6S vs. 4S builds. Higher voltage drives faster electrical RPM for a given motor KV. A motor that runs comfortably at 15° timing on 4S may need 10° or less on 6S to avoid desync at the higher electrical frequency.

Demagnetization Compensation: The Anti-Desync Feature

Demag compensation is arguably the most misunderstood setting in the BLHeli suite. To understand it, you need to understand what happens during demagnetization. When an ESC de-energizes a stator winding at the end of a commutation step, the collapsing magnetic field induces a voltage spike — this is back-EMF. Under normal operation, the ESC measures this back-EMF to determine rotor position (sensorless commutation). However, at very high RPM or under heavy load, the back-EMF signal can be distorted or delayed, causing the ESC to lose track of the rotor. This is a desync event: the motor stutters, screeches, and the quad tumbles from the sky.

Demag compensation addresses this by adjusting the commutation timing dynamically. When the ESC detects that the back-EMF signal is not crossing zero when expected — indicating that the rotor is lagging — it momentarily delays the next commutation step to allow the rotor to catch up. The available settings in BLHeli_32 are:

SettingBehaviorUse Case
OffNo compensation; fastest response but highest desync riskLightly loaded setups, low-KV cruisers
LowMinimal compensation delay; good balanceMost 5-inch freestyle and racing builds
HighAggressive compensation; strongest desync protectionHeavily loaded setups, high-voltage 6S+, large props

The cost of demag compensation is reduced maximum power. Because the ESC is deliberately delaying commutation to prevent desync, the motor produces slightly less torque during compensated cycles. On a well-tuned build running appropriate props, demag compensation set to Low is rarely noticeable in flight but provides a valuable safety net. Set to High, it can cost 5–10% peak power — acceptable on a heavy cinewhoop or long-range cruiser, but potentially race-losing on a competition build. If you are experiencing desyncs, always try increasing demag compensation before adjusting timing, as demag comp is a targeted solution whereas timing changes affect the entire operating envelope.

PWM Frequency: The Switching Speed Trade-Off

BLHeli ESCs control motor speed via pulse-width modulation (PWM) — rapidly switching the MOSFETs on and off to regulate the effective voltage delivered to the motor. The PWM frequency determines how fast this switching occurs. BLHeli_32 supports frequencies from 24 kHz to 96 kHz, with 48 kHz being the most common default on modern ESCs running 32-bit MCUs.

Lower PWM frequencies (24 kHz) produce slightly more torque at low throttle because the longer “on” pulses allow more current to flow during each cycle. However, they also generate audible motor noise — a whine at exactly the switching frequency — and produce more ripple current on the battery leads. Higher PWM frequencies (48–96 kHz) push the switching noise above the range of human hearing, produce smoother throttle response, and reduce current ripple, but they increase MOSFET switching losses. Every time a MOSFET transitions between on and off, it briefly operates in its linear region, dissipating power as heat. At 96 kHz, the MOSFETs switch nearly 100,000 times per second, and switching losses can increase ESC temperature by 15–25°C compared to 24 kHz operation.

For the vast majority of FPV pilots, 48 kHz is the correct choice. It eliminates audible motor whine, works well with modern low-ESR capacitors, and keeps ESC temperatures within safe limits. Bump to 96 kHz only on builds where absolute smoothness matters (cinelifter platforms carrying expensive cameras) and only if your ESC is rated for it and has adequate cooling airflow. 24 kHz can be useful on ultralight toothpick builds running tiny AIO boards where every gram of thrust matters and the ESC has limited heatsinking.

Diagnosing Motor Problems Through Symptom Analysis

Systematic diagnosis beats random parameter twiddling every time. Here is a decision matrix for common motor symptoms and their most likely BLHeli-level causes:

  • Symptom: Motor chirps/stutters on arming but spins normally above 10% throttle. Likely cause: Startup power too low. Increase minimum startup power in 0.03125 increments. Also check that the motor’s physical spin is free — a dirty bearing can mimic a startup issue.
  • Symptom: Desync at full throttle during punchouts, quad tumbles, ESC reboots (first beeps of startup sequence replay). Likely cause: Timing too advanced or demag comp insufficient. Reduce timing by 5° and increase demag comp from Low to High. Verify that your ESC is not hitting its current limit — check the current sensor log.
  • Symptom: Motor runs hot with no apparent performance gain. Likely cause: Timing excessively advanced. Return timing to default (15° for most BLHeli_32 presets), test, and increase only if top-end RPM demonstrably improves without excessive heat.
  • Symptom: Oscillation or roughness at mid-throttle, visible in blackbox gyro traces as motor-frequency noise. Likely cause: PWM frequency interacting with frame resonance. Change PWM frequency by one step (e.g., 48 kHz to 44 kHz or 52 kHz if supported). This is uncommon on 32-bit ESCs but can occur with certain motor-frame combinations.
  • Symptom: Motor clicks once and stops during startup. Likely cause: Demag compensation too aggressive for the motor’s back-EMF profile. High demag comp on small, low-inductance motors can over-correct the commutation timing. Reduce to Low or Off and test.

Practical Tuning Workflow

For most pilots, a systematic approach to motor settings yields better results than blindly copying online presets. Start with your ESC’s default BLHeli settings. Fly a 30-second hover followed by three full-throttle punchouts. Land immediately and measure motor temperature with an IR thermometer or the back-of-finger test. If motors are below 60°C and there are no desyncs, your timing is in the right ballpark. If motors are hot, reduce timing by 5° and repeat. If desyncs occur, increase demag comp to Low, or to High if the problem persists. Once timing and demag comp are dialed, set PWM frequency to 48 kHz unless you have a specific reason to deviate. Document your final settings per-build — what works on a 5-inch freestyle rig will not necessarily translate to a 7-inch cruiser or a 3-inch toothpick. The goal is not maximum numbers on a thrust stand but a motor system that runs reliably, stays cool, and delivers predictable control authority across your entire flight envelope.

Leave a Comment

Scroll to Top