VOXL ESC Mini Integration with px4 on pixhawk6x and KakuteH7
-
Hello,
I am trying to test the VOXL ESC Mini with px4 running on either a pixhawk6x or KakuteH7.
I am using PX4 v1.14.3, which has the modal_io driver. I have done the necessary board configuration to run the modal_io module on the pixhawk 6x and kakuteH7, and I can configure the modal_io params from QGC. However, when I send any actuation command from the command line or using the "actuators" page of QGC, the motors do not run.
Kindly note that the same exact software and hardware configurations were successfully tested with the "VOXL ESC 4-in-1 Digital I/O UART Communications".
Also, the VOXL ESC Mini was tested separately using the VOXL ESC tools and it runs successfully, so the unit is not damaged.Below are the modal_io parameters used in my testing:
MODAL_IO_BAUD: 250000 (200000 was also tested with no success)
MODAL_IO_CONFIG: VOXL_ESCCan you first kindly confirm whether the VOXL ESC mini is compatible with modal_io driver running on px4 v1.14.3? if so, should it also work with pixhawk6x and kakuteh7 given the the normal M0134 model works?
Finally, can you kindly advise what changes need to be done to run the VOXL ESC Mini with this hardware?
-
@MChehadeh , the PX4 ESC driver in v1.14.3 should be functional, but outdated. The latest version lives here : https://github.com/modalai/px4-firmware/tree/voxl-dev/src/drivers/actuators/voxl_esc, it would be best if you are able to build that for your board.
If you want to stick with the current version, please double check:
- uart port that you are using to connect to the ESC. In that version of the ESC driver, you specify the port with
-d
param when you spawn the task : https://github.com/PX4/PX4-Autopilot/blob/v1.14.3/src/drivers/actuators/modal_io/modal_io.cpp#L237 - double check the baud rate that the ESC is running at, you should know it from running the
voxl-esc
tools, which are working for you.''
If you switch to the latest version of the ESC driver in PX4, you should have the following debug information that is very helpful to diagnose any issues:
#run px4 in foreground and grep for VOXL_ESC: voxl-px4 -d | grep VOXL_ESC INFO [muorb] SLPI: VOXL_ESC: Starting VOXL ESC driver INFO [muorb] SLPI: VOXL_ESC: Opening UART ESC device 2, baud rate 2000000 INFO [muorb] SLPI: VOXL_ESC: Successfully opened UART ESC device INFO [muorb] SLPI: VOXL_ESC: Detecting ESCs... INFO [muorb] SLPI: VOXL_ESC: ESC ID : 0 INFO [muorb] SLPI: VOXL_ESC: Board Type : 37: ModalAi 4-in-1 ESC (M0134-1) INFO [muorb] SLPI: VOXL_ESC: Unique ID : 0x203330385246571900480024 INFO [muorb] SLPI: VOXL_ESC: Firmware : version 39, hash eb6fb500 INFO [muorb] SLPI: VOXL_ESC: Bootloader : version 183, hash b4fa2cf8 INFO [muorb] SLPI: VOXL_ESC: Reply time : 1646us INFO [muorb] SLPI: VOXL_ESC: INFO [muorb] SLPI: VOXL_ESC: ESC ID : 1 INFO [muorb] SLPI: VOXL_ESC: Board Type : 37: ModalAi 4-in-1 ESC (M0134-1) INFO [muorb] SLPI: VOXL_ESC: Unique ID : 0x2033303852465719004D004D INFO [muorb] SLPI: VOXL_ESC: Firmware : version 39, hash eb6fb500 INFO [muorb] SLPI: VOXL_ESC: Bootloader : version 183, hash b4fa2cf8 INFO [muorb] SLPI: VOXL_ESC: Reply time : 621us INFO [muorb] SLPI: VOXL_ESC: INFO [muorb] SLPI: VOXL_ESC: ESC ID : 2 INFO [muorb] SLPI: VOXL_ESC: Board Type : 37: ModalAi 4-in-1 ESC (M0134-1) INFO [muorb] SLPI: VOXL_ESC: Unique ID : 0x203330385246571900500042 INFO [muorb] SLPI: VOXL_ESC: Firmware : version 39, hash eb6fb500 INFO [muorb] SLPI: VOXL_ESC: Bootloader : version 183, hash b4fa2cf8 INFO [muorb] SLPI: VOXL_ESC: Reply time : 1120us INFO [muorb] SLPI: VOXL_ESC: INFO [muorb] SLPI: VOXL_ESC: ESC ID : 3 INFO [muorb] SLPI: VOXL_ESC: Board Type : 37: ModalAi 4-in-1 ESC (M0134-1) INFO [muorb] SLPI: VOXL_ESC: Unique ID : 0x2033303852465719004D0050 INFO [muorb] SLPI: VOXL_ESC: Firmware : version 39, hash eb6fb500 INFO [muorb] SLPI: VOXL_ESC: Bootloader : version 183, hash b4fa2cf8 INFO [muorb] SLPI: VOXL_ESC: Reply time : 617us INFO [muorb] SLPI: VOXL_ESC: INFO [muorb] SLPI: VOXL_ESC: Use extened rpm packet : 1 INFO [muorb] SLPI: VOXL_ESC: All ESCs successfully detected
No Changes are needed on the hardware side.
If the UART-based communication does not work for you and you want to use traditional PWM-based (1-2ms) output from the STM board, the ESC mini supports PWM input, just make sure to use the latest ESC firmware.
- https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/tree/master/voxl-esc-tools/firmware
- https://docs.modalai.com/voxl-mini-esc-datasheet/#pwm-inputs--outputs
- be very careful soldering and using the test points to make sure not to pull the wires to prevent pulling off the board pads
- this method is not recommended because you will not receive any feedback about ESC state and closed loop RPM control is not used. We use this for bench testing, for example when using a dyno or something like that (which controls the ESC with standard pwm signal)
- if you wanted to try PWM input, it is easier using M0134 ESC because it has a JST GH connector : https://docs.modalai.com/modal-esc-datasheet/#pwm-inputs--outputs
- uart port that you are using to connect to the ESC. In that version of the ESC driver, you specify the port with