How to configure serial port for MAVLink cameras, gimbals, etc

I’m trying to connect a MAVLink component to a pixhawk cube and get it’s messages passed through so that it shows up in a GCS.

This is my 2nd attempt at this; I tried already few months back and failed. Now I fail again, so I thought I may ask.

In detail:

I do have a MAVLink component with integrated gimbal and camera, i.e. it behaves like two MAVLink components, and wish to connect it to TELEM2 of a cube/pixhwak2. Then the cube is loaded with ArduPilot it all works fine. I have now flashed PX4 latest stable v1.10.0 and use QGC latest stable v3.5.6 (master of ca 2 weeks ago).

I’ve set the airframe, and did the sensor calibrations, and have set

MAV_1_FORWARD = Enabled
MAV_1_MODE = Custom
MAV_1_RATE = 100000 B/s
MAV_PROTO_VER = Always use version2
SER_TEL2_BAUD = 115200 8N1

but otherwise the params are at their default.

When I connect a USB-TTL adapter to TELEM2 I can see the cube emitting heartbeats. I also can connect via TELEM2 to the cube with MissionPlanner.

HOWEVER: I DO NOT see the MAVLink components GIMBAL1 and CAMERA1 on the cube’s USB port !!! Not even their heartbeats, and accordingly both MissionPlanner and QGC don’t realize the presence of the components when connected to the cube/PX4.

To me it looks as if their MAVLink messages including their heartbeats are not routed/forwarded to the USB, but I could not find/identify any parameter which would allow me to enable that.

I’m obviously doing something simple wrong. Any help would be much appreciated.


when I in addition connect a USB-TTL adapter to the TELEM1 port, when I do get the component MAVLink messages routed/forwarded. I can see that in a terminal, and when I use MissionPlanner and connect to that USB-TTL adapter then it sees both CAMERA1 and GIMBAL1 components, and all works fine.

If I however use QGroundControl it won’t connect to the cube via the TELEM1 port, constantly telling “Waiting for vehicle”

So the status seems to be:

  • MAVLink messages are not routed/forwarded to the USB port of the cube.
  • QGroundControl connects with the cube via its USB port, but not via the TELEM1 port.

Doesn’t make sense to me.

What am I doing wrong, what is the solution here?

Thx, Olli

I would still be interested to know how to do this :slight_smile: