Play Music with Your ESC and Motors! | BLHeli_32 Custom Startup Tones

The latest BLHeli_32 ESC firmware allows you to upload custom startup music to each ESC, now you can form a band with the 4 motors in your quadcopter and play a cool tune when powering on your drone.

This guide is written by Rox Wolf from our Facebook Group, edited by Oscar.

Form a band with your motors and ESC’s !

Starting from BLHeli_32 firmware version 32.31, you can now load custom made startup tones on each of your ESC’s. I realized by writing separate and independent musical lines to each ESC, we can play a polyphonic tune on our mini quad, and it can sound like a band playing :) How awesome is that?!

Here are a couple of examples I made.

In this tutorial I will show you how to make your quad sing like a choir in a few simple steps.

Further Reading: How to choose ESC for racing drones?

Step by Step Setup

First of all, this will only work with BLHeli_32 ESC’s, here is a list of available BLHeli_32 ESC options.

You will need to download the latest BLHeliSuite_32 program:

Download: https://blhelisuite.wordpress.com/

This updated program has new Music Editor feature where you will be able to customize startup sounds.

Flashing BLHeli_32 firmware

You need to flash your ESC’s to firmware v32.31 or newer.

Usually, when you flash ESC firmware you can just load the firmware inside BLHeliSuite program, but because v32.31 firmware is still in beta stage, it’s not yet made it way to BLHeliSuite. You will need to download it from Github, and here is how…

By the way, because v32.31 is still in beta, there might be unknown issues we don’t know about yet. But BLHeli_32 firmware is usually quite stable at this stage I personally wouldn’t worry about it too much. Anyway, flash it at your own risk!

Before downloading the latest firmware, you first need to know which firmware is currently on your ESC’s.

REMOVE YOUR PROPS before continuing…

Launch BLHeliSuite32 program, connect your FC to computer via USB and plug in your battery to power up the ESC’s. On the bottom of the program select the COM port of your FC and click “Connect“.

After it’s connected, click the “Check” button.

A window will pop up showing you info about the ESC’s, you can find out the name and type of your ESC’s there. For example my ESC’s names are “Airbot_Wraith32_ST” and the type is “Multi” which stands for multirotors I think.

Write down the name and type.

Also, back up your settings! Take some screenshots of your settings for each ESC just in case something goes wrong and you can still go back.

Now you can visit the Github page for BLHeli, and download the firmware there.

Link: https://github.com/bitdump/BLHeli

Click the green button on the top “Clone or download“, and select “Download ZIP“.

When the download is complete, unzip the file and go to the folder “BLHeli_32 ARM” and then “Rev32.31 hex files” folder.

In this folder, you will notice there are many HEX files for various ESC brands and models. Following the ESC name and type we found earlier, locate the HEX file which we will be using to flash all of our ESC’s.

In our example it’s “Airbot_Wraith32_ST_Multi_32_31.Hex”.

In BLHeliSuite, click “Flash BLHeli” and on the new window click “Ignore list, pick a file…

The program will ask for a HEX file, so just select the HEX file for your ESC’s.

You will be prompted if you want to flash this firmware, click “Yes” and the flashing will begin.

When the firmware flashing is done, the program will ask if you want to write current settings to your ESC’s, click Yes if you want to retain your previous ESC configuration.

When this is done, it will move on to your second ESC. Repeat the same steps you just did until all 4 ESC’s are updated.

When it’s done, click “Disconnect” in BLHeliSuite, unplug your battery and plug it back in to restart your ESC’s. Check your ESC settings and make sure they are correct, such as direction and other parameters.

Now, we can begin uploading some music to our quad!

Uploading Music to ESC

Make sure props are all removed!

Launch BLHeliSuite program, connect the quadcopter to computer via USB and power up your quad with battery. Click “Connect” in BLHeliSuite, and “Check” button to get your ESC configurations.

In BLHeliSuite_32 click “Options” in the menu, and disable “Sync Startup Music to Multiple ESC“, it will disable music sharing on all ESC’s.

This is because we want to be able to play 4 different melodies in our quad, so each ESC will play its own line. If this setting is checked, you will upload the same melody to all ESC’s and they will all play the same melody, which is not what we want.

Now we can upload the music. For this example we will use polyphonic Guile’s theme from the game, Street Fighter. It sounds like this on a quad:

On the bottom of BLHeliSuite there are 4 little square buttons with colored ESC numbers. If all the numbers are visible, it means you are configuring all ESC’s at the same time.

To upload different, individual melodies on each ESC, we need to configure one single ESC at a time. To do that, RIGHT click on the ESC you want to edit.

Click “Music Editor” button to open the editor, copy and paste the following musical notes in the text box:

A#5 8 P8 A#5 8 A5 8 P8 A5 8 A#5 1 P32 A5 8 P8 A#5 8 P8 A#5 8 A5 8 P8 A5 8 A#5 1 P32 A5 8 P8 A#5 8 A5 8 P8 A#5 8 P8 A5 8 P8 C6 8 P8 C6 8 A#5 4 A5 4 F5 4 A#5 8 P8 A#5 8 A5 8 P8 A5 8 A#5 1

