ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    VOXL 2 IO Board troubleshooting - Driver will not start

    VOXL 2 IO
    5
    17
    814
    Loading More Posts
    • 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.
    • Jeremy FrederickJ
      Jeremy Frederick @Eric Katzfey
      last edited by

      @Eric-Katzfey I'm not looking to run RC through the IO board, I'm using external RC commands for control. I'm looking to utilize the PWM outputs on the board to control a servo for a dropper mechanism. I made the change and am commanding the start of the voxl2_io driver successfully. As of now I am still unable to drive a servo through the QGC actuators tab, all the correct parameters have been loaded.

      48787adc-3ad4-4e8c-bd36-4c6a9dc1b909-image.png

      Alex KushleyevA V 2 Replies Last reply Reply Quote 0
      • Alex KushleyevA
        Alex Kushleyev ModalAI Team @Jeremy Frederick
        last edited by Alex Kushleyev

        @Jeremy-Frederick ,

        Hi @Jeremy-Frederick , we are moving towards using updated M0065 firmware and PX4 driver which has some improvements as well as easier to debug. Can you please check out this thread : https://forum.modalai.com/topic/3265/additional-voxl-2-pwm-ouputs

        You will need to update M0065 firmware and use px4 build from a branch (either build it yourself or i provided a link to deb in that thread).

        When you update the M0065 firmware, if you also have the ESC plugged in, just unplug the ESC UART connection in order to avoid any confusion, because the M0065 and ESC use the same tools / protocol to update the firmware. You will not be able to upload wrong firmware to any of these boards, but unplugging the ESC uart will just make things simpler, so that the update tools can autodetect the port.

        After you install the updates, please check output of voxl-px4 -d | grep VOXL2_IO , which will print a bunch of voxl2 io driver initialization info. then make sure your channel mapping is set up correctly (specifically, VOXL2_IO_FUNC* params and then you can test using QGC.

        You should see output that looks something like this, which is set up to map motors 1-4 to pwm, but you may need to change it for your aux functionality. There is no change in how you start the driver (you can still provide the port number, etc)

        INFO  [muorb] SLPI: VOXL2_IO: Driver starting
        INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_BAUD  : 921600
        INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC1 : 101
        INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC2 : 102
        INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC3 : 103
        INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC4 : 104
        INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC5 : 0
        INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC6 : 0
        INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC7 : 0
        INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC8 : 0
        INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_DIS   : 1000
        INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_MIN   : 1100
        INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_MAX   : 2000
        INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_CMIN  : 1050
        INFO  [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_CMAX  : 2000
        INFO  [muorb] SLPI: VOXL2_IO: 
        INFO  [muorb] SLPI: VOXL2_IO: Opening UART device 2, baud rate 921600
        INFO  [muorb] SLPI: VOXL2_IO: Successfully opened UART device
        INFO  [muorb] SLPI: VOXL2_IO: Detecting M0065 board...
        INFO  [muorb] SLPI: VOXL2_IO: 	VOXL2_IO ID: 0
        INFO  [muorb] SLPI: VOXL2_IO: 	Board Type : 35: ModalAi I/O Expander (M0065)
        INFO  [muorb] SLPI: VOXL2_IO: 	Unique ID  : 0x4304296039364B560671FF36
        INFO  [muorb] SLPI: VOXL2_IO: 	Firmware   : version    2, hash f94baad1
        INFO  [muorb] SLPI: VOXL2_IO: 	Bootloader : version    0, hash 17147346*
        INFO  [muorb] SLPI: VOXL2_IO: 	Reply time : 2584us
        INFO  [muorb] SLPI: VOXL2_IO: Driver initialization succeeded
        
        Jeremy FrederickJ 1 Reply Last reply Reply Quote 0
        • Jeremy FrederickJ
          Jeremy Frederick @Alex Kushleyev
          last edited by

          @Alex-Kushleyev I appreciate it, all is working now

          1 Reply Last reply Reply Quote 0
          • V
            valvarez
            last edited by

            Hello @Jeremy-Frederick
            I'm just trying to perform the same operation. What servo have you used? How did you make the connection? I have doubts about the 5V power supply for the servos and the 3.3V signal from the IO board.

            Thank you!

            Jeremy FrederickJ 1 Reply Last reply Reply Quote 0
            • Jeremy FrederickJ
              Jeremy Frederick @valvarez
              last edited by

              @valvarez Any PWM based servo should work, we're using 5g servos with very little torque capability and haven't seen any issues with the power supply capabilities of the IO board in this regard. I connected the PWM Signal to output 1 on the IO board and the 5V and G of the same port. Has been working consistently through QGC.

              VinnyV 1 Reply Last reply Reply Quote 0
              • VinnyV
                Vinny ModalAI Team @Jeremy Frederick
                last edited by

                Hi @Jeremy-Frederick @valvarez
                ModalAI has not designed any power supply reference voltages on JST connectors as a REF or Power Tap Off as capable of powering servos.
                If you wish to power micro-servos then please do so at your own risk. However, you may likely damage your ModalAI hardware since we do not have any back EMF/Stall/Load dump protection on any of our JST connectors.

                Servos need to have their independent supply from your system battery.
                Apologies we have not made that clearer in our Tech Docs.

                Thanks!

                Jeremy FrederickJ 1 Reply Last reply Reply Quote 0
                • Jeremy FrederickJ
                  Jeremy Frederick @Vinny
                  last edited by

                  @Vinny Appreciate the heads up

                  1 Reply Last reply Reply Quote 0
                  • Denver HopkinsD Denver Hopkins referenced this topic on
                  • V
                    valvarez @Jeremy Frederick
                    last edited by

                    @Jeremy-Frederick said in VOXL 2 IO Board troubleshooting - Driver will not start:

                    @Eric-Katzfey I'm not looking to run RC through the IO board, I'm using external RC commands for control. I'm looking to utilize the PWM outputs on the board to control a servo for a dropper mechanism. I made the change and am commanding the start of the voxl2_io driver successfully. As of now I am still unable to drive a servo through the QGC actuators tab, all the correct parameters have been loaded.

                    48787adc-3ad4-4e8c-bd36-4c6a9dc1b909-image.png

                    Hello @Jeremy-Frederick
                    Do you remember how you made that change? I can't find a way to change the port
                    f3e4affb-4163-409c-a08f-674b8ffc1314-imagen.png

                    Eric KatzfeyE 1 Reply Last reply Reply Quote 0
                    • Eric KatzfeyE
                      Eric Katzfey ModalAI Team @valvarez
                      last edited by

                      @valvarez It's the -p option as shown in the screenshot above.

                      V 1 Reply Last reply Reply Quote 0
                      • V
                        valvarez @Eric Katzfey
                        last edited by valvarez

                        @Eric-Katzfey Replaced it with -p 7
                        430bfa5e-1177-4ab2-88eb-5555fc756746-imagen.png

                        V 1 Reply Last reply Reply Quote 0
                        • V
                          valvarez @valvarez
                          last edited by

                          @valvarez UPDATE: I took another IOBoard and connected it to see what happened. To my surprise, it has shown something different. After updating it, I get the same thing as with the other one. The firmware that im using is voxl2_io_firmware_m0065_v1_35_58c82813.bin from https://developer.modalai.com/asset/7

                          WhatsApp Image 2025-02-16 at 21.45.52.jpeg

                          V 1 Reply Last reply Reply Quote 0
                          • V
                            valvarez @valvarez
                            last edited by

                            @valvarez UPDATE 2: With that firmware is working: https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl2-io/-/blob/master/voxl2-io-tools/firmware/modalai_m0065_firmware_v0_2_RC1_f94baad1.bin

                            27eb2d04-f149-4e27-badd-89df9d29e9c5-imagen.png

                            Alex KushleyevA 1 Reply Last reply Reply Quote 0
                            • Alex KushleyevA
                              Alex Kushleyev ModalAI Team @valvarez
                              last edited by Alex Kushleyev

                              @valvarez , yes, this is the expected correct behavior.

                              I believe you were initially using older M0065 firmware (version 1) as well as older PX4 build which was working with that version of M0065 (VOXL2 IO board). However that release had some issues that were fixed and you should not use firmware version 1.

                              The older PX4 version used a different (old) driver for the voxl2-io board, and you can tell that because the debug print was very short and it accepted SW version 1:

                              SLPI: Detected M0065 protocol version. SW: 1, HW: 35
                              

                              If you see that, it means you are using outdated (buggy) software. The latest (stable) firmware is verion 2 and the corresponding PX4 driver will require that version and print out a lot more information about the board and the VOXL2_IO params.

                              Alex

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Powered by NodeBB | Contributors