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. MAVLink custom port to GCS

MAVLink custom port to GCS

Scheduled Pinned Locked Moved Ask your questions right here!
4 Posts 3 Posters 1.3k Views 1 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.
  • D Offline
    D Offline
    dan64
    wrote on last edited by
    #1

    I'm trying to send telemetry data from multiple VOXL 2 drones to a single GCS IP.

    Is there a way to set a custom UDP port for secondary_static_gcs_ip (other than 14550) on each individual VOXL 2 drone so I can guarantee which drone is connecting? Essentially something like:

    • drone 1 (MAV_SYS_ID = 1): drone.connect(system_address="udp://:14551")
    • drone 2 (MAV_SYS_ID = 2): drone.connect(system_address="udp://:14552")
    • drone 3 (MAV_SYS_ID = 3): drone.connect(system_address="udp://:14553")
    • etc.

    I'm able to view multiple unique drones in QGroundControl, uniquely identified by setting a unique MAV_SYS_ID on each drone first. However, I'm trying to connect using mavsdk now instead, but I haven't had any luck using the sysid arg, so it's always a random gamble on which drone actually connects when I try system address of udp://:14550.

    Eric KatzfeyE 1 Reply Last reply
    0
    • D dan64

      I'm trying to send telemetry data from multiple VOXL 2 drones to a single GCS IP.

      Is there a way to set a custom UDP port for secondary_static_gcs_ip (other than 14550) on each individual VOXL 2 drone so I can guarantee which drone is connecting? Essentially something like:

      • drone 1 (MAV_SYS_ID = 1): drone.connect(system_address="udp://:14551")
      • drone 2 (MAV_SYS_ID = 2): drone.connect(system_address="udp://:14552")
      • drone 3 (MAV_SYS_ID = 3): drone.connect(system_address="udp://:14553")
      • etc.

      I'm able to view multiple unique drones in QGroundControl, uniquely identified by setting a unique MAV_SYS_ID on each drone first. However, I'm trying to connect using mavsdk now instead, but I haven't had any luck using the sysid arg, so it's always a random gamble on which drone actually connects when I try system address of udp://:14550.

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

      @dan64 That port number is hardcoded in voxl-mavlink-server. You can modify that source code and add a configurable GCS port number to do what you want. But QGroundControl typically only opens one port and listens for connections only on that one port. How are you making it open multiple different ports? https://gitlab.com/voxl-public/voxl-sdk/services/voxl-mavlink-server/-/blob/master/src/gcs_io.c?ref_type=heads#L59

      D 1 Reply Last reply
      0
      • Eric KatzfeyE Eric Katzfey

        @dan64 That port number is hardcoded in voxl-mavlink-server. You can modify that source code and add a configurable GCS port number to do what you want. But QGroundControl typically only opens one port and listens for connections only on that one port. How are you making it open multiple different ports? https://gitlab.com/voxl-public/voxl-sdk/services/voxl-mavlink-server/-/blob/master/src/gcs_io.c?ref_type=heads#L59

        D Offline
        D Offline
        dan64
        wrote on last edited by
        #3

        @Eric-Katzfey thanks for the quick reply. Since 14550 is hard-coded into voxl-mavlink-server service, that answers my question re: customizing this port.

        For additional context, I'm interested in replicating QGC's behavior of connecting to multiple UAVs simultaneously, each identified by their MAV_SYS_ID. As an example:

        1. Set MAV_SYS_ID to "42" on one VOXL
        2. Leave MAV_SYS_ID as "1" on another VOXL
        3. Set secondary_static_gcs_ip to your GCS IP on both (/etc/modalai/voxl-mavlink-server.conf)
        4. QGC automatically connects to both and shows "Vehicle 42" and "Vehicle 1" in the dropdown in the top menu bar

        I'm able to connect to my UAV using mavsdk at udp://:14550 but I can't tell which one connects since both are sending telemetry to my Mac's 14550.

        Since posting this, I discovered https://github.com/mavlink-router/mavlink-router which may be what I'm looking for, but I'm still trying to get it working with my docker-compose setup. I was just wondering if there was a simpler configuration onboard the VOXL that I could easily change.

        Aaron PorterA 1 Reply Last reply
        0
        • D dan64

          @Eric-Katzfey thanks for the quick reply. Since 14550 is hard-coded into voxl-mavlink-server service, that answers my question re: customizing this port.

          For additional context, I'm interested in replicating QGC's behavior of connecting to multiple UAVs simultaneously, each identified by their MAV_SYS_ID. As an example:

          1. Set MAV_SYS_ID to "42" on one VOXL
          2. Leave MAV_SYS_ID as "1" on another VOXL
          3. Set secondary_static_gcs_ip to your GCS IP on both (/etc/modalai/voxl-mavlink-server.conf)
          4. QGC automatically connects to both and shows "Vehicle 42" and "Vehicle 1" in the dropdown in the top menu bar

          I'm able to connect to my UAV using mavsdk at udp://:14550 but I can't tell which one connects since both are sending telemetry to my Mac's 14550.

          Since posting this, I discovered https://github.com/mavlink-router/mavlink-router which may be what I'm looking for, but I'm still trying to get it working with my docker-compose setup. I was just wondering if there was a simpler configuration onboard the VOXL that I could easily change.

          Aaron PorterA Offline
          Aaron PorterA Offline
          Aaron Porter
          Contributor
          wrote on last edited by
          #4

          @dan64 Unsure if you have resolved this issue, but I am going to add some more information to anyone that stumbles across this. There was a bug in the voxl-mavlink-server setting and sending all System ID numbers to 1. The deb file below should solve this issue where the MAV_SYS_ID can be changed an reflected on the VOXL2.

          404 Not Found

          favicon

          (voxl-packages.modalai.com)

          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