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

ModalAI Forum

  1. ModalAI Support Forum
  2. Ask your questions right here!
  3. VOXL 2 IO - 8 PWM channels & Futaba (SBUS) Rx

VOXL 2 IO - 8 PWM channels & Futaba (SBUS) Rx

Scheduled Pinned Locked Moved Ask your questions right here!
31 Posts 3 Posters 7.1k Views 3 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

    Hi @Gary-Holmgren,

    We do have experimental firmware for M0065 that is capable of outputting 4 DSHOT600 signals and reading back UART telemetry (not dshot telemetry, which would come back on the 4 pwm signals.. may be able to do implement dshot telemetry, but who knows if we ever get to it 🙂 ).

    I am actually about to work on some dshot-related items and was going to use M0065 to generate dshot signals for testing another device, so this might be good timing.

    The current state of the firmware is that it has been tested on the bench (very little) but i would definitely not fly with it before putting in at least several hours of continuous bench testing with different inputs.

    Nice thing is that voxl-esc tools can be used to test M0065 in dshot mode, so test scripts can be written to bench test the firmware to ensure proper operation. You can also use the PX4 driver in VOLX2 with slight modifications for flight (eventually).

    If you would like to test this firmware, i have to warn you that it will come with NO GUARANTEES because it has not been through any rigorous testing. However, you should be able to perform sufficient testing, if you are willing and I can help with the software tools for testing. I can't say for sure that this feature will be ever officially supported, but the test firmware will be available and I will try to address issues if they come up. I should be able to share test firmware in about a week or so, when i go back to working on it and get a chance to test.

    Alex

    Gary HolmgrenG Offline
    Gary HolmgrenG Offline
    Gary Holmgren
    Regular
    wrote on last edited by
    #18

    @Alex-Kushleyev This is good news! So for the 4 dshot channels I wouldn't need it for flight just to drive bldc motors bidirectionally. I am under the impression the FCv2 also has dshot capability? However when i try to select dshot in the actuators tab in QGC for FCv2 and reboot the actuators have no output. Works fine with PWM however but there is no bidirectionaity there. I am wondering what might be the best option since there is no real risk of crashing.

    Would you be able to clarify a little more on how I can implement voxl-esc tools to set the dshot outputs on the M0065?

    Really appreciate the quick response!

    Alex KushleyevA 1 Reply Last reply
    0
    • Gary HolmgrenG Gary Holmgren

      @Alex-Kushleyev This is good news! So for the 4 dshot channels I wouldn't need it for flight just to drive bldc motors bidirectionally. I am under the impression the FCv2 also has dshot capability? However when i try to select dshot in the actuators tab in QGC for FCv2 and reboot the actuators have no output. Works fine with PWM however but there is no bidirectionaity there. I am wondering what might be the best option since there is no real risk of crashing.

      Would you be able to clarify a little more on how I can implement voxl-esc tools to set the dshot outputs on the M0065?

      Really appreciate the quick response!

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

      @Gary-Holmgren , I have not used dshot on flight core (v1 or v2), but based on the following, i believe at least it should be working on Flight Core V1: https://docs.modalai.com/flight-core-pwm-esc-calibration/ (there is a mention of dshot and I am pretty sure we had that working). Not sure about V2, but i will ask. If you have a Flight Core V1, maybe worth giving it a shot.

      If there is no risk of crashing a drone, that certainly makes things a bit easier and you should be able to get to testing much sooner.

      I will provide more details about voxl-esc integration, but just to summarize, it will be very similar to sending RPM or power commands using voxl-esc tools (which you may have already done with ModalAI ESCs), and M0065 will take the 4 commands sent out by voxl-esc and convert them to dshot outputs. At the low level, M0065 will basically continuously receive UART packets of a certain type that contains 4x 11-bit throttle values and some other flags and generate the Dshot signal using PWM + DMA. You should be able to send that control packet to M0065 from any device that has UART, but voxl-esc python tools make it a bit easier to get started (and you can use these python tools either on voxl2 or a linux PC). I like to do my experimental testing using a fast Linux PC to reduce any latency with UART communication.

      What device are you actually planning to use for calculating the dshot values to be sent to the motors? Is it VOXL2 or something else (does not matter, just curious).

      Alex

      Gary HolmgrenG 1 Reply Last reply
      0
      • Alex KushleyevA Alex Kushleyev

        @Gary-Holmgren , I have not used dshot on flight core (v1 or v2), but based on the following, i believe at least it should be working on Flight Core V1: https://docs.modalai.com/flight-core-pwm-esc-calibration/ (there is a mention of dshot and I am pretty sure we had that working). Not sure about V2, but i will ask. If you have a Flight Core V1, maybe worth giving it a shot.

        If there is no risk of crashing a drone, that certainly makes things a bit easier and you should be able to get to testing much sooner.

        I will provide more details about voxl-esc integration, but just to summarize, it will be very similar to sending RPM or power commands using voxl-esc tools (which you may have already done with ModalAI ESCs), and M0065 will take the 4 commands sent out by voxl-esc and convert them to dshot outputs. At the low level, M0065 will basically continuously receive UART packets of a certain type that contains 4x 11-bit throttle values and some other flags and generate the Dshot signal using PWM + DMA. You should be able to send that control packet to M0065 from any device that has UART, but voxl-esc python tools make it a bit easier to get started (and you can use these python tools either on voxl2 or a linux PC). I like to do my experimental testing using a fast Linux PC to reduce any latency with UART communication.

        What device are you actually planning to use for calculating the dshot values to be sent to the motors? Is it VOXL2 or something else (does not matter, just curious).

        Alex

        Gary HolmgrenG Offline
        Gary HolmgrenG Offline
        Gary Holmgren
        Regular
        wrote on last edited by
        #20

        @Alex-Kushleyev Ahh I only have the FCv2. I have a quick linux machine to work with and planned to do this work either on that or the voxl2. I guess my ultimate goal is to have the ability for PX4 to use esc's in the actuators tab bidirectionally. I am wondering how I would make the change to have the M0064 output dshot permanently after verifying test commands so px4 can control the motors to operate in two directions using my 4in1 dshot supported ESC.

        I seen an alternative solution here where two voxl-esc's can be wired in parallel together but just using separate ID's to get 8 channels. Wold these ESC's also support bi-directional operation in PX4? It would be a decent cost to implement these so I am hoping my current setup can work but if it proves too difficult to get working I might consider if these are more plug and play.

        Alex KushleyevA 1 Reply Last reply
        0
        • Gary HolmgrenG Gary Holmgren

          @Alex-Kushleyev Ahh I only have the FCv2. I have a quick linux machine to work with and planned to do this work either on that or the voxl2. I guess my ultimate goal is to have the ability for PX4 to use esc's in the actuators tab bidirectionally. I am wondering how I would make the change to have the M0064 output dshot permanently after verifying test commands so px4 can control the motors to operate in two directions using my 4in1 dshot supported ESC.

          I seen an alternative solution here where two voxl-esc's can be wired in parallel together but just using separate ID's to get 8 channels. Wold these ESC's also support bi-directional operation in PX4? It would be a decent cost to implement these so I am hoping my current setup can work but if it proves too difficult to get working I might consider if these are more plug and play.

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

          @Gary-Holmgren , can you help me understand your set up better? Are you already using a ModalAI esc with 4 outputs and want to add another 4? Is the reason for going to dshot due to the fact that ModalAI esc does not support 8 outputs?

          By the way, ModalAI esc does have support for changing direction in real time, but i am not sure if PX4 has this ability to command negative rpms (mainly, the mixer would need to do that).

          Alex

          Gary HolmgrenG 2 Replies Last reply
          0
          • Alex KushleyevA Alex Kushleyev

            @Gary-Holmgren , can you help me understand your set up better? Are you already using a ModalAI esc with 4 outputs and want to add another 4? Is the reason for going to dshot due to the fact that ModalAI esc does not support 8 outputs?

            By the way, ModalAI esc does have support for changing direction in real time, but i am not sure if PX4 has this ability to command negative rpms (mainly, the mixer would need to do that).

            Alex

            Gary HolmgrenG Offline
            Gary HolmgrenG Offline
            Gary Holmgren
            Regular
            wrote on last edited by
            #22

            @Alex-Kushleyev Yes of course, I am trying to experiment with ground vehicles but in order for proper operation the motors need to reverse direction for forward and reverse driving. I dont have a modalai in my setup. I wanted to have 4 channels of dshot so my motors could allow for forward and reverse operation, and since the other 4 PWM are still available on the M0064, I could use them for other servo/actuators. I am trying to understand how others may have configured the UGV or rover options using voxl2/ESC combos but have had no luck in having a working setup.

            1 Reply Last reply
            0
            • Alex KushleyevA Alex Kushleyev

              @Gary-Holmgren , can you help me understand your set up better? Are you already using a ModalAI esc with 4 outputs and want to add another 4? Is the reason for going to dshot due to the fact that ModalAI esc does not support 8 outputs?

              By the way, ModalAI esc does have support for changing direction in real time, but i am not sure if PX4 has this ability to command negative rpms (mainly, the mixer would need to do that).

              Alex

              Gary HolmgrenG Offline
              Gary HolmgrenG Offline
              Gary Holmgren
              Regular
              wrote on last edited by
              #23

              @Alex-Kushleyev Im starting to think the problem may be my 4in1 ESC I have chosen to power the motors as its meant for drone motors not drive motors. Although I dont see why it wouldn't work since turtlemode allows you to reverse motor direction on demand. I guess I dont know what PX4 expects for an ESC of that vehicle type as there is no documentation I could find on what ESC to use.

              Alex KushleyevA 1 Reply Last reply
              0
              • Gary HolmgrenG Gary Holmgren

                @Alex-Kushleyev Im starting to think the problem may be my 4in1 ESC I have chosen to power the motors as its meant for drone motors not drive motors. Although I dont see why it wouldn't work since turtlemode allows you to reverse motor direction on demand. I guess I dont know what PX4 expects for an ESC of that vehicle type as there is no documentation I could find on what ESC to use.

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

                @Gary-Holmgren ,

                Is your ground vehicle a direct drive BLDC (or do you have a gear box?). Direct drive motors usually require FOC control because wheels typically spin much slower than drone propellers and you need frequent start / stop and high torque / low speed operation.

                Do you have an ESC that uses FOC control with dshot input?

                Non-FOC control would work if you have a gearbox, but there may still be some jittering at very low RPM.

                Alex

                Gary HolmgrenG 1 Reply Last reply
                0
                • Alex KushleyevA Alex Kushleyev

                  @Gary-Holmgren ,

                  Is your ground vehicle a direct drive BLDC (or do you have a gear box?). Direct drive motors usually require FOC control because wheels typically spin much slower than drone propellers and you need frequent start / stop and high torque / low speed operation.

                  Do you have an ESC that uses FOC control with dshot input?

                  Non-FOC control would work if you have a gearbox, but there may still be some jittering at very low RPM.

                  Alex

                  Gary HolmgrenG Offline
                  Gary HolmgrenG Offline
                  Gary Holmgren
                  Regular
                  wrote on last edited by
                  #25

                  @Alex-Kushleyev Yes it does have a gearbox, and good to know I considered using FOC for avoiding it but I needed quite a bit of torque.

                  This is the ESC im currently using as it supports PWM/dshot/etc but its just a basic 4in1 meant for flight so I am not sure if I can confugure it to otput bidirectionally ex: 1500uS is zero 1050 is full reverse and 1950 is full forward.

                  Alex KushleyevA 1 Reply Last reply
                  0
                  • Gary HolmgrenG Gary Holmgren

                    @Alex-Kushleyev Yes it does have a gearbox, and good to know I considered using FOC for avoiding it but I needed quite a bit of torque.

                    This is the ESC im currently using as it supports PWM/dshot/etc but its just a basic 4in1 meant for flight so I am not sure if I can confugure it to otput bidirectionally ex: 1500uS is zero 1050 is full reverse and 1950 is full forward.

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

                    @Gary-Holmgren, do you have any ModalAI ESCs? If so, which one? I can help you test it with a geared BLDC motor.

                    Alex

                    Gary HolmgrenG 1 Reply Last reply
                    0
                    • Alex KushleyevA Alex Kushleyev

                      @Gary-Holmgren, do you have any ModalAI ESCs? If so, which one? I can help you test it with a geared BLDC motor.

                      Alex

                      Gary HolmgrenG Offline
                      Gary HolmgrenG Offline
                      Gary Holmgren
                      Regular
                      wrote on last edited by
                      #27

                      @Alex-Kushleyev Unfortunately I do not have one, but if that is the only solution here I would think about getting one.

                      Alex KushleyevA 1 Reply Last reply
                      0
                      • Gary HolmgrenG Gary Holmgren

                        @Alex-Kushleyev Unfortunately I do not have one, but if that is the only solution here I would think about getting one.

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

                        @Gary-Holmgren , since you already have the IO board M0065 and the Tmotor ESC, you can try the M0065 approach. I will follow up in a few days.

                        Meanwhile please make sure that you can communicate to VOXL IO (M0065) board from your Linux PC or VOXL2 using voxl-esc tools. You should be able to run voxl-esc-scan.py and the board will be detected (if using VOXL2, you can plug M0065 into the 4-pin ESC port) J18 : https://docs.modalai.com/voxl2-connectors/#j18-uart-esc

                        voxl-esc tools: https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc (they are also shipped with the SDK, you can find it in /usr/share/modalai/voxl-esc-tools/)

                        Alex

                        Alex KushleyevA 1 Reply Last reply
                        1
                        • Alex KushleyevA Alex Kushleyev

                          @Gary-Holmgren , since you already have the IO board M0065 and the Tmotor ESC, you can try the M0065 approach. I will follow up in a few days.

                          Meanwhile please make sure that you can communicate to VOXL IO (M0065) board from your Linux PC or VOXL2 using voxl-esc tools. You should be able to run voxl-esc-scan.py and the board will be detected (if using VOXL2, you can plug M0065 into the 4-pin ESC port) J18 : https://docs.modalai.com/voxl2-connectors/#j18-uart-esc

                          voxl-esc tools: https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc (they are also shipped with the SDK, you can find it in /usr/share/modalai/voxl-esc-tools/)

                          Alex

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

                          I was just thinking that another option for you is to get a standard reversible ESC that is designed for RC race cars - those ESCs support reversing. I am assuming 1500us pwm signal is neutral , 2000us full forward, 1000us full reverse.

                          You would need 4 of those and should be able to use PX4 standard PWM output.

                          It is probably best to use ESCs designed for RC cars, so they are tuned for robust start-up, etc. Those ESCs also often come with their own fans for cooling, since you don't have propellers blowing air over the ESC.

                          For example, you can even buy a motor with integrated ESC : https://www.losi.com/product/tazer-twin-2-in1-3000kv-brushless-motor-45a-esc-combo-2s-ec3/DYNS1450.html . I have not tried it, but i do have a race car with a Tazer ESC, which is reversible and is controlled by a standard Spektrum receiver.

                          Alex

                          Gary HolmgrenG 1 Reply Last reply
                          0
                          • Alex KushleyevA Alex Kushleyev

                            I was just thinking that another option for you is to get a standard reversible ESC that is designed for RC race cars - those ESCs support reversing. I am assuming 1500us pwm signal is neutral , 2000us full forward, 1000us full reverse.

                            You would need 4 of those and should be able to use PX4 standard PWM output.

                            It is probably best to use ESCs designed for RC cars, so they are tuned for robust start-up, etc. Those ESCs also often come with their own fans for cooling, since you don't have propellers blowing air over the ESC.

                            For example, you can even buy a motor with integrated ESC : https://www.losi.com/product/tazer-twin-2-in1-3000kv-brushless-motor-45a-esc-combo-2s-ec3/DYNS1450.html . I have not tried it, but i do have a race car with a Tazer ESC, which is reversible and is controlled by a standard Spektrum receiver.

                            Alex

                            Gary HolmgrenG Offline
                            Gary HolmgrenG Offline
                            Gary Holmgren
                            Regular
                            wrote on last edited by
                            #30

                            @Alex-Kushleyev I was able to connect my 4in1 esc to blheli32 suite and change it to bidirectrional mode, so <1500uS is reverse 1500uS is neutral and >1500uS is forward it works perfectly fine with a PWM controller attached to the signal pins of the ESC. But when connected to a VOXL2 configured to be a rover in PX4 it will not output anything to the motors. I have even tried using the actuators test commands and nothing. The ESC is attached to to the VOXL 2 IO PWM out. It seems there may be soemthign wrong with trying to use a rover vehicle on VOXL 2. I changed the px4-config and disabled daemon mode to try and star and stop the px4 modules manually with qshell but no luck.

                            Alex KushleyevA 1 Reply Last reply
                            0
                            • Gary HolmgrenG Gary Holmgren

                              @Alex-Kushleyev I was able to connect my 4in1 esc to blheli32 suite and change it to bidirectrional mode, so <1500uS is reverse 1500uS is neutral and >1500uS is forward it works perfectly fine with a PWM controller attached to the signal pins of the ESC. But when connected to a VOXL2 configured to be a rover in PX4 it will not output anything to the motors. I have even tried using the actuators test commands and nothing. The ESC is attached to to the VOXL 2 IO PWM out. It seems there may be soemthign wrong with trying to use a rover vehicle on VOXL 2. I changed the px4-config and disabled daemon mode to try and star and stop the px4 modules manually with qshell but no luck.

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

                              @Gary-Holmgren ,

                              The esc driver in px4 receives data from a “mixer” module. There are different mixers for different vehicle types. It is possible that the mixer for your UGV vehicle type is not compiled for or not running on voxl2.

                              Px4 support of these vehicle types is supposedly experimental, so additional investigation may be required on your end :). We have not tried the ground vehicle mixer.

                              Alex

                              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

                              • Don't have an account? Register

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