Quick Answer
BLHeli_S is the older firmware. It is still found on many budget ESCs. Bluejay is a free update to BLHeli_S. It adds bidirectional DShot on the same hardware. AM32 is newer firmware for 32-bit ESC chips. It gets active updates and strong RPM filtering support. For a new build today, pick AM32 or Bluejay based on your ESC hardware.
What ESC Firmware Actually Does
The ESC, or electronic speed controller, has its own small program. This program is the firmware. It reads the throttle signal from your flight controller. Then it turns that signal into a switching pattern that spins the motor. Good firmware also sends data back, like motor RPM. It protects the ESC from common faults too.
Firmware choice matters a lot. It affects how smoothly your motors spin. It affects how well the flight controller can filter out vibration. It also affects how easy the ESC is to update or fix later.
Bidirectional DShot and RPM Filtering
Bidirectional DShot is a two-way link between the flight controller and the ESC. Normally the flight controller only sends throttle commands. With this feature, each ESC also sends real RPM data back. This happens many times per second.
That RPM data feeds a technique called RPM filtering. The flight controller learns the exact motor speed. It uses that speed to remove one specific noise frequency per motor. This is sharper than a single, generic filter. Sharper filtering lets the flight controller use higher gyro gains. It also often improves flight feel. It can even reduce motor heat that comes from heavy-handed filter settings.
Both sides need to support this feature. The ESC firmware needs it, and so does the flight controller firmware, such as Betaflight or INAV. Older BLHeli_S could not do this at all. This is one big reason pilots moved on to newer firmware.
BLHeli_S: The Established Standard
BLHeli_S ran on one family of 8-bit chips. It became the standard for years on budget and mid-range ESCs. It is stable and well understood. It still works fine for basic flying today. Its main limits are simple: no bidirectional DShot in its original form, and no more active development from its original author.
If your ESCs only run BLHeli_S, they will still fly well. The main reason to change is if you want RPM filtering. That brings us to Bluejay.
Bluejay: An Open-Source Upgrade Path
Bluejay is community-built firmware. It adds bidirectional DShot to the same 8-bit chips that ran BLHeli_S. This means many existing BLHeli_S ESCs can be reflashed to Bluejay. You get RPM filtering support without buying new hardware.
Bluejay is a good middle step. It suits pilots with working BLHeli_S ESCs who want better filtering. It is open source. The FPV community keeps it updated, unlike BLHeli_S itself.
AM32: Built for Modern 32-Bit ESCs
AM32 is open-source firmware for 32-bit ESC processors. Most current mid-range and higher-end ESCs use this type of chip. Because the hardware is more capable, AM32 supports bidirectional DShot on its own. It also gets active development, regular updates, and a configurator tool that works across many boards.
AM32 is now the default choice for new builds with 32-bit ESC hardware. It combines modern features with strong community support. It will not run on older 8-bit chips, since those chips do not have enough processing power for it.
Comparing the Three
| Feature | BLHeli_S | Bluejay | AM32 |
|---|---|---|---|
| Chip type | 8-bit | 8-bit | 32-bit |
| Bidirectional DShot | No | Yes | Yes |
| Active development | No | Yes | Yes |
| Best for | Existing budget ESCs, basic flying | Upgrading existing 8-bit ESCs | New builds with 32-bit ESCs |
How to Flash Each Firmware Safely
- Back up your current ESC settings using the BLHeli configurator or AM32 configurator, so you can restore motor direction and other settings after flashing.
- Confirm your ESC's exact chip and hardware target. Flashing the wrong target can leave an ESC unresponsive.
- Connect through a supported method, such as a USB passthrough cable or the flight controller's built-in passthrough support.
- Flash one ESC at a time if your tool supports it, and check that each one responds correctly before moving to the next.
- Set motor direction and basic protocol settings again after flashing, since a fresh flash can reset these.
- Test on the bench first, spinning each motor briefly without props, before your next flight.
For a specific, step-by-step example on a popular ESC board, see the guide on Holybro Tekko32 F4 ESC setup with AM32. If your ESCs are already giving you trouble, such as overheating or random cutouts, check fixing ESC problems before you assume a firmware change will solve it.
Which Should You Choose?
Buying new ESCs today? Look for 32-bit hardware and run AM32. It has the most active development and the widest feature set right now. Already own working BLHeli_S ESCs? Flashing to Bluejay is often the easiest upgrade, since it needs no new hardware. Happy with your current BLHeli_S setup? There is no urgent need to change it just because newer options exist.