Make sure there is no spaces after the last character.

These letters are musical notes with their pitch and duration, a bit similar to ringtone editor on old Nokia phones.

Then check the option “Music On“, it enables music on the ESC. The next two parameters control the tempo and note spacing. These parameters usually should be same on all the ESC’s because we want to play the melody at the same tempo and interval (unless you know what you are doing). For this particular melody select “Gen. Length” 14 and “Gen. Interval” 2.

To preview the melody uploaded to the ESC, you can click the “Play” button (green triangle) and the the music will be played on your computer.

When you are happy with the result, click “Apply Music” in the music editor and then click “Write Setup” to upload the music to the ESC.

We are done with ESC #1. Let’s go to the next ESC.

ESC #2

G5 8 P8 G5 8 F5 8 P8 F5 8 G5 1 P32 F5 8 P8 G5 8 P8 G5 8 F5 8 P8 F5 8 G5 1 P32 F5 8 P8 G5 8 F5 8 P8 G5 8 P8 F5 8 P8 G5 8 P8 G5 8 F5 4 F5 4 C5 4 G5 8 P8 G5 8 F5 8 P8 F5 8 G5 1

Check “Music On”, set “Gen. Length” set to 14 and “Gen. Interval” to 2. Apply Music, Write Setup.

ESC #3

D5 8 P8 D5 8 C5 8 P8 C5 8 D5 1 P32 C5 8 P8 D5 8 P8 D5 8 C5 8 P8 C5 8 D5 1 P32 C5 8 P8 D5 8 C5 8 P8 D5 8 P8 C5 8 P8 D#5 8 P8 D#5 8 D5 4 C5 4 A4 4 D5 8 P8 D5 8 C5 8 P8 C5 8 D5 1

Check “Music On”, set “Gen. Length” set to 14 and “Gen. Interval” to 2. Apply Music, Write Setup.

ESC #4

G4 2 G4 2 P8 P16 C5 8 D5 8 C5 8 A#4 8 A4 8 G4 8 F4 8 D#4 2 D#4 2 P8 P16 D#4 8 D4 8 D#4 4 D#4 4 P8 C4 2 C4 4 P8 D4 4 D4 4 D4 4 P8 F4 4 G4 8 P8 G4 8 F4 8 P8 F4 8 G4 4 P8 C5 8 D5 8 C5 8 G4 4

Check “Music On”, set “Gen. Length” set to 14 and “Gen. Interval” to 2. Apply Music, Write Setup.

That’s it! Now your quad can play polyphonic song when you plug in your battery :D

Where can I find more songs for my ESC’s?

It’s not easy to write polyphonic tones for quadcopters, it takes musical skills to translate songs into notes and arrange them properly.

Rox Wolf, the author of this guide is writing songs to be played on quads, you can find some more tunes in his Youtube Channel. Currently there are themes from Super Mario, Axel F, Frozen, Darude – Sandstorm and more songs will be added too

https://www.youtube.com/channel/UCXSNkOZTJRTYxLasw243LFw

Don’t forget to subscribe to his channel for more ESC music! :D

Longer Songs?

We are limited to 48 notes + pauses in the startup tone, so that’s the longest we can go.

Is this going to damage my motors?

As explained in our guide on how to setup ESC/Motor as lost model alarm, playing sounds too loud and for too long can cause motors to overheat.

The Startup tone is pretty short, usually not more than a few seconds, so it shouldn’t generate too much heat in the motors.

Rox confirmed this was not an issue at all even when he was repeatedly playing these startup tones while writing and arranging songs for his ESC’s.  Anyway it’s probably a good idea to keep the volume at default to avoid surprises.

3 thoughts on “Play Music with Your ESC and Motors! | BLHeli_32 Custom Startup Tones

  1. Ninja Sauce

    Hey! I have been writing songs for the BLHeli_32 ESCs. I have a pretty big playlist going and I am adding more every day!

    youtube.com/playlist?list=PLwip8UXl_Wqg4FUnzJBpHO_VSBquJgiac

    Reply
  2. EMLT

    Awesome tutorial, thanks for your work.

    To give back, here are my very basic music notes for Harry Potter Theme:

    B5 1 E5 1 G5 1 F#5 1 E 5 1 B5 1 A5 1 F#5 1 E5 1 G5 1 F#5 1 D5 1 F5 1 B4 1 P 1/1
    B5 1 E5 1 G5 1 F#5 1 E5 1 B5 1 D6 1 C#6 1 C6 1 A5 1 C6 1 B5 1 Bb5 1 B5 1 G5 1 E5 1 P 1/1

    Greetings,

    EMLT

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Are you Robot? *

I only check blog comments once or twice a week, if you want a quick reply you can post your question on this forum IntoFPV.com... You might get a faster response from me there (multirotor related only).