Making of XBee-pro 868 based r/c controller


I thought to gather few of my experiences while making my own
transmitter / receiver. The project started after I finally moved to 2.4
GHz technology by purchasing Hitec Aurora transmitter. One near crash
later I learned that 2.4 GHz controller and 2.4 GHz video transmitter
don’t play well together. Since here in Finland 2.4 GHz band is just
about the only band available for video without amateur radio license, I
thought to replace Aurora’s transmitter with something different.

The full story can be read here:

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • Thanks Janne got it going now, I did look at the data sheet but sometimes it's even better to see and example from someone who has already been there and done it. That's saved me from putting a can over the antenna.
  • We bought ours directly from Digi via our company, they don't sell 868s to private individuals for some reason. There are suppliers in EU, but their prices are ridiculous. You're gonna have to get creative to get them cheap :)

    One thing that might reduce your range is your power supply - a USB line cannot provide enough power during TX bursts at full power. The RF component could be resetting or otherwise malfunctioning and that's why you get a reduction in range. Another thing to check are your antennas and the environment... there's not much you can do to stabilize your link if you're standing next to a 10 W 868 MHz tower :-)
  • Thank you for the fast reply.

    I definitely range tested them using the highest power settings. The range test was done with the stock program set, not with my RC application.

    Good news that you have succes with the range. Probably my modems are faulty.

    Where can I buy new modems online? (I purchased the existing set on a fair)
  • mmormota, you obviously failed to set those modules to higher power. By default they come set to 0 dBm - that's 1 mW output power. Getting 1 km out of that is pretty damn good actually. You can set them to PL1, 2, 3 or 4 - PL4 being 25 dBm, or 315 mW.

    We're using them right now on a balloon project and have them successfully tested with stock dipole antennas out to 10 km LOS (with RX power of almost -80 dBm, so there's plenty of range left as these modules have RX sensitivity of almost -112 dBm). A 30km test is scheduled for early September.
  • I tried this modems using the evaluation kit. The range was way below the specification, shorter then my Futaba FASST gear. It has problem as close as 1km, clear line of sight.

    Did you range tested the modems? I am curious if my boards are faulty or it's really this short range type.

    Anyway, I wrote some RC control code for it using small PIC devices. The baudrate is pretty slow, so there is an inherent delay according to the frame rate.

    First I just transferred the received values to the servo outputs. Because of the long time to the next sample, the servo movement was jumpy, the servo moved to the value of sample1 and stopped, then to to sample2 etc. It looks and feels terrible, so I wrote a simple smoothing algorithm based on the trend. It was way better, good enough for control a sailplane (but definitely not good for 3d...).

    But finally I dropped the project because of the short range. If you find the range better, I consider buying a set of new and better modems...
  • Note that there are protective intervals on both sides of the "+++" sequence: default settings are 1 second wait (no data sent), "+++", and one another second of waiting.
  • Refer to datasheet on this address:
    Command interface works just like in old modems. String "+++" will get the module to command mode. In command mode use ATPL {0-4} to set the desired power level. Remember to save the setting with ATWR command, otherwise modem reverts back to old setting at next reset. ATCN exits the command mode. I recommend to change guard times before and after the +++ string to speed up the transition to command mode.
  • Great work. I've flown an easystar all summer using the same modules having had binding problems with spektrum gear. please could I ask what the strings were you sent to put the 868 into command mode and the power settings strings ? I've the same problem as you where trying to set off using the modules in high power and it just doesnt work very well (if at all) so this week i've been looking at altering my GCS to include changing the module power output based on distance.
  • Hi Janne

    Great work.
    I think Xbee's very useful for robust connections, only problem is they have tx buffer for 4000 bit per second or more bandwidths and if you try to send more data they are buffering and generating big delays :(

    We produced RXbee boards but didnt released because this reason. I will sell them for robotic or other usages in few weeks. (not for planes)

    If you are using Atmel processors for developing your codes, I can send a RXBee board for testing, you can load your own code with MegaLoader boot loader. Just send me your address with a PM ;)

    This is first version of RXBees and a test video


  • Try the API mode instead - then you'll be able to issue AT commands immediately, without having to switch to Command Mode. It puts a little bit of overhead on your CPU, but since you're only pushing very low volume data it shouldn't even be measurable.
This reply was deleted.