Installing AM32 - Voodoobrew101/AM32-MultiRotor-ESC-firmware GitHub Wiki

Updated: May/26/2021

Here is a video I made you can watch too, it also talks about using a flight controller to update and configure the firmware. It is where you would set your motor KV and change the startup power.

Basically you can skip some of the more complicated things and do it all with just the STM32CubeProgrammer with 4wires, and the flight controller using the receiver plug and a battery.

I am basically copying these instructions from my PDF file I shared earlier in a few places. I will try to keep this post updated but if not all the files in my google drive will be the most recent.

This motor HobbyStar 2820 (3542) Brushless Outrunner Motor 1450KV

works pretty good, the big downside is the 5mm shaft. so you need a 5mm pinion. Holmes Hobbies, and Team Brood both have a wide variety of outrunners with 1/8th pinion shafts but they cost quite a bit more too.

How to program a Airbot wraith32 35A v1 ESC to run the Holmes Hobbies Revolver 1400kv or 1000kv silently.

First off a huge credit goes out to AlkaM from https://www.rcgroups.com/forums/member.php?u=696658 who Designed this firmware, and continues to update and improve it. I am actually older firmware here because I can’t figure the new stuff out yet.

Also Thank You to those who posted in his forums who have preceded me: MadMax, MGeo, possibly others…

The main purpose of this tutorial is to run a Holmes Hobbies Revolver with out all that noise. Other outrunner motors will probably work fine as well. I have only tested this with the 1400kv stubby revolver, and I have heard the 1800kv or higher will suffer in performance. I don’t know why, something to do with loosing torque.

The firmware I am using at the time of writing this does not have the greatest drag brake. I think its just a setting I need to find but… I haven’t found it yet… I’m hoping some one else will make me a nice firmware.bin file I had a different esc earlier that preformed better from a different version of the same opensource firmware and it ran great IMO.

I will not be covering compiling the firmware in depth, but I am using AlkaM’s firmware from here https://github.com/AlkaMotors/AM32-MultiRotor-ESC-firmware and the target used for the wraith is MP6531. When you import it into STM32CubeIDE the project is called F051_II_bi_dir. That’s the quick version… That’s all you get…

Note, I have only tested this with the Airbot wraith32 35A v1, the Airbot wraith32 35A v1 and the 50A Airbot wraith32 Plus.

Step 1: Gather your supplies

You’re going to need a table… and an esc (probably this specific ESC), and a ST-link v2 programmer with jumper wires, a BEC or BUCK converter (to power the servo and reciever), a prototyping breadboard, soldering Iron with a small tip, wires, non acid flux, and a Windows 10 computer. Recommended optional supplies –a magnifying glass, or a good zoom for your camera (because this crap is tiny!) I use open camera (for android) because it doesn’t fall asleep.

Step 2: Soldering- Part1

We need some tiny wire, I use stranded silicone 26awg wire. Solder wires to

#ff9933SWD (SWDIO),

#66cc66SWC (SWCLK),

#ffffffPWM,

#ff0000+ (POS, main positive power in for ESC) and

#000000- (GND, main negative power in for ESC).

Plug the Wires into the breadboard, make sure they all have different numbers (same numbers are connected to each other). Tip: solder short solid wires to the main inputs and outputs to hold the esc to the breadboard. Note I have PWM and +(POS) in different rows. Same for the middle power out wire to the motor (not shown). Also those 2 red and blue wires touching and the white one behind them are no longer used, so ignore them. Tip: Run Jumper wires to a location on the breadboard that matches the order on your ST-link. Note to self: consider updating this picture.

Step 3: Download and install Software

STM32CubeProgrammer We need this to disable write protection on the Option bytes, and to load the firmware. https://www.st.com/en/development-tools/stm32cubeprog.html#get-software

I think you need to register or something, but it's free, no credit card, just an annoyance.[/INDENT]

Step 4: Connect ST-programmer

Relatively straight forward, make sure you got your wires in the right locations. 4 wires connect to the ST-Link,

#ff9933SWD (SWDIO),

#66cc66SWC (SWCLK),

#ff0000+ (POS, 5.0v) and

#000000- (GND).

I generally use 5.0v for power, I had issues with 3.3v

Check your wires again, seriously, just do it! Especially the power wire.

Connect the ST-Link to your computer.

Step 5: STM32CubeProgrammer

With your ESC and ST-Link connected open STM32CubeProgrammer and click the green connect button in the upper right corner.

1.Click on OB (Option bytes)

2.Select “Read Out Protection” and Set to AA

3.Select “Write Protection” and check all the empty boxes, scroll through, get them all and clickapply.

4.Now do a full chip memory erase

Oh I never told you to download the firmware.bin file… You also will need the interwebs, you probably have that if your made it this far, and the table is probably optional… Download the wraith_crawler_full_x.xx.bin file from (It is just a .bin file It could be called anything.bin) https://drive.google.com/drive/folders/1ggvkWlLNjDMoB1ryCYy4fE_xQ2l5m2cL?usp=sharing

5.Select Erasing & Programming from the left

6.Browse for the firmware you just downloaded

7.Set the start address to 0x08000000 if it isn’t already

Info: if you have already uploaded a full file you can upload a part file at 0x08008000, the part files do not contain the bootloader. Part files are better uploaded from the configurator though.

8.Check the verify programming box if it isn’t already

9.And start programming (we are not going to do actual programming, were just loading somefirmware, get a hold of yourself man!)

Step 6: Optional Testing

This probably shouldn’t be optional, but I don’t feel like explaining how to connect all your receivers, motors and batteries to the breadboard. I mean really if you made it this far, consider your self a pro! You can do this!

Step 7: Unsolder and Resolder

Unsolder all these wires and pins

As usual you need to solder the positive and negative battery leads on the 2 tab side.

The motor wires go to the 3 tab side (if the motor is going the wrong direction swap any 2 of these wires)

This esc was not designed to power a servo, so only run the ground and PWM to your receiver

Connect all this to your RC car

That’s about it…

If everthing went acording to plan, you should end up with something that looks like this.