Switching telemetry port to Serial0


I am using cube black and I wanted to use serial-0 because only serial 0 seems to be supporting my RFD900x radio for baudrates higher than 115200. I attached USB-TTL converter to micro usb port and conected its TX to Radio RX and vice versa. But it did not work. Is there something that I am mising? Baudrate parameters do match, and I also connected with the same configuration on TELEM1.

There is one point that might be a problem from my point of view. I tested without battery supply but I connected my pc to TELEM1 port via TTL converter so that cube is powered on from here mainly. But there was a problem, my TTL converter on micro usb port did not get powered on. Once I connected my pc to USB port of cube which labeled as USB above ADC port via micro usb cable attached to buzzer cable, TTL on micro usb got powered(Is there a some sort of power isolation on micro usb port?). I unplugged my pc from USB port and interestingly TTL converter on micro usb did not lose power !?!. Unfortunately there was still no sign of communication again.

Is there a relationship between USB port and micro USB port that I can not figure out?
ref: https://ardupilot.org/plane/docs/common-thecube-overview.html

Is there a reason why you want to use Serial 0? I just connected mine to telemetry 2.

Also, why you want to use high serial baud rate? The data sent over RFD9000 using MAVLINK is fairly small packets 115000 baud rate you are fine as the recommended speed is only 5700

Why are you using a USB-TTL converter to micro USB port on the Cube? USB is not a TTL device.

On Pixhawk 2.4.8 “or” Cube the USB port is the same as the USB port marked as USB on top of the Pixhawk.

Hey @UAVSkies, thank you for your answer. First, the port that support higher baudrate settings for RFD900x is Serial 0.
2- Since there are number of nodes in the network, I am worried about the bandwidth limitations will come up because all nodes are broadcasting and I don’t want to miss a single message. Currently, I am trying to boost the performance on RF layer in order not to have packet loss (you might remember in another post). But, it will have limitations on serial port as well, as the number of nodes increase. So 57600 bauds may be fine with one to one connections. Is there way to estimate the needed bauds for N number of nodes broadcasting M number of messages with varying lengths? This might be hard without tests, I guess. Thus, If I come to a point that throughtput does not match the expected results, I must be sure about serial port bandwidth.
3- How can I connect RFD900 to Serial0 without converter then?
4- So micro USB on the side is the same as the port marked USB on top of the Pixhawk. Thank you

Ok lets discuss one thing at time.

Why you are saying serial 0 can only supports higher baud rate? Any serial port can be set for any baud rate. the only difference is one of them provides more current. Also, notice below Telemetry 1 should not be used for RFDmodem.

  • The micro USB port (aka Serial0) is used to connect to the ground station using a USB cable. This should not be connected in flight because the flight code assumes that if it is receiving power through this port that it is on the bench and some failsafes (i.e. battery failsafe) are disabled.
  • Telem1 (aka Serial1) is for MAVLink communication and supports flow control. This should be used especially for high power devices (up to 1 amp) But NOT the RFD900 telemetry radio
  • Telem2 (aka Serial2) is for MAVLink communication and supports flow control.
  • GPS (aka Serial3) is for connecting a GPS
  • Serial 4/5 contains two serial connections on a single port. Serial4 is normally used for a second GPS. Serial5 is a debug connection.
  1. Baudrate options are indicated in multipoint manual of RFD900x. See below,

    I see that pixhawk baudrates higher than 115200 are different than RFD900x. Only 460 do match and it is on Serial 0. Are there something that I am missing?

  2. I did not know that micro USB is implemented that way. I appreciate for such valuable information. But, when I connect RFD900x to Serial0, FC will not be receiving power from that port during flight. I am supplying RFD900x from seperate power supply though. Did you mean anything sourcing that port, when saying “receiving power through this port”? So only RX/TX will put Pixhawk situation to disable failsafes.

  3. Why Telem1 is not supported for RFD900x? I did not have any problem so far. I am not powering RFD900x from that port. Only RX/TX and RTS/CTS. When I want to power RFD900x from that port, I lower the TX power of RFD900x.

RFD900x is fine on Telem1 for mavlink but note that when powering the RFD900 from the Pixhawk it is recommended to limit the power output to 500mW or less (setting of 27). If full power (setting of 30) use an external BEC.
How to power a RFD900 with external BEC

1 Like
  1. 115200 is more than sufficient. Why are you so concerned about baud rate? the main concern is packet loss in RF communication not the baud rate. even if you can set the baud rate to 20000 trillion rate, means nothing if the RF side can not keep up with it. Right make sense or not? There is no buffering, forward correction techniques used inside RFD900 modems (not my knowledge and it relies i=on MAVlInk error correction techniques)

  2. As long as Flight controller is not providing power, you can use any port. That comment is for those who don’t understand electronics and want to hook up high current devices directly to Pixhawk and then the Pixhawk gets fried.

  3. See answer 2

MAVLink will take care of loss packets.

I understand your point. I am already trying to get better results on RF side. I was just concerning about serial as well, just to make sure I will be OK so I will only worry about RF side. That was my point of view. 115200 means nearly 14Kbytes allowable traffic in a second. I will try to measure the amount of dataflow in a second from one vehicle then metrics will say the last word :smiley: But I started to think it will be OK for 115200 in my case. Thank you for your intention.

If RF side come to its limits, would you consider changing stream rates and maybe removing unnecessary mesages from request list?

MAVLink will take care of loss packets.

Did you mean it will drop the packet if CRC does not correct?

if you really want to get to the nitty gritty and want to take this whole design apart, this is what you will have to do:

  1. take one serial device signal and split it into two.
  2. Use RFD Modem to send receive packets.
  3. 2nd a direct cable connection.
  4. Measure the difference.
  5. Start to increase baud rates and then you will see at what point Rf becomes the problem

What are you building young man? :slight_smile:

Post some pics of your device, quad, plane or whatever…I am visual type of person.

I am not an expert into MAVLINK, but I just learned that MAVLINK does have forward error correction built into it. You will have to take a deeper dive into it.

I am hoping you are not planning to fly your drone, plane using MAVLINK over RFD9000 modems…

  1. take one serial device signal and split it into two.
  2. Use RFD Modem to send receive packets.
  3. 2nd a direct cable connection.
  4. Measure the difference.
  5. Start to increase baud rates and then you will see at what point Rf becomes the problem

I have got the point, thank you!
I am building a system of several fixed-wings doing missions at the same time. Unfortunately, I don’t have the vehicles at the moment because I am at home :slight_smile:

I am hoping you are not planning to fly your drone, plane using MAVLINK over RFD9000 modems…

What is wrong with MAVLink over RFD900? ArduPilot is one to most popular open source project and it uses MAVLink as a data protocol. Is there a typo ‘not’ in your sentence?

I mean your vehicles will have a separate receiver for Pixhawk (Like Futaba, taranis, Dragon Link etc.) or are you planning to use RFD900 solution to control the vehciles as well besides telemetry?

Ha, yes RFD900 is only for telemetry.