This blog will reiterate some of the points raised in my other XBee specific blogs, but this is written specially from the point of RC, and to a lesser extent, First Person Video [FPV] transmission. The other blogs of relevance are:
Featured image is from Jianan Li’s RC Car + XBee Remote blog.
Many people think about employing XBees as RC controllers, or [FPV] video transmission, for a number of reasons:
- Cheapness when compared to even the cheaper RC tr;ansmitter systems than range in cost from £40 to £400 and beyond);
- Simplicity of use (especially with respect to Series 1);
- They have them to hand;
- Familiarity of an, apparently suitable, radio transmission protocol – they have used these radios before, but they may not be familiar with the RC 2.4GHz band;
- Versatility given by the ability to wire up one’s own designs, possibly in conjunction with an Arduino;
- Customability/Programmabilty, and the option of writing one’s own transmission protocol;
- The very long ranges afforded by the 868/900MHz XBees;
- They simply want to try to use XBees in every aspect of their lives.
XBees are not really suited for remote control, with respect to flying machines or anything that is terribly dependent upon speed of response. This is a shame as the XBee is a great device, but it has a number of downsides when it comes to rapid response applications:
- To begin with, the protocol has too many overheads, for speedy response, although error checking and encryption can be turned off. This means that the latency is too great: 10-20ms for a 2.4GHz RC system vs 120-180 ms for 8/16/32 byte packets on XBee, see What is latency?.
- Secondly duty cycle: unfortunately the 868/900 MHz XBees have a 10% duty cycle, meaning that they can only transmit for 6 minutes every hour. There are ways around this, as discussed in the other XBee blogs, see Using XBee 868 as R/C, but the situation is far from ideal, and/or reliable. See also the lengthy blog Xbee Pro long range made affordable until end of February 2009.
These drawbacks may not be off such great importance for slow moving robots such as [non-racing] cars, quadrapods or hexabots. However, for flying vehicles, safety is a paramount concern and so the fastest response time is required, as well as a dependable communications link that is not going to drop at a random, inopportune moment, i.e. when your drone is over a road, a body of water, or someone’s head.
The reason is that the XBee was not designed for this sort of application, but rather for static mesh networks of sensors reporting upon environmental circumstance.
While it is feasible to build the controls aspect of an RC transmitter, see RC Transmitters – DIY – arduinorc, when it comes to the radio transmission side of things, it is far better, for UAVs, at least, to stick with branded RC transmitters, and their 2.4 GHz modules.
Regarding FPV transmission, the XBee 868/900 would be good for this purpose, and better than Series 1 and Series 2, but, again, the duty cycle would mean that you could only see 6 minutes of video. Also, it is questionable if the video quality would be sufficient.
- Xbee for full remote control
- Where to buy XBee-PRO 868?
- Xbee Pro long range made affordable until end of February 2009
Other relevant links, but not XBee specific,