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

ModalAI Forum

  1. ModalAI Support Forum
  2. VOXL Compute & Autopilot
  3. Flight Core v2
  4. ArduPilot on Voxl2

ArduPilot on Voxl2

Scheduled Pinned Locked Moved Flight Core v2
45 Posts 6 Posters 14.9k 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.
  • Andrew TridgellA Andrew Tridgell

    Support for ArduPilot on QURT (the RTOS used on Voxl-2) is now merged in ArduPilot master
    Basic instructions on building and installing are here:

    Link Preview Image
    ardupilot/libraries/AP_HAL_QURT/ap_host/service at master · ArduPilot/ardupilot

    ArduPlane, ArduCopter, ArduRover, ArduSub source. Contribute to ArduPilot/ardupilot development by creating an account on GitHub.

    favicon

    GitHub (github.com)

    Pre-built binaries are available here:

    • https://firmware.ardupilot.org/Copter/latest/QURT/
    • https://firmware.ardupilot.org/Plane/latest/QURT/
    • https://firmware.ardupilot.org/Rover/latest/QURT/

    This should still be considered experimemtal, with active development happening with @Eric-Katzfey and myself.

    Flight video here on an autonomy dev kit copter:
    https://www.youtube.com/watch?v=l6c65-E-lzg

    Enjoy!

    T Offline
    T Offline
    TomP
    Contributor
    wrote on last edited by
    #11

    @Andrew-Tridgell @Eric-Katzfey I wanted to ask again about the current roadmap regarding Arduplane and the IO board for PWM.

    Best regards
    Tom

    Eric KatzfeyE 1 Reply Last reply
    0
    • T TomP

      @Andrew-Tridgell @Eric-Katzfey I wanted to ask again about the current roadmap regarding Arduplane and the IO board for PWM.

      Best regards
      Tom

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

      @TomP We are still shooting for the end of this year. I would like to know what external peripherals you would like to support though. I'm guessing GPS, magnetometer, RC, a PWM based motor ESC, and some servos for flight surface control? Also an airspeed sensor? A distance sensor? What kind of RC are you expecting to use? There are some I/O limitations with VOXL 2 so want to make sure that what you want to build can be supported by what we are putting together.

      T 1 Reply Last reply
      0
      • Eric KatzfeyE Eric Katzfey

        @TomP We are still shooting for the end of this year. I would like to know what external peripherals you would like to support though. I'm guessing GPS, magnetometer, RC, a PWM based motor ESC, and some servos for flight surface control? Also an airspeed sensor? A distance sensor? What kind of RC are you expecting to use? There are some I/O limitations with VOXL 2 so want to make sure that what you want to build can be supported by what we are putting together.

        T Offline
        T Offline
        TomP
        Contributor
        wrote on last edited by
        #13

        @Eric-Katzfey We use GPS, compass and the IO board for a PWM-controlled ESC and two servos. We also need two more PWM channels for gimbal control. That's it.

        We do not use an RC. The control is purely via MAVLink. Joystick inputs are made via the MAVLink command MANUAL_CONTROL. Data is transmitted via the mobile network.

        Eric KatzfeyE 2 Replies Last reply
        0
        • T TomP

          @Eric-Katzfey We use GPS, compass and the IO board for a PWM-controlled ESC and two servos. We also need two more PWM channels for gimbal control. That's it.

          We do not use an RC. The control is purely via MAVLink. Joystick inputs are made via the MAVLink command MANUAL_CONTROL. Data is transmitted via the mobile network.

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

          @TomP I have updated the documentation at https://docs.modalai.com/voxl-ardupilot/. The VOXL 2 IO board with up to 4 PWM outputs is now supported and has been tested on a quadcopter with 4 PWM ESCs. You should be able to use this for arduplane now. We are putting together our own fixed wing test platform and hope to begin testing soon.

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

            @TomP I have updated the documentation at https://docs.modalai.com/voxl-ardupilot/. The VOXL 2 IO board with up to 4 PWM outputs is now supported and has been tested on a quadcopter with 4 PWM ESCs. You should be able to use this for arduplane now. We are putting together our own fixed wing test platform and hope to begin testing soon.

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

            @Eric-Katzfey I will need to add the support for up to 8 PWM outputs on VOXL 2 IO board. Right now it only supports 4. You should be able to do test flights without the gimbal with 4 PWM outputs.

            1 Reply Last reply
            0
            • T TomP

              @Eric-Katzfey We use GPS, compass and the IO board for a PWM-controlled ESC and two servos. We also need two more PWM channels for gimbal control. That's it.

              We do not use an RC. The control is purely via MAVLink. Joystick inputs are made via the MAVLink command MANUAL_CONTROL. Data is transmitted via the mobile network.

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

              @TomP The update to support all 8 PWM outputs from the IO board is now in mainline. You can get it in the latest build posted here: https://firmware.ardupilot.org/Copter/latest/QURT/

              1 Reply Last reply
              0
              • T Offline
                T Offline
                TomP
                Contributor
                wrote on last edited by
                #17

                Hi,

                How can I configure the battery monitor for ArduPlane on the VOXL2-Mini?
                Which value do I have to enter for BATT_MONITOR and which values for BATT_I2C_ADDR and BAT_I2C_BUS?

                The "VOXL 2 Mini Power" transmits the current and voltage measurement data via I2C.

                Best regards,
                Tom

                Eric KatzfeyE 1 Reply Last reply
                0
                • T TomP

                  Hi,

                  How can I configure the battery monitor for ArduPlane on the VOXL2-Mini?
                  Which value do I have to enter for BATT_MONITOR and which values for BATT_I2C_ADDR and BAT_I2C_BUS?

                  The "VOXL 2 Mini Power" transmits the current and voltage measurement data via I2C.

                  Best regards,
                  Tom

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

                  @TomP It should just scan the available I2C ports and automatically detect the VOXL 2 mini power module if it has been connected. Is it not detecting it?

                  T 1 Reply Last reply
                  0
                  • Eric KatzfeyE Eric Katzfey

                    @TomP It should just scan the available I2C ports and automatically detect the VOXL 2 mini power module if it has been connected. Is it not detecting it?

                    T Offline
                    T Offline
                    TomP
                    Contributor
                    wrote on last edited by
                    #19

                    @Eric-Katzfey No, this is not detected. The configuration does not seem to be correct either. The parameter list mentions "Analog Voltage and Current" and corresponding pins.
                    Here is a screenshot:
                    Arduplane_VOXL2_Mini.png

                    1 Reply Last reply
                    0
                    • T Offline
                      T Offline
                      TomP
                      Contributor
                      wrote on last edited by
                      #20

                      Hi,

                      There is another problem. The PWM board does not output PWMs. I have also measured this with an oscilloscope. According to SERVO_OUTPUT_RAW, however, the FC should output PWM values.

                      Do I have to set another parameter in Arduplane so that the VOXL 2 I/O Expander Board is controlled correctly?

                      I use the VOXL2-Mini J19 connector: GND, pin 7, pin 8 and VREG_3P3V_RC for the power supply.

                      Here is my setup:
                      WhatsApp Image 2025-03-28 at 15.35.26.jpeg

                      Eric KatzfeyE 1 Reply Last reply
                      0
                      • T TomP

                        Hi,

                        There is another problem. The PWM board does not output PWMs. I have also measured this with an oscilloscope. According to SERVO_OUTPUT_RAW, however, the FC should output PWM values.

                        Do I have to set another parameter in Arduplane so that the VOXL 2 I/O Expander Board is controlled correctly?

                        I use the VOXL2-Mini J19 connector: GND, pin 7, pin 8 and VREG_3P3V_RC for the power supply.

                        Here is my setup:
                        WhatsApp Image 2025-03-28 at 15.35.26.jpeg

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

                        @TomP Okay, yes, sorry, you need to set BATT_MONITOR to 21 for INA2xx and need to set BATT_I2C_BUS to 1 for that power monitor to come up. I'll investigate the PWM issue.

                        T 1 Reply Last reply
                        0
                        • Eric KatzfeyE Eric Katzfey

                          @TomP Okay, yes, sorry, you need to set BATT_MONITOR to 21 for INA2xx and need to set BATT_I2C_BUS to 1 for that power monitor to come up. I'll investigate the PWM issue.

                          T Offline
                          T Offline
                          TomP
                          Contributor
                          wrote on last edited by
                          #22

                          @Eric-Katzfey The battery monitor works. Thank you very much! I'm sure the PWM will also work and then it's off to the test flight. 🙂

                          Eric KatzfeyE 2 Replies Last reply
                          0
                          • T TomP

                            @Eric-Katzfey The battery monitor works. Thank you very much! I'm sure the PWM will also work and then it's off to the test flight. 🙂

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

                            @TomP What are the settings of all the SERVO(x)_ params?

                            1 Reply Last reply
                            0
                            • T TomP

                              @Eric-Katzfey The battery monitor works. Thank you very much! I'm sure the PWM will also work and then it's off to the test flight. 🙂

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

                              @TomP If you set the SERVO(x)_FUNCTION parameters according to this: https://ardupilot.org/plane/docs/servo-functions.html#overview do you get any PWM output?

                              T 1 Reply Last reply
                              0
                              • Eric KatzfeyE Eric Katzfey

                                @TomP If you set the SERVO(x)_FUNCTION parameters according to this: https://ardupilot.org/plane/docs/servo-functions.html#overview do you get any PWM output?

                                T Offline
                                T Offline
                                TomP
                                Contributor
                                wrote on last edited by TomP
                                #25

                                @Eric-Katzfey Here are my settings (no PWM output):

                                SERVO1_FUNCTION,4
                                SERVO1_MAX,1900
                                SERVO1_MIN,1100
                                SERVO1_REVERSED,0
                                SERVO1_TRIM,1500
                                SERVO2_FUNCTION,19
                                SERVO2_MAX,1900
                                SERVO2_MIN,1100
                                SERVO2_REVERSED,0
                                SERVO2_TRIM,1500
                                SERVO3_FUNCTION,70
                                SERVO3_MAX,1900
                                SERVO3_MIN,1100
                                SERVO3_REVERSED,0
                                SERVO3_TRIM,1100
                                SERVO4_FUNCTION,21
                                SERVO4_MAX,1900
                                SERVO4_MIN,1100
                                SERVO4_REVERSED,0
                                SERVO4_TRIM,1500
                                SERVO5_FUNCTION,0
                                SERVO5_MAX,1900
                                SERVO5_MIN,1100
                                SERVO5_REVERSED,0
                                SERVO5_TRIM,1500
                                SERVO6_FUNCTION,0
                                SERVO6_MAX,1900
                                SERVO6_MIN,1100
                                SERVO6_REVERSED,0
                                SERVO6_TRIM,1500
                                SERVO7_FUNCTION,0
                                SERVO7_MAX,1900
                                SERVO7_MIN,1100
                                SERVO7_REVERSED,0
                                SERVO7_TRIM,1500
                                SERVO8_FUNCTION,0
                                SERVO8_MAX,1900
                                SERVO8_MIN,1100
                                SERVO8_REVERSED,0
                                SERVO8_TRIM,1500

                                Eric KatzfeyE 2 Replies Last reply
                                0
                                • T TomP

                                  @Eric-Katzfey Here are my settings (no PWM output):

                                  SERVO1_FUNCTION,4
                                  SERVO1_MAX,1900
                                  SERVO1_MIN,1100
                                  SERVO1_REVERSED,0
                                  SERVO1_TRIM,1500
                                  SERVO2_FUNCTION,19
                                  SERVO2_MAX,1900
                                  SERVO2_MIN,1100
                                  SERVO2_REVERSED,0
                                  SERVO2_TRIM,1500
                                  SERVO3_FUNCTION,70
                                  SERVO3_MAX,1900
                                  SERVO3_MIN,1100
                                  SERVO3_REVERSED,0
                                  SERVO3_TRIM,1100
                                  SERVO4_FUNCTION,21
                                  SERVO4_MAX,1900
                                  SERVO4_MIN,1100
                                  SERVO4_REVERSED,0
                                  SERVO4_TRIM,1500
                                  SERVO5_FUNCTION,0
                                  SERVO5_MAX,1900
                                  SERVO5_MIN,1100
                                  SERVO5_REVERSED,0
                                  SERVO5_TRIM,1500
                                  SERVO6_FUNCTION,0
                                  SERVO6_MAX,1900
                                  SERVO6_MIN,1100
                                  SERVO6_REVERSED,0
                                  SERVO6_TRIM,1500
                                  SERVO7_FUNCTION,0
                                  SERVO7_MAX,1900
                                  SERVO7_MIN,1100
                                  SERVO7_REVERSED,0
                                  SERVO7_TRIM,1500
                                  SERVO8_FUNCTION,0
                                  SERVO8_MAX,1900
                                  SERVO8_MIN,1100
                                  SERVO8_REVERSED,0
                                  SERVO8_TRIM,1500

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

                                  @TomP Hmm, that looks correct. On my test setup running ArduPlane with those values I see output values being sent to the M0065 board. I'm wondering if there is a connectivity issue between the VOXL 2 mini and the IO board.

                                  T 1 Reply Last reply
                                  0
                                  • T TomP

                                    @Eric-Katzfey Here are my settings (no PWM output):

                                    SERVO1_FUNCTION,4
                                    SERVO1_MAX,1900
                                    SERVO1_MIN,1100
                                    SERVO1_REVERSED,0
                                    SERVO1_TRIM,1500
                                    SERVO2_FUNCTION,19
                                    SERVO2_MAX,1900
                                    SERVO2_MIN,1100
                                    SERVO2_REVERSED,0
                                    SERVO2_TRIM,1500
                                    SERVO3_FUNCTION,70
                                    SERVO3_MAX,1900
                                    SERVO3_MIN,1100
                                    SERVO3_REVERSED,0
                                    SERVO3_TRIM,1100
                                    SERVO4_FUNCTION,21
                                    SERVO4_MAX,1900
                                    SERVO4_MIN,1100
                                    SERVO4_REVERSED,0
                                    SERVO4_TRIM,1500
                                    SERVO5_FUNCTION,0
                                    SERVO5_MAX,1900
                                    SERVO5_MIN,1100
                                    SERVO5_REVERSED,0
                                    SERVO5_TRIM,1500
                                    SERVO6_FUNCTION,0
                                    SERVO6_MAX,1900
                                    SERVO6_MIN,1100
                                    SERVO6_REVERSED,0
                                    SERVO6_TRIM,1500
                                    SERVO7_FUNCTION,0
                                    SERVO7_MAX,1900
                                    SERVO7_MIN,1100
                                    SERVO7_REVERSED,0
                                    SERVO7_TRIM,1500
                                    SERVO8_FUNCTION,0
                                    SERVO8_MAX,1900
                                    SERVO8_MIN,1100
                                    SERVO8_REVERSED,0
                                    SERVO8_TRIM,1500

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

                                    @TomP Can you tell me how you have connected the UART pins on M0065 to the UART pins on VOXL 2 mini? Like the actual pin numbers that are connected?

                                    T 1 Reply Last reply
                                    0
                                    • Eric KatzfeyE Eric Katzfey

                                      @TomP Hmm, that looks correct. On my test setup running ArduPlane with those values I see output values being sent to the M0065 board. I'm wondering if there is a connectivity issue between the VOXL 2 mini and the IO board.

                                      T Offline
                                      T Offline
                                      TomP
                                      Contributor
                                      wrote on last edited by
                                      #28

                                      @Eric-Katzfey I can rule out connection problems. I checked the contacts on the VOXL2-Mini and the IO board with a continuity tester. Everything is well connected.

                                      I know that with ardupilot you can at least control the servos without arming. Is this perhaps implemented differently here? Then I would have to calibrate the sensors etc. to test this.

                                      voxl2_mini_durchgangspruefer.png

                                      1 Reply Last reply
                                      0
                                      • Eric KatzfeyE Eric Katzfey

                                        @TomP Can you tell me how you have connected the UART pins on M0065 to the UART pins on VOXL 2 mini? Like the actual pin numbers that are connected?

                                        T Offline
                                        T Offline
                                        TomP
                                        Contributor
                                        wrote on last edited by TomP
                                        #29

                                        @Eric-Katzfey Here is the pin configuration (J19 on VOXL2-Mini to J4 on IO Board):

                                        VOXL2-Mini-----IO Board
                                        9-----------------1
                                        8-----------------3
                                        7-----------------2
                                        6-----------------4

                                        (I mistyped the table at the beginning. I have corrected the typo.)

                                        Eric KatzfeyE 2 Replies Last reply
                                        0
                                        • T TomP

                                          @Eric-Katzfey Here is the pin configuration (J19 on VOXL2-Mini to J4 on IO Board):

                                          VOXL2-Mini-----IO Board
                                          9-----------------1
                                          8-----------------3
                                          7-----------------2
                                          6-----------------4

                                          (I mistyped the table at the beginning. I have corrected the typo.)

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

                                          @TomP Yep, that all looks fine. Shoot. I may need to send you a new package with extra debug information to help debug this since by default there really isn't much we can see.

                                          T 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