Sending SBUS packets from D1 mini ESP32 to a flight controller

I am all ready to send SBUS packets out from my D1 mini ESP32 to a flight controller.

This may involve me understanding the difference between bit rate and baud rate... maybe?

So I have a question about rate of transmission. I have looked at the ArduPilot codebase and gather that SBUS operates at about 100 Kbps. OK, this seems to make my job pretty simple, since each SBUS packet is precisely 200 bits (25 bytes). If I want to achieve 100 Kbps, I should send packets at a rate of 500 packets/s. Seems quite high... Would it be OK if I dropped this down to 100 packets/s?

Could someone with some SBUS experience chip in with a bit of knowledge here?

The SBUS baudrate of 100.000 has only to do with when you send a 25 byte frame.

In theory you could send one frame once a second as long as when you send it you use 100.000 baud. The receiving end would just be sitting and waiting until it's UART receives something.

Just like your serial monitor. It's waiting until some data is printed, but if it is printed the baudrates need to match.

Don't forget that SBUS is defined as an inverted serial signal.

The baudrate will be 100000. You do not have to worry about other things; you can send those 25 bytes as often as you want.

Thanks guys.

I have just learned it's 8E2, and I'd assumed 8N1 (out of laziness).

Is it correct to say that most modern flight controllers (running Betaflight) can handle an SBUS signal be it inverted or non-inverted?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.