BLHeli_S ESC Configuration: Bluejay Flash, Motor Direction, Startup Power, and RPM Filtering — 2026 Guide

BLHeli_S ESCs shipped on millions of flight controllers between 2017 and 2022. They’re still everywhere — on whoop boards, budget stacks, AIO flight controllers. Stock BLHeli_S firmware is frozen at version 16.7. No updates, no RPM telemetry, no adjustable PWM frequency. But Bluejay changes that: an open-source replacement firmware that breathes new life into these ESCs with RPM filtering, configurable startup power, and bidirectional DShot. Here’s how to flash it, configure it, and avoid bricking your ESC in the process.

Why Bluejay Matters for BLHeli_S

Stock BLHeli_S uses a fixed PWM frequency (usually 24kHz or 48kHz depending on revision) and has zero RPM telemetry support. You can’t run bidirectional DShot, which means no RPM filtering — one of the single biggest noise-reduction upgrades in Betaflight 4.3+. Bluejay enables:

  • Bidirectional DShot for RPM filtering. Betaflight’s dynamic notch filter and RPM filter bank track each motor’s actual RPM instead of guessing from the throttle signal. The result: cleaner gyro traces, lower filter latency, and motors that run cooler.
  • Variable PWM frequency from 24kHz to 96kHz. Higher PWM = quieter motors at the cost of slightly more ESC heat. 48kHz is the sweet spot for most 5-inch builds.
  • Adjustable startup power (0.031 to 1.0). Fixes the “stuttering motor on arm” problem without raising minimum throttle in Betaflight.
  • Motor direction reversal in firmware. No more swapping two motor wires — set direction in the configurator.
  • DShot beacon strength control. Louder beeper tones when using DShot beacon as a lost model alarm.

Prerequisites and Compatibility

Bluejay works on BLHeli_S ESCs only — not BLHeli_32. Check your ESC type in the BLHeliSuite or BLHeli Configurator. If the layout shows “BLHeli_S” and a version like 16.7, you’re good. Supported MCUs: EFM8BB1 (BusyBee1) and EFM8BB2 (BusyBee2). The vast majority of BLHeli_S ESCs use one of these.

