# ESC failure error after SDK 1.1.2 upgrade

Source: https://forum.modalai.com/topic/2968/esc-failure-error-after-sdk-1-1-2-upgrade
Category: ESCs, Sensors and Accessories (https://forum.modalai.com/category/15/escs-sensors-and-accessories)
Tags: esc
Posted: 2023-12-18 19:07:18 UTC by smilon
Replies: 12 · Views: 3499

## smilon · 2023-12-18 19:07:18 UTC

After having some issues with voxl-esc [previous issue](https://forum.modalai.com/topic/2930/qgroundcontrol-parameters-are-missing-from-firmware?_=1702926225679) and recently upgrading to SDK 1.1.2, I am now facing an issue where when I try to arm I get the following in QGC:

![Screenshot from 2023-12-18 20-57-45.png](https://forum.modalai.com/assets/uploads/files/1702926029255-screenshot-from-2023-12-18-20-57-45.png) 

My output from **voxl-esc spin**:

```
Finished!
[1702925954.747698] TX=508, RX=505 packets, RX CRC ERRORS=0
Average RPMs: 0.00 0.00 0.00 2996.27
Average RPM deviation between ESCs : 2996.27
```

My output from **voxl-esc scan**:

```
INFO: ESC(s) detected on port: /dev/slpi-uart-2, baud rate: 2000000, protocol: firmware
INFO: Verifying ESC Params..

INFO: ESC Information:
INFO: ---------------------
	ID         : 0
	Board      : version 37: ModalAi 4-in-1 ESC (M0134-1)
	UID        : 0x2033303852465719004F002E
	Firmware   : version   39, hash d4fe8e3d
	Bootloader : version  183, hash b4fa2cf8
	Params     : ../voxl-esc-params/mavic_mini_2/mavic_mini_2.xml 

	ID         : 1
	Board      : version 37: ModalAi 4-in-1 ESC (M0134-1)
	UID        : 0x20333038524657190050003B
	Firmware   : version   39, hash d4fe8e3d
	Bootloader : version  183, hash b4fa2cf8
	Params     : ../voxl-esc-params/mavic_mini_2/mavic_mini_2.xml 

	ID         : 2
	Board      : version 37: ModalAi 4-in-1 ESC (M0134-1)
	UID        : 0x203330385246571900460047
	Firmware   : version   39, hash d4fe8e3d
	Bootloader : version  183, hash b4fa2cf8
	Params     : ../voxl-esc-params/mavic_mini_2/mavic_mini_2.xml 

	ID         : 3
	Board      : version 37: ModalAi 4-in-1 ESC (M0134-1)
	UID        : 0x2033303852465719004D002C
	Firmware   : version   39, hash d4fe8e3d
	Bootloader : version  183, hash b4fa2cf8
	Params     : ../voxl-esc-params/mavic_mini_2/mavic_mini_2.xml 

---------------------
successfully pinged ESCs
```

My output from **voxl-esc detect**:

```
Received standard error event 2

ESC detected: ModalAi 4-in-1 ESC (M0134-1)
```

Also when I try to run any of the below:

```
./voxl-esc-verify-params.py
./voxl-esc-scan.py
./voxl-esc-calibrate.py 

```

I get: 

```
Detected Python version : 3.6.9 (default, Mar 10 2023, 16:46:00) 
[GCC 8.4.0]
Found voxl-esc tools bin version: 1.4
VOXL Platform: M0054
Detected RB5 Flight, VOXL2 M0054 or M0104!
INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 2000000
Sending library name request: libslpi_qrb5165_io.so
Received standard error event 2
Sending initialization request
Received standard error event 2
Couldn't configure flight_controller sensor
ERROR:   fc_sensor_initialize failed
ERROR:   Failed to initialize slpi
ERROR:   Encountered error while initializing bus 12
ERROR:   voxl_uart_flush: Bus '12' is not initialized
ERROR:   voxl_uart_read_bytes: Bus '12' is not initialized
ERROR:   voxl_uart_write: Bus '12' is not initialized
ERROR:   voxl_uart_write: Bus '12' is not initialized
ERROR:   voxl_uart_read_bytes: Bus '12' is not initialized
ERROR:   voxl_uart_write: Bus '12' is not initialized
ERROR:   voxl_uart_write: Bus '12' is not initialized
ERROR:   voxl_uart_read_bytes: Bus '12' is not initialized
ERROR:   voxl_uart_write: Bus '12' is not initialized
ERROR:   voxl_uart_write: Bus '12' is not initialized
ERROR:   voxl_uart_read_bytes: Bus '12' is not initialized
ERROR:   voxl_uart_write: Bus '12' is not initialized
ERROR:   voxl_uart_write: Bus '12' is not initialized
ERROR:   voxl_uart_read_bytes: Bus '12' is not initialized
ERROR:   voxl_uart_read_bytes: Bus '12' is not initialized
ERROR:   voxl_uart_read_bytes: Bus '12' is not initialized
ERROR:   voxl_uart_read_bytes: Bus '12' is not initialized
ERROR:   voxl_uart_flush: Bus '12' is not initialized
ERROR:   voxl_uart_close: Bus '12' is not initialized
INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 250000
```

And then it hangs there. I saw a similar issue [here](https://forum.modalai.com/topic/2965/problem-contacting-esc?_=1702926225684).

My model is StarlingV2 with SKU MRB-D0005-4-V2-C6

## Reply by Alex Kushleyev (ModalAI staff) · 2023-12-18 20:15:15 UTC

@smilon , when you are running the wrapper `voxl-esc`, it will automatically stop px4 if it is running, however if you are running the python scripts directly, this does not happen. Can you please try stopping px4 manually before running running `voxl-esc-*.py` scripts:

```
systemctl stop voxl-px4
```

## Reply by smilon · 2023-12-19 14:39:54 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev Hi, indeed they run just fine. Also performed a calibration and everything returns fine. However, when I boot up the drone I get a "sad" sound from the ESC's, much quietter than I used to get previously. Any ideas how to proceed?

## Reply by smilon · 2023-12-19 14:56:29 UTC (in reply to smilon)

I ran a voxl-configure-mpa and while im still getting quietter sounds from ESC, the Sentinel seems now fully functional. A lot of parameters were for some reason N/A and got filled in by this operation.

## Reply by Alex Kushleyev (ModalAI staff) · 2023-12-19 16:03:23 UTC (in reply to smilon)

@smilon , I am glad that you got it working. I am a bit unclear about the following:
* "Also performed a calibration and everything returns fine" -- which calibration you had to run? 
* "A lot of parameters were for some reason N/A and got filled in by this operation." -- are you talking about PX4 parameters? 

Regarding the motor sounds getting quieter, perhaps you had much older ESC params which had louder sounds - I believe we lowered the volume so that it's not too loud. When in doubt, the `voxl-esc-scan.py` and `voxl-esc-verify-params.py` scripts can verify that your ESC is configured properly.

## Reply by smilon · 2023-12-20 11:56:18 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev Hi Alex, to clarify what you asked:

* For ESC calibration I ran the voxl-esc-tools/**voxl-esc-calibrate.py**. This was not something I was prompted to do but since all of the **voxl-esc scan/detect** / **voxl-esc-verify-params.py** tools returned fine and was still getting "ESC failure" from QGC, I wanted to make sure that my ESC's are calibrated correctly.

* The parameters I refer to were PX4 params. Unfortunately I have not captured the output but they were several "ESC_" prefixed params. From my understanding, after flashing SDK 1.1.2 I had to run voxl-esc-calibrate.py and then voxl-configre-mpa again in order to register them properly to PX4. 

Thank you!

## Reply by Alex Kushleyev (ModalAI staff) · 2023-12-20 19:04:14 UTC (in reply to smilon)

@smilon , `voxl-esc-calibrate.py` is a script that runs a test procedure in a single motor (with propeller mounted) to calibrate the behavior of the motor / propeller. This procedure only needs to be run once if you change motor or propeller type from a default configuration. The output of this script is just 3 coeficients a1, a2, a3 which you would need to manually enter into an ESC calibration xml file and then upload the xml paramer file to the ESC. Full details about the ESC calibration (when to do it and how) can be found here : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/master/voxl-esc-tools/calibration.md?ref_type=heads

If you are using standard motors and propellers (one of standard ModalAI drones), you do not need to run this calibration procedure.

It sounds like you got it working, I believe `voxl-configre-mpa` took care of it. You can see what `voxl-configure-mpa` typically does here : https://docs.modalai.com/voxl-configure-mpa/ , which includes running `voxl-esc` to upload the latest firmware and params for a specific vehicle.

## Reply by Chase Riley · 2024-01-22 18:43:54 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev I am now experiencing this same issue. Updated to SDK 1.1.2 recently on our custom air vehicle and now in QGC I received the failsafe for ESC Failure. I am able to run ```voxl-esc-scan.py```, and even upload firmware and params. I have other systems running on SDK 1.0 with the same firmware and params and the work fine. Should I do the ```voxl-configure-mpa``` as mentioned above?

## Reply by Alex Kushleyev (ModalAI staff) · 2024-01-22 18:47:23 UTC (in reply to Chase Riley)

@Chase-Riley, 

you should check your PX4 params on the fresh system with 1.1.2, specifically the params related to the ESC and compare to those on your working SDK 1.0 (which have the same firmware and ESC params).

My guess either missing PX4 params to enable the modalai ESC driver or incorrect baud rate for ESC in PX4 params

`voxl-configure-mpa` script could help getting everything in order, however since you have a custom vehicle, our standard configurator script would not be able to set those custom px4 params for your vehicle.

## Reply by Chase Riley · 2024-01-22 18:58:34 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev All the ```voxl_esc``` params are the same in QGC.

## Reply by Chase Riley · 2024-01-22 19:00:40 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev I even tried to flash the sentinel params in QGC just to make sure I hadn't missed something and I am having the same issue.

## Reply by Alex Kushleyev (ModalAI staff) · 2024-01-22 19:37:12 UTC (in reply to Chase Riley)

@Chase-Riley ,

Are the leds on ESC blinking while you run `voxl-px4`? they indicate communication to the host (VOXL2)

Also, some helpful commands:
- `px4-listener esc_status`

Also, if you run `voxl-px4` in foreground
- `systemctl stop voxl-px4`
- `voxl-px4 -d`

then you can open another terminal / adb and run:
- `px4-qshell voxl_esc status`
- this will print status of `voxl esc` driver and the params (in the window where `voxl-px4 -d` is running)

## Reply by Chase Riley · 2024-01-22 19:40:02 UTC (in reply to Alex Kushleyev)

@Alex-Kushleyev I ran ```voxl-configure-mpa``` and was able to get the ESC to function again. Of course it caused other issues due to resetting files and params so I am now trying to work through setting everything back up. Im not sure what would have caused the mpa to need to be reconfigured because I had just done that obviously with the flash of SDK 1.1.2.
