Which wireless protocol to use for real-time 9-DOF BNO055 output over 500m


I'm working on a computer-controlled kite system. I am not a great electronics expert, I can do some soldering, program a little, have some experience with Arduino and I am rather handy. The idea is to measure the movement and the location of the kite in the air with a 9-DOF BNO055. This data will be sent in real-time to the receiver on the ground and will be used to control the winches to steer the kite.
The sensor in the kite will be controlled by an Arduino controller and works on battery power. The kite lines will be between 50m and 150m but later this could become longer to even 500m.
So this means:
-low power
-real-time data (as far as I could find the data output is 100HZ for most of the DOF's)
-relative long distance

my question: which wireless protocol is best be used for this and preferably with available hardware on Arduino.
It looks like rf 433 is not fast enough and has no error checking
Lora seems not to be very suitable for realtime transmitting
Wifi uses a lot of power

Kind regards,


These MCU/radio combinations are good for a couple of km, line of sight, with 1/4 wave straight wire antennas.

These are a bit cheaper, and good for at least 500 m in the air.

The BNO055 is an absolute orientation sensor. It will not give you location.

Thanks for the fast reply.
I have no experience with these radio transceivers, found them also together with this Maduino Lora Radio (433M/868M/915M) but thought they were not able to send continuously this amount of realtime data.
Do you have any experience with them for this kind of setup, or do you know of a project using them in this way? Would be nice to see which real-time transmission rate they can get.

I am aware of the fact that the BNO055 doesn't give me a GPS location, my bad. I meant more a calculated location with the sensor data.

What "amount"? Try to make a realistic estimate of how many bytes per second you actually need to send. Then do the research to see how many bytes per second these radios are capable of transmitting. There are plenty of tests on line, for example, the RFM69HCW can transmit at around 30K bytes per second.

Hint: reading the BNO055 at 100 Hz is completely unnecessary for your application.

I meant more a calculated location with the sensor data.

It is not possible to calculate location using data from consumer grade IMUs. See this explanation: Library | CH Robotics and scroll down to "Estimate Velocity and Position"

Interesting read

If the kite moves at 25 mph it moves about 12,5 meter per second. If polling at 100Hz it moves 12cm per poll. In extreme situations the kite moves about more than double even triple this speed. I am not so sure if this is 'completely' unnecessary.

Remember, your devices will be sharing frequencies and bands with hundreds of other users, so will never be allowed to transmit as often as you seem to want.

That's the reason why I am looking for a protocol that allows me to do exactly that, or I have to find another approach how to steer the kite with much less data, but still, I will need real-time data to act upon.

The only way, then is to use licensed business type equipment which will have their own local frequency. Also requires type approved equipment.

Those UHF bands are in general a very poor choice for sending large amounts of data.

Whilst there are UHF LoRa devices that are capable of circa 6,000 bytes a second, in these un-licensed bands your limited to a duty cycle of only 10% or maybe 1% air time, so you cannot shift much data really.

Far better choice is to use the 2.4Ghz radio devices, where the following data outputs are possible on a continuous basis;

SX1280 LoRa at up to 84,000 bytes second.
nRF24L01 at between 25,000 to 200,000 bytes second.

Whether the nRF24L01 will cover the distance required at the 25,000 bytes second rate, I am not sure, maybe.

The SX1280 LoRa device will cover circa 4km, ground to kite, at the 84,000 bytes second rate.

As mentioned, the IMU give no useful information on position or velocity, so this informational tidbit is irrelevant.

You may be disappointed in the performance of the BNO055 as an attitude sensor, as angular orientation errors of 5-10 degrees are commonly reported (I gave up on it years ago). Consider experimenting with one for a bit. You will find that the sensor calibration is quite poor and unstable.

Good luck with your project!

Do you know of a better one which is still affordable?

so instead of dumping all the data to the PC on the ground, calculating everything, and controlling the winches, I could also calculate everything in the sky on the kite and just send back the control commands for the winches. This would drastically minimize the amount of data to send.
but still, there is a need for an accurate location device.