What you need:
– A flight controller with Betaflight 4.3+ installed (for RPM filtering support)
– ESC Configurator (https://esc-configurator.com) — browser-based, no install needed
– A charged LiPo (ESC must be powered to flash — USB alone won’t do it)
– Props OFF. Absolutely non-negotiable. Flashing firmware with props on is how you end up in the ER.

Step-by-Step Bluejay Flashing Guide

Step 1: Remove props. Say it out loud if you have to. Props off. Verify again.

Step 2: Connect to Betaflight and verify ESC protocol. Go to the Motors tab. Make sure “ESC/Motor Protocol” is set to DShot300 or DShot600. Bluejay requires DShot protocol — Oneshot/Multishot won’t work for bidirectional DShot. If you’re on Oneshot125, switch to DShot300 before proceeding.

Step 3: Open ESC Configurator. Go to https://esc-configurator.com in Chrome or Edge. Click “Connect.” Select the serial port for your flight controller. If you don’t see it, install the drivers (CP210x or STM VCP) for your FC.

Step 4: Read current settings. Click “Read Setup.” The configurator reads all four ESCs and displays current firmware version, settings, and the ESC layout. Verify all four ESCs are detected. If one is missing, check wiring — that ESC might be unpowered or the signal wire has a cold joint.

Step 5: Select Bluejay firmware. Click “Flash All.” A dialog opens. Under “Firmware,” select “Bluejay.” Choose the PWM frequency: 48kHz for general 5-inch, 96kHz for whoops and ultralight builds (quieter, slightly less torque), 24kHz for high-RPM racing (more torque, louder). Leave “Minimum Startup Power” at default (0.0625) — you can raise it later if motors stutter on arm. Click “Flash.”

Step 6: Wait and verify. Flashing takes 15-30 seconds per ESC. The configurator shows a progress bar. Do not disconnect or unplug the battery during this process — that’s how you brick an ESC. If flashing fails on one ESC (red bar), re-flash that individual ESC. Two consecutive failures usually means the ESC has a different MCU or is a BLHeli_32 variant misidentified as BLHeli_S.

Step 7: Set motor direction. After flashing, each ESC shows a direction toggle. Set motors 1 and 4 to “Normal,” motors 2 and 3 to “Reversed” for standard props-out configuration. For props-in, reverse those pairs. This saves you from desoldering motor wires when you guessed wrong. Click “Write Setup” after changing directions.

Step 8: Verify in Betaflight. Go back to Betaflight. In the Motors tab, test each motor individually (props still off!). Verify direction by feel or a piece of tape on the bell. Listen for smooth spin-up with no stutter. If a motor stutters, raise minimum startup power for that ESC in the configurator — try 0.125 first.

Step 9: Enable bidirectional DShot in Betaflight. In the Motors tab, toggle “Bidirectional DShot” to ON. The motor poles count defaults to 14 for most 5-inch motors (2207, 2306). For whoops and smaller motors (1103, 1202.5), set it to 12. Save. The Motors tab should show error rates below 0.5%. If error rates are 100%, bidirectional DShot isn’t talking — check that Bluejay flashed successfully and your ESC protocol is DShot300/600.

Bluejay Settings Reference Table

Setting Range Default Recommended Effect
PWM Frequency 24/48/96 kHz 48 kHz 48 kHz (general), 96 kHz (whoop) Higher = quieter, lower = more torque
Startup Power 0.031–1.0 0.0625 0.0625–0.125 Raise if motors stutter on arm
Brake on Stop On/Off Off Off Active braking — leave off for FPV
DShot Beacon Strength 0–255 80 120 Louder lost-model beeper
Motor Timing Low/Med/High Medium Medium Higher = more top-end, more heat
Demag Compensation Low/High Low Low Raise if motor desyncs on rapid throttle changes

Common Mistakes & What Most Pilots Get Wrong

Mistake 1: Flashing with props on. Every veteran pilot has a story about someone (maybe them) who flashed ESCs with props attached. The motors spin during the flash beep sequence. One spin at the wrong angle and you’re bleeding. It happens fast.

Consequence: Lacerations, broken props, damaged ESC from sudden mechanical stop.

Fix: Remove props. Every time. No exceptions. Make it a physical ritual — props go in a drawer before the USB cable comes out.

Mistake 2: Not verifying ESC type before flashing Bluejay. BLHeli_S and BLHeli_32 are different architectures. Flashing Bluejay onto a BLHeli_32 ESC bricks it because the firmware is compiled for an entirely different microcontroller. The configurator should block this, but older versions don’t always detect correctly.

Consequence: Bricked ESC. Recovery requires a C2 interface programmer (USB linker) and reflashing stock BLHeli_32 firmware — not something you can do in the field.

Fix: Read the ESC info first. If it says “BLHeli_32” anywhere, stop. Bluejay is not for you. BLHeli_32 already supports bidirectional DShot natively — just enable it in Betaflight. If you want adjustable settings on BLHeli_32, we covered that in our BLHeli_32 ESC configuration guide.

Mistake 3: Raising startup power too aggressively. A motor stutters on arm, so you crank startup power to 0.5 or higher. Now the motor jerks hard on spin-up, which stresses the ESC MOSFETs and can cause desyncs at low throttle.

Consequence: ESC MOSFET damage over time, jerky low-throttle behavior, and potential desync during landing approaches.

Fix: Raise startup power in small increments — 0.0625 → 0.09375 → 0.125. Stop as soon as the stutter disappears. Most motors spin cleanly at 0.125 or below. If you need 0.25+, there’s a mechanical issue (tight bell, bad bearing, debris in the gap).

Mistake 4: Forgetting to enable bidirectional DShot in Betaflight after flashing Bluejay. You flash Bluejay, pat yourself on the back, go fly, and wonder why the RPM filter isn’t doing anything. Bluejay provides the RPM data, but Betaflight has to be told to use it.

Consequence: Bidirectional DShot is disabled. RPM filtering doesn’t work. Your noise floor is higher than it should be and motors run hotter in hard maneuvers.

Fix: After flashing Bluejay, go to Betaflight Motors tab → enable “Bidirectional DShot.” Verify error rates are under 1% for each motor. If errors are high, increase the DShot idle value slightly.

⚠️ Regulatory Notice: The ESC firmware modifications described in this article affect drone motor behavior and can alter flight characteristics. Always test modified configurations in a controlled environment before flying in public areas. Some regions prohibit firmware modifications that disable manufacturer safety features. Verify your local 2026 drone regulations regarding modified flight controller and ESC firmware before operating in public airspace. Regulations vary significantly between the FAA (US), EASA (EU), CAA (UK), CAAC (China), and other authorities.

Once Bluejay is running with bidirectional DShot, the next step is configuring RPM filtering in Betaflight — motor poles count, dynamic notch width, and filter sliders. We break that down in the Betaflight RPM filter setup guide. And if you’re dealing with desyncs that Bluejay settings can’t fix, check out our motor desync root cause diagnosis guide.

For builds where you’re flashing Bluejay on a budget AIO flight controller with onboard ESCs, pair it with clean power delivery. The Matek Mini Power Hub with built-in LC filter keeps voltage ripple out of your video even with Bluejay’s 96kHz PWM on tiny whoop boards. Available at uavmodel.com.

Leave a Comment

Scroll to Top