Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse
Brand Logo

ModalAI Forum

  1. ModalAI Support Forum
  2. ESCs
  3. Flight Core V2 - VOXL ESC 4in1 Integration

Flight Core V2 - VOXL ESC 4in1 Integration

Scheduled Pinned Locked Moved ESCs
18 Posts 3 Posters 2.3k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Alex KushleyevA Alex Kushleyev

    @Jetson-Nano,

    If you connect the VOXL ESC to Flight Core (V2), then VOXL2 cannot communicate with the ESC using voxl-esc python tools because that would require direct UART connection between VOXL2 and the ESC.

    Since your PX4 instance is running on Flight Core V2, you should check your Flight Core debug console, which will print information about ESC initialization. Also, if the ESC is initialized correctly, the blue LEDs on the ESC should be blinking (which means commands are received by ESC from Flight Core, even if the vehicle is not armed).

    If you look at your PX4 debug console on Flight Core V2 (using a separate UART to USB cable probably) and you see that the ESC fails to initialize, there are a few things to double check:

    • px4 is configured to use the correct UART port for voxl-esc driver
    • correct baud rate is used
    • recently we discovered that since we added ESC version query into the voxl esc px4 driver, there was the following issue : Flight Core V2 boots very fast, faster than 1s, however all of ModalAI ESCs spend 1 second in bootloader mode right after you apply power. this results in FC not being able to detect the ESC. Previously (in older version of the voxl esc driver in px4), we did not perform the ESC query upon PX4 start and this was not a problem. Also it is not an issue on VOXL2 because it takes longer than 1 second to boot up. Please check the following change to add a delay to FC2 boot up : https://github.com/modalai/px4-firmware/pull/70/commits/55742d298bf9241a2af5aa2c7ba3a26788073356

    Hopefully this resolves your issue.

    Alex

    Jetson NanoJ Offline
    Jetson NanoJ Offline
    Jetson Nano
    Veteran
    wrote on last edited by Jetson Nano
    #3

    @Alex-Kushleyev Thank you for reverting. I tested it out and the ESC is powered. The TELEM1 port is connected to VOXL2 board and TELEM2 port to the Flight Core FCv2 board. I used the PX4 firmware modalai_fc-v2_1.14.0-8.93.1.px4 from the ModalAI build and setup the necessary parameters following documentation. The VOXL ESC is recognising the data from FC autopilot and the LED blinking sequence starts.

    I have few more queries,
    In the coming days I'll be upgrading to VOXL-FPV ESC. Can I follow the same wiring setup for this as well?

    I had an additional query link, you had mentioned not able to run any python tool files, but since voxl-send-neopixel-cmd is in C/C++, it should be working.

    Also, will this setup affect the turtle mode implementation.

    Alex KushleyevA 1 Reply Last reply
    0
    • Jetson NanoJ Jetson Nano

      @Alex-Kushleyev Thank you for reverting. I tested it out and the ESC is powered. The TELEM1 port is connected to VOXL2 board and TELEM2 port to the Flight Core FCv2 board. I used the PX4 firmware modalai_fc-v2_1.14.0-8.93.1.px4 from the ModalAI build and setup the necessary parameters following documentation. The VOXL ESC is recognising the data from FC autopilot and the LED blinking sequence starts.

      I have few more queries,
      In the coming days I'll be upgrading to VOXL-FPV ESC. Can I follow the same wiring setup for this as well?

      I had an additional query link, you had mentioned not able to run any python tool files, but since voxl-send-neopixel-cmd is in C/C++, it should be working.

      Also, will this setup affect the turtle mode implementation.

      Alex KushleyevA Offline
      Alex KushleyevA Offline
      Alex Kushleyev
      ModalAI Team
      wrote on last edited by
      #4

      @Jetson-Nano , yes the FPV ESC can be connected in exactly the same way, but your cable between the ESC and FC2 will be different, since the FPV ESC uses a 4-pin JST GH instead of 6-pin Hirose DF-13, so please pay attention to the connections.

      Regarding the voxl-esc python tools not working, the reason is not because the tools are written in python. The reason is that the voxl-esc tools require a direct serial connection to the Linux OS that is running the tools (either voxl2 or a linux PC). However, when you connect the ESC to FC V2, then there is no direct UART connection that the voxl-esc tools can use.

      voxl-send-neopixel-cmd does not work the same way - this test tool generates the binary packet with LED information and this packet is forwarded to PX4 ESC driver and that driver sends the LED packet to the ESC. Since you would be running the voxl-send-neopixel-cmd on voxl2 but ESC is connected to FC V2, in order for this to work, the LED message has to be transmitted from voxl2 to FC V2 using the mavlink protocol.

      I will find out how what this message type is and how to check if it is being transmitted in your case.

      Alex

      Jetson NanoJ 1 Reply Last reply
      0
      • Alex KushleyevA Alex Kushleyev

        @Jetson-Nano , yes the FPV ESC can be connected in exactly the same way, but your cable between the ESC and FC2 will be different, since the FPV ESC uses a 4-pin JST GH instead of 6-pin Hirose DF-13, so please pay attention to the connections.

        Regarding the voxl-esc python tools not working, the reason is not because the tools are written in python. The reason is that the voxl-esc tools require a direct serial connection to the Linux OS that is running the tools (either voxl2 or a linux PC). However, when you connect the ESC to FC V2, then there is no direct UART connection that the voxl-esc tools can use.

        voxl-send-neopixel-cmd does not work the same way - this test tool generates the binary packet with LED information and this packet is forwarded to PX4 ESC driver and that driver sends the LED packet to the ESC. Since you would be running the voxl-send-neopixel-cmd on voxl2 but ESC is connected to FC V2, in order for this to work, the LED message has to be transmitted from voxl2 to FC V2 using the mavlink protocol.

        I will find out how what this message type is and how to check if it is being transmitted in your case.

        Alex

        Jetson NanoJ Offline
        Jetson NanoJ Offline
        Jetson Nano
        Veteran
        wrote on last edited by Jetson Nano
        #5

        @Alex-Kushleyev thanks again. can you check this out.
        As mentioned the messages needs to be converted to mavlink message. Will mavlink message be handled by VOXL-ESC and will it trigger the voxl-send-neopixel-cmd and turn on the LEDs? I guess multiple conversion of message types might be required.

        Also there is voxl-io driver link running in the VOXL FCV2. It should help voxl FCV2 to handle the data from VOXL2 and pass it to the VOXL FPV ESC.

        There are 2 PWM outputs link that are independent, can we send a trigger message from VOXL2 Board to the VOXL FCV2 and FC will send the message to VOXL FPV ESC and give PWM output. Using the voxl-send-pwm-cmd command.

        Alex KushleyevA 1 Reply Last reply
        0
        • Jetson NanoJ Jetson Nano

          @Alex-Kushleyev thanks again. can you check this out.
          As mentioned the messages needs to be converted to mavlink message. Will mavlink message be handled by VOXL-ESC and will it trigger the voxl-send-neopixel-cmd and turn on the LEDs? I guess multiple conversion of message types might be required.

          Also there is voxl-io driver link running in the VOXL FCV2. It should help voxl FCV2 to handle the data from VOXL2 and pass it to the VOXL FPV ESC.

          There are 2 PWM outputs link that are independent, can we send a trigger message from VOXL2 Board to the VOXL FCV2 and FC will send the message to VOXL FPV ESC and give PWM output. Using the voxl-send-pwm-cmd command.

          Alex KushleyevA Offline
          Alex KushleyevA Offline
          Alex Kushleyev
          ModalAI Team
          wrote on last edited by
          #6

          @Jetson-Nano ,

          I checked with my colleague and they said that the current way will not work for forwarding the Neopixel LED packet to the FC V2. Here is roughly how the LED packet is created and sent to the ESC:

          • voxl-send-neopixle-cmd creates a data packet (using the specific format for ESC) and sends it to a special process modal-io-bridge via mpa pipe that is also called modal-io-bridge.
          • The modal-io-bridge is a PX4 module that is specific to VOXL2 and it runs on the CPU (not DSP). It receives the data from the mpa pipe and sends out the data using ORB_ID(modal_io_data) using data type modal_io_data_s.
          • then voxl_esc driver that runs on the DSP gets this data and forwards it to the ESC directly, as shown here: https://github.com/modalai/px4-firmware/blob/70d986f08acbf90e3752ef832151d8f993e18697/src/drivers/actuators/voxl_esc/voxl_esc.cpp#L1346
          • this approach has no option to forward the message to external FC.

          However, actually this week we are making changes to use mavlink tunnel messages instead of this custom io bridge. I will find out how to get this to work for FC V2.

          Alex

          Jetson NanoJ 2 Replies Last reply
          0
          • Alex KushleyevA Alex Kushleyev

            @Jetson-Nano ,

            I checked with my colleague and they said that the current way will not work for forwarding the Neopixel LED packet to the FC V2. Here is roughly how the LED packet is created and sent to the ESC:

            • voxl-send-neopixle-cmd creates a data packet (using the specific format for ESC) and sends it to a special process modal-io-bridge via mpa pipe that is also called modal-io-bridge.
            • The modal-io-bridge is a PX4 module that is specific to VOXL2 and it runs on the CPU (not DSP). It receives the data from the mpa pipe and sends out the data using ORB_ID(modal_io_data) using data type modal_io_data_s.
            • then voxl_esc driver that runs on the DSP gets this data and forwards it to the ESC directly, as shown here: https://github.com/modalai/px4-firmware/blob/70d986f08acbf90e3752ef832151d8f993e18697/src/drivers/actuators/voxl_esc/voxl_esc.cpp#L1346
            • this approach has no option to forward the message to external FC.

            However, actually this week we are making changes to use mavlink tunnel messages instead of this custom io bridge. I will find out how to get this to work for FC V2.

            Alex

            Jetson NanoJ Offline
            Jetson NanoJ Offline
            Jetson Nano
            Veteran
            wrote on last edited by
            #7

            @Alex-Kushleyev ,
            Thanks for the clarity, I also went through the same process and was not able to find any way to forward the message to ESC through external FC.
            If you could help with a work around this approach it will be really helpful. I can test it out and get back to you.

            1 Reply Last reply
            0
            • Alex KushleyevA Alex Kushleyev

              @Jetson-Nano ,

              I checked with my colleague and they said that the current way will not work for forwarding the Neopixel LED packet to the FC V2. Here is roughly how the LED packet is created and sent to the ESC:

              • voxl-send-neopixle-cmd creates a data packet (using the specific format for ESC) and sends it to a special process modal-io-bridge via mpa pipe that is also called modal-io-bridge.
              • The modal-io-bridge is a PX4 module that is specific to VOXL2 and it runs on the CPU (not DSP). It receives the data from the mpa pipe and sends out the data using ORB_ID(modal_io_data) using data type modal_io_data_s.
              • then voxl_esc driver that runs on the DSP gets this data and forwards it to the ESC directly, as shown here: https://github.com/modalai/px4-firmware/blob/70d986f08acbf90e3752ef832151d8f993e18697/src/drivers/actuators/voxl_esc/voxl_esc.cpp#L1346
              • this approach has no option to forward the message to external FC.

              However, actually this week we are making changes to use mavlink tunnel messages instead of this custom io bridge. I will find out how to get this to work for FC V2.

              Alex

              Jetson NanoJ Offline
              Jetson NanoJ Offline
              Jetson Nano
              Veteran
              wrote on last edited by Jetson Nano
              #8

              @Alex-Kushleyev
              just a thought, the data from Voxl2 is transfered to FC. so you can convert them to specific msg type and forward it to external FC and External FC already has modal-io-bridge, it can forward the data to ESC. There will be need of conversion of msg types multiple places, for handling and forwarding.
              the External Fc has turtle mode running on it, will it setup affect it.

              Alex KushleyevA 1 Reply Last reply
              0
              • Jetson NanoJ Jetson Nano

                @Alex-Kushleyev
                just a thought, the data from Voxl2 is transfered to FC. so you can convert them to specific msg type and forward it to external FC and External FC already has modal-io-bridge, it can forward the data to ESC. There will be need of conversion of msg types multiple places, for handling and forwarding.
                the External Fc has turtle mode running on it, will it setup affect it.

                Alex KushleyevA Offline
                Alex KushleyevA Offline
                Alex Kushleyev
                ModalAI Team
                wrote on last edited by
                #9

                @Jetson-Nano , there is probably more than one way of getting this to work, but I have been told that with the new approach that we have just implemented (being tested now), the mavlink tunnel should take care of routing the LED data from VOXL2 to FC V2 to ESC.

                I asked my colleague to help describing how to test this.

                Alex

                Jetson NanoJ 1 Reply Last reply
                0
                • Alex KushleyevA Alex Kushleyev

                  @Jetson-Nano , there is probably more than one way of getting this to work, but I have been told that with the new approach that we have just implemented (being tested now), the mavlink tunnel should take care of routing the LED data from VOXL2 to FC V2 to ESC.

                  I asked my colleague to help describing how to test this.

                  Alex

                  Jetson NanoJ Offline
                  Jetson NanoJ Offline
                  Jetson Nano
                  Veteran
                  wrote on last edited by
                  #10

                  @Alex-Kushleyev Thanks for the help. I will also test it out and get back with the results as soon as the approach is shared.
                  Can you also help me with finding clarity whether turtle mode will be affected by this setup.

                  Alex KushleyevA 1 Reply Last reply
                  0
                  • Jetson NanoJ Jetson Nano

                    @Alex-Kushleyev Thanks for the help. I will also test it out and get back with the results as soon as the approach is shared.
                    Can you also help me with finding clarity whether turtle mode will be affected by this setup.

                    Alex KushleyevA Offline
                    Alex KushleyevA Offline
                    Alex Kushleyev
                    ModalAI Team
                    wrote on last edited by
                    #11

                    @Jetson-Nano , As far as I know, turtle mode should work the same when running PX4 on VOXL2 and FC V2. Have you tested it? The LED command should not interfere with the turtle mode.

                    I have not actually tested the turtle mode on FC myself, but the code that is running in voxl-esc px4 driver is the same, so as long as you are entering the turtle mode correctly, it should work.

                    Alex

                    Jetson NanoJ 1 Reply Last reply
                    0
                    • Alex KushleyevA Alex Kushleyev

                      @Jetson-Nano , As far as I know, turtle mode should work the same when running PX4 on VOXL2 and FC V2. Have you tested it? The LED command should not interfere with the turtle mode.

                      I have not actually tested the turtle mode on FC myself, but the code that is running in voxl-esc px4 driver is the same, so as long as you are entering the turtle mode correctly, it should work.

                      Alex

                      Jetson NanoJ Offline
                      Jetson NanoJ Offline
                      Jetson Nano
                      Veteran
                      wrote on last edited by
                      #12

                      @Alex-Kushleyev I have not tested turtle mode with Voxl2 - FCV2 setup. I have tested with the Voxl2, internal PX4 server.
                      I will test it out and get back to you.

                      Jetson NanoJ 1 Reply Last reply
                      0
                      • Jetson NanoJ Jetson Nano

                        @Alex-Kushleyev I have not tested turtle mode with Voxl2 - FCV2 setup. I have tested with the Voxl2, internal PX4 server.
                        I will test it out and get back to you.

                        Jetson NanoJ Offline
                        Jetson NanoJ Offline
                        Jetson Nano
                        Veteran
                        wrote on last edited by
                        #13

                        @Alex-Kushleyev , I tested the turtle mode out and it is working fine.

                        Once the approach for LEDs are shared, I will test it out .

                        I had an additional query, while we are using Telem for FCV2 and ESC communication. Will the PWM output (8 pinout) still be transmission and can we access the data.

                        Eric KatzfeyE 1 Reply Last reply
                        0
                        • Jetson NanoJ Jetson Nano

                          @Alex-Kushleyev , I tested the turtle mode out and it is working fine.

                          Once the approach for LEDs are shared, I will test it out .

                          I had an additional query, while we are using Telem for FCV2 and ESC communication. Will the PWM output (8 pinout) still be transmission and can we access the data.

                          Eric KatzfeyE Offline
                          Eric KatzfeyE Offline
                          Eric Katzfey
                          ModalAI Team
                          wrote on last edited by
                          #14

                          @Jetson-Nano The updated voxl-io-server version is here: http://voxl-packages.modalai.com/dists/qrb5165/dev/binary-arm64/voxl-io-server_0.0.5-202502191136_arm64.deb. The updated FC v2 image is here: http://voxl-packages.modalai.com/dists/fc-v2/dev/modalai_fc-v2_1.14.0-2.0.95.px4. I have only tested with PX4 running on VOXL 2 but it should also work with external FC v2.

                          Jetson NanoJ 1 Reply Last reply
                          0
                          • Eric KatzfeyE Eric Katzfey

                            @Jetson-Nano The updated voxl-io-server version is here: http://voxl-packages.modalai.com/dists/qrb5165/dev/binary-arm64/voxl-io-server_0.0.5-202502191136_arm64.deb. The updated FC v2 image is here: http://voxl-packages.modalai.com/dists/fc-v2/dev/modalai_fc-v2_1.14.0-2.0.95.px4. I have only tested with PX4 running on VOXL 2 but it should also work with external FC v2.

                            Jetson NanoJ Offline
                            Jetson NanoJ Offline
                            Jetson Nano
                            Veteran
                            wrote on last edited by Jetson Nano
                            #15

                            @Eric-Katzfey thank you for sharing the data.
                            I tried flashing the voxl-io-server you mentioned, but I got the following error.

                            t@t-MS-7B29:~/git/voxl-io-server-master$ ./deploy_to_voxl.sh
                            searching for ADB device
                            checking VOXL for dpkg/opkg
                            dpkg detected
                            voxl-io-server_0.0.5-202502191136_arm64.deb: 1 file pushed. 2.1 MB/s (25928 bytes in 0.012s)
                            dpkg: considering removing voxl-neopixel-manager in favour of voxl-io-server ...
                            dpkg: warning: ignoring dependency problem with removal of voxl-neopixel-manager:
                             voxl-suite depends on voxl-neopixel-manager (>= 0.0.3)
                              voxl-neopixel-manager is to be removed.
                            
                            dpkg: yes, will remove voxl-neopixel-manager in favour of voxl-io-server
                            dpkg: regarding .../voxl-io-server_0.0.5-202502191136_arm64.deb containing voxl-io-server:
                             voxl-io-server conflicts with voxl-mpa-tools (<= 1.2.3)
                              voxl-mpa-tools (version 1.2.3) is present and installed.
                            
                            dpkg: error processing archive /data/voxl-io-server_0.0.5-202502191136_arm64.deb (--install):
                             conflicting packages - not installing voxl-io-server
                            Errors were encountered while processing:
                             /data/voxl-io-server_0.0.5-202502191136_arm64.deb
                            DONE
                            
                            

                            @Alex-Kushleyev can you check this out

                            Jetson NanoJ 2 Replies Last reply
                            0
                            • Jetson NanoJ Jetson Nano

                              @Eric-Katzfey thank you for sharing the data.
                              I tried flashing the voxl-io-server you mentioned, but I got the following error.

                              t@t-MS-7B29:~/git/voxl-io-server-master$ ./deploy_to_voxl.sh
                              searching for ADB device
                              checking VOXL for dpkg/opkg
                              dpkg detected
                              voxl-io-server_0.0.5-202502191136_arm64.deb: 1 file pushed. 2.1 MB/s (25928 bytes in 0.012s)
                              dpkg: considering removing voxl-neopixel-manager in favour of voxl-io-server ...
                              dpkg: warning: ignoring dependency problem with removal of voxl-neopixel-manager:
                               voxl-suite depends on voxl-neopixel-manager (>= 0.0.3)
                                voxl-neopixel-manager is to be removed.
                              
                              dpkg: yes, will remove voxl-neopixel-manager in favour of voxl-io-server
                              dpkg: regarding .../voxl-io-server_0.0.5-202502191136_arm64.deb containing voxl-io-server:
                               voxl-io-server conflicts with voxl-mpa-tools (<= 1.2.3)
                                voxl-mpa-tools (version 1.2.3) is present and installed.
                              
                              dpkg: error processing archive /data/voxl-io-server_0.0.5-202502191136_arm64.deb (--install):
                               conflicting packages - not installing voxl-io-server
                              Errors were encountered while processing:
                               /data/voxl-io-server_0.0.5-202502191136_arm64.deb
                              DONE
                              
                              

                              @Alex-Kushleyev can you check this out

                              Jetson NanoJ Offline
                              Jetson NanoJ Offline
                              Jetson Nano
                              Veteran
                              wrote on last edited by
                              #16
                              This post is deleted!
                              1 Reply Last reply
                              0
                              • Jetson NanoJ Jetson Nano

                                @Eric-Katzfey thank you for sharing the data.
                                I tried flashing the voxl-io-server you mentioned, but I got the following error.

                                t@t-MS-7B29:~/git/voxl-io-server-master$ ./deploy_to_voxl.sh
                                searching for ADB device
                                checking VOXL for dpkg/opkg
                                dpkg detected
                                voxl-io-server_0.0.5-202502191136_arm64.deb: 1 file pushed. 2.1 MB/s (25928 bytes in 0.012s)
                                dpkg: considering removing voxl-neopixel-manager in favour of voxl-io-server ...
                                dpkg: warning: ignoring dependency problem with removal of voxl-neopixel-manager:
                                 voxl-suite depends on voxl-neopixel-manager (>= 0.0.3)
                                  voxl-neopixel-manager is to be removed.
                                
                                dpkg: yes, will remove voxl-neopixel-manager in favour of voxl-io-server
                                dpkg: regarding .../voxl-io-server_0.0.5-202502191136_arm64.deb containing voxl-io-server:
                                 voxl-io-server conflicts with voxl-mpa-tools (<= 1.2.3)
                                  voxl-mpa-tools (version 1.2.3) is present and installed.
                                
                                dpkg: error processing archive /data/voxl-io-server_0.0.5-202502191136_arm64.deb (--install):
                                 conflicting packages - not installing voxl-io-server
                                Errors were encountered while processing:
                                 /data/voxl-io-server_0.0.5-202502191136_arm64.deb
                                DONE
                                
                                

                                @Alex-Kushleyev can you check this out

                                Jetson NanoJ Offline
                                Jetson NanoJ Offline
                                Jetson Nano
                                Veteran
                                wrote on last edited by
                                #17

                                @Alex-Kushleyev @Eric-Katzfey
                                can you check the above mentioned error.

                                Eric KatzfeyE 1 Reply Last reply
                                0
                                • Jetson NanoJ Jetson Nano

                                  @Alex-Kushleyev @Eric-Katzfey
                                  can you check the above mentioned error.

                                  Eric KatzfeyE Offline
                                  Eric KatzfeyE Offline
                                  Eric Katzfey
                                  ModalAI Team
                                  wrote on last edited by
                                  #18

                                  @Jetson-Nano To install the new voxl-io-server try dpkg --force-all -i voxl-io-server_0.0.5-202502191136_arm64.deb.

                                  1 Reply Last reply
                                  0

                                  Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                  Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                  With your input, this post could be even better 💗

                                  Register Login
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes


                                  ModalAI
                                  Categories Recent Tags ModalAI.com Docs
                                  © 2026 ModalAI® · Accelerating autonomy for smaller, smarter, safer drones · Powered by NodeBB
                                  • Login

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • Users
                                  • Groups