Firmware for ARM based speed controllers
The AM32 firmware is designed for STM32 ARM processors to control a brushless motor (BLDC). The firmware is intended to be safe and fast with smooth fast startups and linear throttle. It is meant for use with multiple vehicle types and a flight controller. The firmware can also be built with support for crawlers. For crawler usage please read this wiki page Crawler Hardware
本工程为使用claude辅助实现的AM32支持GD32F103TBU6芯片,已通过编译,暂未硬件验证。
- 支持GD32F03TBU6
- Mcu/f103/Drivers目录下的文件来源是GD32F10x_Firmware_Library_V2.7.0/Firmware,固件包来源于GD32官网;
- Mcu/f103路径下/Inc、/Src、/Startup重新实现;
- 依赖项Inc/targets.h、Makefile添加修改;增加f103makefile.mk
- PORTING_F103_NOTES.md,移植全量笔记在这里,供参考;
- FOC_HARDWARE_RESOURCES.md,GD32F103TBU6对应的硬件资源应用情况在此;
- CODE_ARCHITECTURE.md,claude解读的代码结构
- setup_f103_symlinks.sh,支持链接其他目录下的GD32F10x_Firmware_Library_V2.7.0/Firmware文件,见备注;
AM32 has the following features:
- Firmware upgradable via betaflight passthrough, single wire serial or arduino
- Servo PWM, Dshot(300, 600) 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
Download and install Keil community edition. Open the Keil project for the mcu you want in the "Keil projects" folder. Install any mcu packs if prompted. Select the build target from the drop down box and build project
The latest release of the firmware can be found here.
The primary configurator is the AM32 Configurator which supports web browser based configuration and firmware update.
You can also use a desktop configurator which you can download from here:
Alternately you can use the Online-ESC Configurator to flash or change settings with any web browser that supports web serial.
AM32 currently has support for STSPIN32F0, STM32F051, STM32G071, GD32E230, AT32F415 and AT32F421. The CKS32F051 is not recommended due to too many random issues. Target compatibility List can be found here
To use AM32 firmware on a blank ESC, a bootloader must first be installed using an ST-LINK, GD-LINK , CMIS-DAP or AT-LINK. THe bootloader will be dependant on the MCU used ont he esc . Choose the bootloader that matches the MCU type and signal input pin of the ESC. The compatibility chart has the bootloader pinouts listed. Current bootloaders can be found here.
After the bootloader has been installed the main firmware from can be installed either with the configuration tools and a Betaflight flight controller or a direct connection with a usb serial adapter modified for one wire.
To update an existing AM32 bootloader an update tool can be found here.
There are two ways you can get support or participate in improving am32. We have a discord server here:
Etiquette: Please wait around long enough for a reply - sometimes people are out flying, asleep or at work and can't answer immediately.
If you wish to support the project please join the Patreon.
https://www.patreon.com/user?u=44228479
The AM32 project would not have made this far without help from the following sponsors:
Holmes Hobbies - https://holmeshobbies.com/ - The project would not be where it is today without the support of HH. Check out the Crawlmaster V2 for the best am32 experience!
Repeat Robotics - https://repeat-robotics.com/ - Bringing Am32 esc's to the fighting robot community!
Quaternium - https://www.quaternium.com/ - Firmware development support and hardware donations
Airbot - Many hardware donations
NeutronRC - For hardware, am32 promotion and schematics
Aikon - Hardware donations and schematics
Skystars - For hardware and taking a chance on the first commercial am32 esc's
Diatone - Hardware donations
T-motor - Motor and Hardware donations
HLGRC - Hardaware donations
A big thanks to all those who contributed time, advice and code to the AM32 project.
Un!t
Hugo Chiang (Dusking)
Micheal Keller (Mikeller)
ColinNiu
Jacob Walser
And for feedback from pilots and drivers:
Jye Smith
Markus Gritsch
Voodoobrew
(and many more)