BLHeli_S vs AM32: Choosing ESC Firmware for Your FPV Drone
The electronic speed controller, or ESC, is the unsung workhorse of every FPV drone. It turns the flight controller’s digital commands into the precise electrical pulses that spin each motor thousands of times per second. What many pilots overlook is that the firmware running on the ESC is just as important as the hardware — and it directly affects throttle response, efficiency, and how clean your video feed stays. Today the two dominant choices are BLHeli_S and AM32. Understanding the difference helps you pick the right gear and get the most out of your build.
What ESC Firmware Actually Does
An ESC receives a throttle signal from the flight controller and rapidly switches the phases of the brushless motor to rotate it at the commanded speed. Modern firmwares communicate using a digital protocol called DShot, which sends a precise value rather than an analog pulse. The firmware also manages startup, braking, and — crucially — the timing of the motor’s rotation. Better firmware means smoother throttle response, more efficient power delivery, and fewer electrical spikes that can ripple back into the video system.
BLHeli_S: The Proven Standard
BLHeli_S has been the default on budget and mid-range ESCs for years. It is closed-source, mature, and remarkably reliable, which is why it still ships on a huge share of flight controllers and four-in-one ESC boards. The original BLHeli_S lacks RPM telemetry, but the open-source Bluejay and JazzMaverick forks add bidirectional DShot, allowing the flight controller to read motor RPM for advanced RPM-based filtering. This is a significant upgrade: RPM filtering lets the firmware apply much sharper filters that reject motor noise without dulling propwash handling, resulting in a noticeably cleaner tune.
AM32: The Open-Source Modern Option
AM32 is a fully open-source ESC firmware developed as a modern alternative to BLHeli_S. It is actively maintained, supports a wide range of microcontrollers, and includes bidirectional DShot and RPM filtering natively, without needing a third-party fork. AM32 tends to appear on newer ESCs and is the firmware you are most likely to flash when you want the latest features and long-term support. Its configuration tool is clean and its settings — motor direction, timing, and startup power — are easy to adjust from a desktop app or a phone over Bluetooth on some boards.
How to Choose and Flash
If your ESC already runs Bluejay or JazzMaverick on BLHeli_S hardware and flies well, there is little reason to change. If you are buying new, look for hardware that ships with or supports AM32, since it is the forward-looking choice with active development. Flashing is done through a dedicated configurator over USB or a passthrough through the flight controller. Always back up your current settings first, confirm the correct target for your exact ESC model, and flash with the flight controller connected so the ESCs can communicate. A wrong target can brick an ESC, so double-check the hardware before you write.
Braking, Startup Power, and Fine-Tuning
Beyond the core protocol, ESC firmware exposes a handful of settings that meaningfully change how the quad flies. Motor braking, sometimes called damped light or active braking, lets the ESC slow the motor rapidly when you drop the throttle, which tightens control during quick maneuvers and propwash recovery. Startup power controls how aggressively the motors spin up from rest — a too-low value causes a hesitant, stuttering launch, while a too-high value wastes energy. Motor timing affects efficiency and smoothness, and most pilots find the default mid-range value works well across the board. Experiment with one setting at a time, make small changes, and test after each adjustment so you can isolate what actually improved the feel.
Whichever firmware you run, the goal is the same: a motor that responds instantly and predictably to every input. Pair good firmware with RPM filtering, and even a modest build can feel locked-in and fly with confidence.
