I am putting together a Nat History shoot where quiet is key, to not scare wildlife. There is a concern that the startup beeps may influence the surrounding animals. Is there a way to reduce the volume of the startup beeps of the Pi/Navigator?
Hi @3dMB -
Unfortunately those beeps are not coming from the Pi/Navigator, but the ESC motor controllers themselves! There is no way to turn off or lower this sound, it comes from the motors and is inherent to ESC firmware startup. Maybe you could turn on long before entering the sound sensitive area?
Thanks for the info Tony - I’ll tell them that they’ll have to mitigate
volume change in esc, if you used Blheli, very easy change…
That’s a great point @rick !
I believe the BasicESC runs a modified BLHeli - I’ll check with the team next week to see if adjusting this parameter is possible.
That’s correct (although not our Basic ESC 500, if that’s relevant)
There is indeed a parameter for it which can be configured:
The startup beep volume is currently set a bit over half strength.
There is also a beacon volume option, for beeps the ESC can emit when it’s armed and sees zero throttle for an extended period (e.g. to help find a lost vehicle), but that volume setting is irrelevant unless you reduce the beacon delay period down to a finite value (we’ve configured it to be infinite by default, so beacon beeps never occur).
Thanks for this @EliotBR
To confirm?
- I download and install this BLHeli_32
- Connect the BlueROV2 to the same computer as standard over FXTI tether.
- Contact ROV battery to boot up the ROV.
- Open BLHeliSuite.
- Change volume parameters.
All done?
Hi @3dMB -
I’m afraid it’s not that simple!
You won’t be able to configure the ESCs via BlueOS, or even with them connected to the Navigator! Typically a USB adapter is used, and with the ESC powered, the signal and ground connected to this adapter plugged into your computer. Software is then used to change the parameters, “BLHeliSuite” that you linked.
Our guide specifies that you’ll need to connect a suitable programming tool to the ESC’s signal wire:
I hadn’t even considered that flashing through a flight controller might be possible, but apparently it is[1], and there’s even an online configurator that’s an alternative to needing to download a software for it! Perhaps our guide could do with an update…
It does seem like it’s expected to have a direct serial connection from the computer to the flight controller board though, so I don’t believe it would work as-is through a tether without spoofing a direct serial connection using a USB over IP BlueOS Extension (like VirtualHere or USBIP), and I don’t believe it would work for a Linux-based flight controller like a Navigator, especially since it connects to the ESCs with a PWM driver chip (instead of more directly controlled pins).
EDIT: from some further investigation, it seems like even a Pixhawk would only be able to do this from its AUX pins, so it wouldn’t be possible without at least unplugging the ESCs from the flight controller and plugging them in somewhere else
which makes sense, since ArduPilot started out as Arduino-based, and it’s convenient to be able to configure the connected ESCs ↩︎
thanks @EliotBR & @tony-white - USB link ordered
Ok, it looks like it has worked
I bought one of these from a hobby flying website in UK.
Installed BLHeli_32
Tried a spare ESC. The install of BLHeli_32 said that the ESC was 8bit, not 32bit.
Downloaded THIS ONE
Connected to ESC. Read ESC for existing parameters. Changed Startup Volume from 150 (or somewhere around there) to 10. Wrote new parameters to ESC. ESC DIDN’T GO BANG.
Happy with this I opened the ROV electronics enclosure and did the same process with all 8 ESCs.
I now have a ROV that doesn’t sound like an electronic screaming banshee on startup.
Many thanks @tony-white @EliotBR and most of all @rick for sending us down this path.
Thanks @3dMB for asking the question and for everyone for following up.
I’ve been wondering the same thing for several years, but just putting up with the noise.
Has anyone ever found a description of the protocol that BLHeli-S uses for this? I have found a list of the programming commands that DSHOT uses, but since the BasicESC is using PWM signalling instead of DSHOT, I wonder if the BLHeli-S ESCs repurpose the signal wire as a simple UART? I’m sure the answer is hiding in the code if I download it from github and wade my way through it, but maybe, just maybe, someone reading this already knows the answer.
Edit: I’ve ordered a USB-linker the same as the one in the picture above.
BLHeli is quite a low-level firmware, written in assembly.
If it’s of interest BLHeliPgm.inc
is the source code for “programming” the ESC, but as with many microcontroller programs the configuration is achieved by writing values to user-known register/memory addresses, and reading those values back to confirm, so the ESC programming code doesn’t actually know anything about what settings are being changed (it’s just reading and writing values).
Given the GND and UART connections shown on @3dMB’s programmer, that seems highly likely.
Hi @3dMB.
I’m busy treading your footsteps. I think I’ve managed to buy the same BLHeliSuite USB Linker as you, but I’m in Driver Hell. (The sticker showed the 1-4 pinout at the USB end, so if I hadn’t already seen your photo, it would have made things even more confusing!)
When I plug it in, it shows up in the Device Manager (win 11), but without a recognised driver. All the online tutorials show how to use BLHeliSuite, but the driver bit magically worked for all those examples. Any idea what USB Serial driver you’re picking up? Arduino perhaps? Thanks
Edit: My Win 11 machine runs on Parallels inside my MacBook. I sorted out the COM Port issue by exporting the Serial Port from the MacBook, rather that exporting the USB port, so now the USB serial driver is a Mac thing rather than a Windows thing.
That lets me see the USB Linker interface as a COM in Win11 and the little light in the Linker goes from red to blue, and I can see the COM port in BL HeliSuite. I think I’m supposed to used SILAB i/f option C (USB/Com) and that gets me talking at least to the USB Linker h/w. I say that because the other options just tell me that there is no interface.
When I then click on “Connect” at the bottom I get another pop up window that tells me to connect the ESC and cycle the power. I then get the ESC generating thee tone up sequence a few times and then (I think) timing out by finishing the three tone with a final low tone. All the meanwhile the “Please connect and power cycle” window has a Cylon eye effect bouncing slowly back and forth.
However, if I just cycle the power on the ESC with no comms connected, it makes much the same noise, so that does give me a lot of indication that there is any communications between the linker and the ESC when it is plugged in.
What am I missing?
I am currently working away without that particular laptop. I will have a look when home at the weekend and come back to you
thanks
Any ideas on what they might be doing to multiplex the Rx and Tx signalling. I put a Scope on UART line. The USB Linker sends little bursts a bit less than 2ms in duration. As far as I can tell the ESC doesn’t send anything back probably because it doesn’t, receive the right tickle, but at least there is some chatter.