AM32 (AlkaMotors) firmware for ESC
What is AM32 firmware?
BLHeli_S, the most common ESC firmware, runs on the cheap 8bit MCU and has reached the edge of the hardware capabilities. The next ESC evolution was the development of the BLHeli32 firmware that runs on the 32bit based MCUs. The one major downside of this firmware – it is proprietary and is licensed for manufacturers. Peter Smith (aka AlkaMotors) created the open source firmware for the BLHeli_32 compatible ESC’s called AM32 (AM stands for the AlkaMotors).
Features of the AM32 firmware
- Firmware upgradable via Betaflight passthrough – only support G4, F4 and F7 FCs, and make sure your Betaflight firmware is up to date when you try to use passthrough
- Servo PWM, DShot300, DShot600, DShot1200 and ProShot motor protocol support
- Bi-directional DShot
- KISS standard ESC telemetry
- Variable PWM frequency
- Sinusoidal startup mode, which is designed to get larger motors up to speed
- Ghost branch restart and stuck rotor protection
- Open Source firmware
The major problem with the AM32 firmware is the… absence the off shelf ESC’s with the preloaded AM32 firmware. This can might be changed with the release of the Skystars KM55A – the first in the market 4in1 ESC with AM32 preinstalled.
Flashing the AM32 firmware to the BLHeli32 ESC
AM32 firmware is compatible with the most 32bit BHLeli32 ESCs, but the problem is the BLHeli32 ESCs are usually locked and cannot be updated with the AM32 firmware in the easy way. In order to write the AM32 to the BLHeli32 ESC you need to unlock the MCU and this means you need to erase all the MCU contents and this process is irreversible, so you cannot flash the BLHeli32 firmware back. Once you have erased the BLHeli32 firmware, you need to flash the bootloader with the STLink tool. After the bootloader is flashed you can use Betaflight passthrough to upload the AM32 firmware. You can use the online tool ESC-Configurator (https://esc-configurator.com/) or you can use the standalone ESC configuration tool, available for downloaded for WINDOWS, and LINUX.
The AM32 firmware can be downloaded from here: https://github.com/AlkaMotors/AM32-MultiRotor-ESC-firmware/releases
The list of the AM32 compatible ESCs is here: https://github.com/AlkaMotors/AM32-MultiRotor-ESC-firmware/wiki/List-of-Supported-Hardware
Interview with the creator of AM32 firmware:
in mcu\f350\priferials.c
LL_RCC_SetAPB2Prescaler(LL_RCC_APB1_DIV_1); – is it error of copy/paste?
I suggest you to ask this question on the AM32 Discord channel.