Configure TELEMETRY 2 Port as SBUS servo out

Hell all,

I use the Pixhawk cube SBUS out port to control an IR camera. The problem I got is that now we have to use the mini carrier board and not the standard one. This one is not coming with an SBUS port as the standard one.

I am trying to configure the TELEMETRY 2 Port in the the mini carrier board as SBUS servo out.

I have set:

SERIAL2_PROTOCOL = 15
BRD_SBUS_OUT = 1

The way I wired the port was:

Sbus signal to Telemetry 2 TX
Sbus Ground to Telemetry 2 Ground

I could not make it work yet.

I would really appreciate some help.

Thank you in advance

Have you set SERIAL2_OPTIONS=1?

Yes I did.

Now I cannot make it work even with the big carrier board. We have a custom app with switches on the screen. When I push the buttons on the screen I can see on Mission Planer Servo output channels 1 to 5 go low and high, but I am not able to have the SBUS output to work and I could do it with previous versions of Ardupilot and the big carrier board. I dont know if I am missing any step.

For the big carrier board, to turn on the SBUSo what I did:

BRD_SBUS_OUT = 1

Is there anything else I should do? Is 50 hz the correct frequency?

Thank you in advance.

The frame rate should not impact whether data is sent/received. Faster frame rates provide faster updates to the connected servos, but 50Hz is likely fine unless you’re trying to manage some sort of fast control loop.

Check your wiring. Ensure you have power to the servo(s).

I did.

Im doing exactly the same that I did last time with an older arducopter version.

As I said, the buttons on the screen on our app when pressed make the channels 1-5 to go high or low and that can be seen in the servo output tab.

With earlier arducopter versions, I was able to set

BRD_SBUS_OUT = 1

After that connect a cable from SBUSo To SBUS (RCIN) and see the channels moving in the radio tab, but now I am doing the same and it does not work.

Wait a minute…you’re connecting SBus Out to RCIN?!

That’s incredibly backwards logic, and I think you’re seeing differing behavior because there have been changes to prevent/disallow conflicts between multiple RC sources.

Are you just doing this for testing, or are you actually expecting to fly with this bizarre config?

NO!! :sweat_smile: I did that just for testing, and actually it worked. I just wanted to read the output of the SBUSo port to make sure it was working fine, so i though I could use another flight controller to test, or even plug it in the RCin port of the same cube, and it worked.

I updated the firmware before trying again. Maybe the changes you mentioned in the new firmware are the reason. How could I make it work?

Hello all, I am still stuck with this. I am testing now using a full size carrier board and a cube orange. Last Arducopter version.

BRD_SBUS_OUT = 1
SERIAL2_PROTOCOL = 15
SERIAL2_OPTIONS=1

If I plug the SBUSo port to the RC in (for testing) I can see the channels moving, however when I try to use TELEMETRY2 port I am not getting anything.

Any help? thank you in advance.

Update:

I finally figured it out. I am Posting this just in case that someone else has the same problem.

In the Ardupilot wiki SBus Servos — Copter documentation we can see:

  • For F7/H7 processors an inverter is unnecessary, set [SERIAL2_OPTIONS] bit 1 to “1” (TX invert) if connecting to Serial port 2.

However this is a mistake, you also need the inverter (hardware) to make it work. It wont work just setting [SERIAL2_OPTIONS] bit 1 to “1”