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

ModalAI Forum

  1. ModalAI Support Forum
  2. VOXL Compute & Autopilot
  3. VOXL 2
  4. Connect the VOXL 2 I/O using the UART port on the 5G modem

Connect the VOXL 2 I/O using the UART port on the 5G modem

Scheduled Pinned Locked Moved VOXL 2
29 Posts 6 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.
  • S SMRazaRizvi

    @xav04 Is there any update on this? I am also trying to connect an RTK GPS using the J9 UART Port on the 5G modem, but no luck still..

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

    @SMRazaRizvi

    the following docs page (https://docs.modalai.com/voxl2-external-flight-controller/#using-m2-5g-modem-addon-board-m0090) shows you how to physically connect a UART device to J9 of M0090 board.

    The corresponding UART port is mapped to CPU (not DSP where PX4 is running), and can be accessed using /dev/ttyHS2

    Your GPS driver would need to run on the CPU.

    if you know the baud rate of your GPS device and the GPS device sends out data by default once it is powered on, you can do a very quick test to see if anything comes into the port:

    #assuming the device uses 115200 baud rate
    stty -F /dev/ttyHS2 115200
    cat /dev/ttyHS2
    

    at this point, if there is data coming into the serial port, you should see some characters printed (ASCII or not depending on the format of incoming data).

    You can also use a tool called screen to check serial port:

    apt-get install screen
    screen /dev/ttyHS2 115200 #assuming 115200 baud rate
    #control-a-k then y to exit screen
    

    If you don't have a device that sends out data by default, you can just do a loopback test (add a jumper between TX and RX on J9 of M0090) and then use screen, if the port is working, you should see in the terminal every letter that you type on the keyboard. If you don't see anything when you type in the screen terminal, then either loopback jumper is not correctly installed or some other issue.

    S 1 Reply Last reply
    0
    • Alex KushleyevA Alex Kushleyev

      @SMRazaRizvi

      the following docs page (https://docs.modalai.com/voxl2-external-flight-controller/#using-m2-5g-modem-addon-board-m0090) shows you how to physically connect a UART device to J9 of M0090 board.

      The corresponding UART port is mapped to CPU (not DSP where PX4 is running), and can be accessed using /dev/ttyHS2

      Your GPS driver would need to run on the CPU.

      if you know the baud rate of your GPS device and the GPS device sends out data by default once it is powered on, you can do a very quick test to see if anything comes into the port:

      #assuming the device uses 115200 baud rate
      stty -F /dev/ttyHS2 115200
      cat /dev/ttyHS2
      

      at this point, if there is data coming into the serial port, you should see some characters printed (ASCII or not depending on the format of incoming data).

      You can also use a tool called screen to check serial port:

      apt-get install screen
      screen /dev/ttyHS2 115200 #assuming 115200 baud rate
      #control-a-k then y to exit screen
      

      If you don't have a device that sends out data by default, you can just do a loopback test (add a jumper between TX and RX on J9 of M0090) and then use screen, if the port is working, you should see in the terminal every letter that you type on the keyboard. If you don't see anything when you type in the screen terminal, then either loopback jumper is not correctly installed or some other issue.

      S Offline
      S Offline
      SMRazaRizvi
      Regular
      wrote on last edited by
      #11

      @Alex-Kushleyev Thank you so much Alex!
      I can see data coming in on the port using screen.

      Now, how can I ask the PX4 to use this GPS data?

      Alex KushleyevA Eric KatzfeyE 2 Replies Last reply
      0
      • S SMRazaRizvi

        @Alex-Kushleyev Thank you so much Alex!
        I can see data coming in on the port using screen.

        Now, how can I ask the PX4 to use this GPS data?

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

        @SMRazaRizvi ,

        On VOXL2, the majority of PX4 software is running on the DSP, so the GPS driver is set up to run on DSP and access the UART ports available to the DSP only.

        Have you considered using our suggested configuration described here https://docs.modalai.com/voxl2-guides-onboard-offboard-sensors/#external-gps-mag--gnss ?

        I will double check, but I do not think that we support running the GPS driver for PX4 on CPU.

        1 Reply Last reply
        0
        • S SMRazaRizvi

          @Alex-Kushleyev Thank you so much Alex!
          I can see data coming in on the port using screen.

          Now, how can I ask the PX4 to use this GPS data?

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

          @SMRazaRizvi Yes, you can run GPS driver on the apps processor for px4. Take a look at the file /usr/bin/voxl-px4-start. You can see in that file (a bash script) where the gps start command is issued. You can see that if the board is detected to be an RB5 (M0052) it will use gps start -d /dev/ttyHS2 to start the driver on the apps side and not the DSP side. So you will have to modify that file.

          1 Reply Last reply
          1
          • S Offline
            S Offline
            SMRazaRizvi
            Regular
            wrote on last edited by
            #14

            Thanks @Alex-Kushleyev and @Eric-Katzfey

            To avoid the complexity, I've now connected my RTK-GPS to the configuration described here: https://docs.modalai.com/voxl2-guides-onboard-offboard-sensors/#external-gps-mag--gnss

            I'm getting the coordinate position and I am now in the process of setting the correct parameters to be set for the new GPS.

            To confirm, I only have to adjust PX4 parameters, right?

            Eric KatzfeyE 1 Reply Last reply
            0
            • S SMRazaRizvi

              Thanks @Alex-Kushleyev and @Eric-Katzfey

              To avoid the complexity, I've now connected my RTK-GPS to the configuration described here: https://docs.modalai.com/voxl2-guides-onboard-offboard-sensors/#external-gps-mag--gnss

              I'm getting the coordinate position and I am now in the process of setting the correct parameters to be set for the new GPS.

              To confirm, I only have to adjust PX4 parameters, right?

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

              @SMRazaRizvi We have not integrated an RTK GPS receiver before so cannot comment on the steps needed to get it working properly. Perhaps the manufacturer of the RTK GPS unit can provide some guidance on how to use it with PX4? Or the PX4 community? But if you are seeing valid data from the unit then at least the hardware seems to be connected properly.

              S V 2 Replies Last reply
              0
              • Eric KatzfeyE Eric Katzfey

                @SMRazaRizvi We have not integrated an RTK GPS receiver before so cannot comment on the steps needed to get it working properly. Perhaps the manufacturer of the RTK GPS unit can provide some guidance on how to use it with PX4? Or the PX4 community? But if you are seeing valid data from the unit then at least the hardware seems to be connected properly.

                S Offline
                S Offline
                SMRazaRizvi
                Regular
                wrote on last edited by
                #16

                @Eric-Katzfey I see.

                Actually connecting my RTK-GPS to the configuration described here: https://docs.modalai.com/voxl2-guides-onboard-offboard-sensors/#external-gps-mag--gnss was not giving me RTK corrections so I am now using the J9 connector on the 5G modem, and that works fine.

                But another problem that I am facing is Compass Sensor 0 missing.
                Do you think there's some setting of the default compass that was being picked up by PX4 with the M8N GPS that came with the drone? Where can I configure the compass?

                Alex KushleyevA 1 Reply Last reply
                0
                • S SMRazaRizvi

                  @Eric-Katzfey I see.

                  Actually connecting my RTK-GPS to the configuration described here: https://docs.modalai.com/voxl2-guides-onboard-offboard-sensors/#external-gps-mag--gnss was not giving me RTK corrections so I am now using the J9 connector on the 5G modem, and that works fine.

                  But another problem that I am facing is Compass Sensor 0 missing.
                  Do you think there's some setting of the default compass that was being picked up by PX4 with the M8N GPS that came with the drone? Where can I configure the compass?

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

                  @SMRazaRizvi ,

                  compass driver is started inside the voxl-px4 start-up script : /usr/bin/voxl-px4-start

                  # Auto detect the magnetometer. If one or both of these devices
                  # are not connected it will fail but not cause any harm.
                  /bin/echo "Looking for qmc5883l magnetometer"
                  qshell qmc5883l start -R 10 -X -b 1
                  /bin/echo "Looking for ist8310 magnetometer"
                  qshell ist8310 start -R 10 -X -b 1
                  

                  please note that both of these drivers are expecting the compass to be connected to the DSP i2c ports. We currently don't have compass driver that can run on the cpu side (unlike GPS). However, you could potentially splice the connection for GND, SDA, SCL and connect the i2c bus to J19 on VOXL2, so that you can use the DSP driver for the compass.. Is that an option for you?

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

                    @SMRazaRizvi ,

                    compass driver is started inside the voxl-px4 start-up script : /usr/bin/voxl-px4-start

                    # Auto detect the magnetometer. If one or both of these devices
                    # are not connected it will fail but not cause any harm.
                    /bin/echo "Looking for qmc5883l magnetometer"
                    qshell qmc5883l start -R 10 -X -b 1
                    /bin/echo "Looking for ist8310 magnetometer"
                    qshell ist8310 start -R 10 -X -b 1
                    

                    please note that both of these drivers are expecting the compass to be connected to the DSP i2c ports. We currently don't have compass driver that can run on the cpu side (unlike GPS). However, you could potentially splice the connection for GND, SDA, SCL and connect the i2c bus to J19 on VOXL2, so that you can use the DSP driver for the compass.. Is that an option for you?

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

                    Regarding the RTK corrections not working while GPS is connected to the DSP, I am assuming you have an RTK service that downloads the data from internet and sends a mavlink message with the corrections. That mavlink message needs to be consumed by the gps driver and rtk corrections forwarded to the GPS receiver via UART. If this is not happening, then perhaps the mavlink message never gets to the GPS driver inside the DSP, potentially being filtered out somewhere (mavlink manager?). I don't have deep enough knowledge there, maybe others can comment.

                    S 1 Reply Last reply
                    0
                    • Alex KushleyevA Alex Kushleyev

                      Regarding the RTK corrections not working while GPS is connected to the DSP, I am assuming you have an RTK service that downloads the data from internet and sends a mavlink message with the corrections. That mavlink message needs to be consumed by the gps driver and rtk corrections forwarded to the GPS receiver via UART. If this is not happening, then perhaps the mavlink message never gets to the GPS driver inside the DSP, potentially being filtered out somewhere (mavlink manager?). I don't have deep enough knowledge there, maybe others can comment.

                      S Offline
                      S Offline
                      SMRazaRizvi
                      Regular
                      wrote on last edited by
                      #19

                      @Alex-Kushleyev But the RTK corrections come in when I connect the RTK to the 5G modem over J9. What do you think makes a difference here?

                      Alex KushleyevA 1 Reply Last reply
                      0
                      • S SMRazaRizvi

                        @Alex-Kushleyev But the RTK corrections come in when I connect the RTK to the 5G modem over J9. What do you think makes a difference here?

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

                        @SMRazaRizvi When you connect the GPS to J9, you start the GPS driver on the cpu side, so there is probably nothing that filters out the mavlink messages with corrections between the rtk mavlink service and your gps driver.

                        When starting GPS driver on the DSP, there may be a filter somewhere that prevents the rtk corrections mavlink message from reaching the DSP.

                        That is my guess

                        S 1 Reply Last reply
                        0
                        • Alex KushleyevA Alex Kushleyev

                          @SMRazaRizvi When you connect the GPS to J9, you start the GPS driver on the cpu side, so there is probably nothing that filters out the mavlink messages with corrections between the rtk mavlink service and your gps driver.

                          When starting GPS driver on the DSP, there may be a filter somewhere that prevents the rtk corrections mavlink message from reaching the DSP.

                          That is my guess

                          S Offline
                          S Offline
                          SMRazaRizvi
                          Regular
                          wrote on last edited by
                          #21

                          @Alex-Kushleyev I see.
                          I'll try to splice the connection for GND, SDA, and SCL and connect them to the J19 on VOXL2.

                          In this case, should the GND, SDA, and SCL pins be connected to both the J9 on the 5G modem and the J19, or just to the J19?

                          Alex KushleyevA 1 Reply Last reply
                          0
                          • S SMRazaRizvi

                            @Alex-Kushleyev I see.
                            I'll try to splice the connection for GND, SDA, and SCL and connect them to the J19 on VOXL2.

                            In this case, should the GND, SDA, and SCL pins be connected to both the J9 on the 5G modem and the J19, or just to the J19?

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

                            @SMRazaRizvi just J19 for gnd, sda and scl.

                            Then you still have gnd, 3.3V, rx, tx going to GPS.

                            S 1 Reply Last reply
                            0
                            • Alex KushleyevA Alex Kushleyev

                              @SMRazaRizvi just J19 for gnd, sda and scl.

                              Then you still have gnd, 3.3V, rx, tx going to GPS.

                              S Offline
                              S Offline
                              SMRazaRizvi
                              Regular
                              wrote on last edited by
                              #23

                              @Alex-Kushleyev Works like a magic!!
                              Thank you so much 🙂

                              Alex KushleyevA 1 Reply Last reply
                              0
                              • S SMRazaRizvi

                                @Alex-Kushleyev Works like a magic!!
                                Thank you so much 🙂

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

                                @SMRazaRizvi awesome..

                                I want to look into why running the GPS driver on the DSP did not result in RTK corrections getting through.. This would simplify your setup.

                                Can you please help me by telling me the topic name that is published by the RTK (rtcm) publishing app? I think it is just not going through to the DSP (being filtered out) for some reason. Also, just curious what app are you using to publish the mavlink messages with RTK (rtcm) corrections?

                                Alex

                                S 1 Reply Last reply
                                0
                                • Alex KushleyevA Alex Kushleyev

                                  @SMRazaRizvi awesome..

                                  I want to look into why running the GPS driver on the DSP did not result in RTK corrections getting through.. This would simplify your setup.

                                  Can you please help me by telling me the topic name that is published by the RTK (rtcm) publishing app? I think it is just not going through to the DSP (being filtered out) for some reason. Also, just curious what app are you using to publish the mavlink messages with RTK (rtcm) corrections?

                                  Alex

                                  S Offline
                                  S Offline
                                  SMRazaRizvi
                                  Regular
                                  wrote on last edited by
                                  #25

                                  @Alex-Kushleyev Sure.

                                  But currently, I've crashed my drone after it suddenly flipped 180 roll, and crashed on the ground while I was flying.

                                  For some Here's the log:

                                  Link Preview Image
                                  Flight Review

                                  favicon

                                  (review.px4.io)

                                  Can you see what's the issue here?

                                  Alex KushleyevA 1 Reply Last reply
                                  0
                                  • S SMRazaRizvi

                                    @Alex-Kushleyev Sure.

                                    But currently, I've crashed my drone after it suddenly flipped 180 roll, and crashed on the ground while I was flying.

                                    For some Here's the log:

                                    Link Preview Image
                                    Flight Review

                                    favicon

                                    (review.px4.io)

                                    Can you see what's the issue here?

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

                                    @SMRazaRizvi ,

                                    I took a quick look, at the very end it looks like motor 2 (green) was commanded zero output

                                    2303060f-0b32-4e8a-84a1-16c06389ebeb-image.png

                                    If the PWM range on VOXL2_IO is not calibrated properly, if the mixer is outputting zero, it could result in VOXL2_IO commanding low enough PWM to motor that can cause it to stop.

                                    Can you please let me know if your motors are spinning right after you arm the vehicle (but before you raise the thrust), or they spin up only after you arm AND then raise the throttle stick?

                                    S 1 Reply Last reply
                                    0
                                    • Alex KushleyevA Alex Kushleyev

                                      @SMRazaRizvi ,

                                      I took a quick look, at the very end it looks like motor 2 (green) was commanded zero output

                                      2303060f-0b32-4e8a-84a1-16c06389ebeb-image.png

                                      If the PWM range on VOXL2_IO is not calibrated properly, if the mixer is outputting zero, it could result in VOXL2_IO commanding low enough PWM to motor that can cause it to stop.

                                      Can you please let me know if your motors are spinning right after you arm the vehicle (but before you raise the thrust), or they spin up only after you arm AND then raise the throttle stick?

                                      S Offline
                                      S Offline
                                      SMRazaRizvi
                                      Regular
                                      wrote on last edited by
                                      #27

                                      @Alex-Kushleyev The motors were all working fine since the start. I flew the drone for a while actually and then it suddenly crashed.

                                      Alex KushleyevA 1 Reply Last reply
                                      0
                                      • S SMRazaRizvi

                                        @Alex-Kushleyev The motors were all working fine since the start. I flew the drone for a while actually and then it suddenly crashed.

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

                                        @SMRazaRizvi , As I mentioned in my previous post, the plot shows that for some reason there was a command for Motor 2 to go to zero (which would convert to the minimum PWM value of 1000). Do you remember if you have performed some aggressive maneuver at the end, which would trigger this?

                                        Also, can you please perform acuator test using GCS and figure out at which actuator output value, your motors actually spin up?

                                        1 Reply Last reply
                                        0
                                        • Eric KatzfeyE Eric Katzfey

                                          @SMRazaRizvi We have not integrated an RTK GPS receiver before so cannot comment on the steps needed to get it working properly. Perhaps the manufacturer of the RTK GPS unit can provide some guidance on how to use it with PX4? Or the PX4 community? But if you are seeing valid data from the unit then at least the hardware seems to be connected properly.

                                          V Offline
                                          V Offline
                                          valvarez
                                          Contributor
                                          wrote on last edited by valvarez
                                          #29

                                          @Eric-Katzfey In my case I am receiving data as @Alex-Kushleyev explains with

                                          stty -F /dev/ttyHS2 115200
                                          cat /dev/ttyHS2
                                          

                                          e1b7860f-60b8-4441-a7f9-c4147a44b66c-image.png

                                          and in the script in /usr/bin/voxl-px4-start I see that section @Eric-Katzfey
                                          6bd3d8f4-b89b-4fa6-ad40-5c58260d333b-image.png

                                          but when it comes to running voxl-px4 it autodetects with different bauds to the GPS. Is it necessary to change it somewhere else?
                                          e7941c5d-6d4b-4a0c-b5ab-a9e4130ef09b-image.png

                                          I have no problems with the MAG. It detects it perfectly.
                                          I have the RX and TX of the GPS connected exclusively to the J9 of the 5G, and the rest, to the J19.

                                          I also have the RX and TX of the IO Board connected to the RX and TX of the J19.
                                          I have also tried disconnecting the IO Board and leaving only the GPS on the J9.

                                          SOLVED: I change in the file voxl-px4-start from M0052 to M0054. Thanks!!!

                                          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