Mavlink over TBS Crossfire not working


Every time I try to connect to my multirotor using Mavlink, it gets stuck here.

Have you been following these instructions: https://www.team-blacksheep.com/tbs-crossfire-mavlink-over-wifi.pdf

I know that document says port 8888, but in a recent revision of the TBS firmware it switched to port 5760.

What have you set your serial port to? What kind of flight controller are you using? What versions of the firmware are you using? (CRSF, Ardupilot, etc)

To help you better please tell us how you’ve got it set up, and provide a .param file.

Here’s my .param file. I am currently running a matek F405 SE with arducopter 4.1.3, and a crossfire TX Lite running firmware 6.13. The receiver I have is a TBS Sixty9 running on serial2. The Mavlink connection is wired over serial1.
1.param (18.3 KB)

http://www.mateksys.com/?portfolio=f405-se#tab-id-6

According to Matek the CRSF receiver should be on serial1 (TX/RX1).

Mavlink can be on any other available UART. I’m confused by Mateks documents because they don’t identify SERIAL2. TX2/RX2 is SERIAL7. I see you have both serial2 and serial7 set to RC (23). I remember something about having multiple ports set to 23 will cause the FC to go to the first instance before the next. This might be causing confusion.

So try:

  • Move CRSF to SERIAL1.
  • SERIAL1_PROTOCOL,23
  • Move Mavlink to another UART such as TX/RX2, Serial7. (or whatever port you want to use, besides 1)
  • SERIAL7_PROTOCOL,2
  • SERIAL2_PROTOCOL,-1

I’ve swapped CRSF and Mavlink, however, neither the CRSF nor the Mavlink are working now. (The CRSF as a control input works fine however the telemetry from the CRSF isn’t working.)

In your first screen shot the RC inputs were blank so I (wrongfully) assumed the CRSF also wasn’t working. I guess the easy answer then is to move the RC link back to where you had it and we’ll focus on the mavlink, in spite of the settings provided by Matek.

What are your CRSF settings? you need 150hz for data link. Are you connecting directly to the CRSF module by wifi?

I have this set up on a Matek F405-std. I’ll look up all my settings tonight after work.

My CRSF module has it’s RF set to dynamic, and it’s connected via wifi to my home router. I am trying to connect to it through TCP, however, it gets stuck at getting params. For some reason, mission planner is connecting to it as an “IMU” and not a quadrotor.

The link isn’t fantastic at best.

I’ve been using UDP link, port 5760, over direct wifi from the Micro TXv2 to my iPad. I use QGC for this link. While I prefer to use MP, it’s never worked well for me on this connection. The parameter download is always slow, but it’s much better than it was a few revisions ago. (read: was useless, is now functional for a recreational project but I’d never use this telemetry link for a serious project)

Here’s a screen shot of the serial port connections on an F405-std:

Thanks for the screenshot, I finally got my Mavlink working after copying what you had for the baudrates, and by setting the RSSI_TYPE. (I have put RCIN on Serial1, and Mavlink on Serial7, and the Mavlink works however the CRSF doesn’t seem to be working).

1 Like

Are you using Yaapu telemetry? Do you have the receiver setup for CRSF output or Sbus?

Any change there’s wire damage from moving them around? Double check you have the TX/RX wires correct (TX → RX)

Can you post your current param file?

The CRSF as a control input appears to be working, however, Yaapu telemetry isn’t working. I also had this same issue beforehand, but I remember changing some parameter in mission planner that fixed it. I will try my best to find what that parameter was.
nazgul 5 ardupilot backup 2.param (18.4 KB)

Remember to activate CRSF telemetry in the Yaapu menu on your radio.

And if you’re on Edge TX you need the 1.9.6 dev version.

I have already enabled CRSF telemetry in Yaapu, and Yaapu was working fine up until I changed RCIN from serial7 to serial1.

To be clear, Mavlink telemetry and RC are both working?

For troubleshooting, try turning off RSSI (RSSI_TYPE,0) and see if that changes anything. You might need to power cycle everything afterwards.

The Mavlink Telemetry and RC are both working, and nothing really appears to be affected by turning RSSI_TYPE to 0.

If you go to the telemetry page on the radio can you detect any sensors?

When I’m on the telemetry page, I can see 22 sensors, not including FM which for some reason is blanked out.

I just checked mine. I’m getting 20+ sensors as well. It might be a clue that FM is blanked out, but I’m not smart enough to know what it means.

I’ve been going over this post to see if there’s anything else obvious.

According to the file you’ve posted, the RC_options are correct. You should be on the correct TX/RX, especially if RC link is working. You say it was working, so CRSF option must be selected in Yaapu menu. (unless you’ve created a new model or new telemetry page? This can reset the CRSF setting for the script) I don’t know what else to suggest. Move the RC link to another UART and try that? RX/TX4/Serial4?

Sorry man, if I think of anything else I’ll let you know.

1 Like

Small update, the parameter I was talking about earlier is BRD_ALT_CONFIG. What do you have yours set to?

BRD_ALT_CONFIG,0

I had to double check because I didn’t recall changing it. Looks like mine is still default.