Here is my first version of an RC transmitter/receiver based on Arduino.
The transmitter uses an Arduino Diecemilla, the receiver use a Sparkfun wee. The wee (Sparkfun) is smaller and lighter than the Arduino to better sit in the plane.
Transmission is done with Xbee Pro modules in 2.4GHz.
You can see more details and photos on my blog: http://effetdebord.blogspot.com/
So this establishes an RF link over XBee between two arduinos, one which reads human inputs (couple joysticks, some buttons) and the other which controls actuators (servos, speed controllers, etc...) on a flying model aircraft?
Neat!
What are the cross-talk and interference risks and what is the range, compared to regular RC transmitters/receivers?
Yes, you are right this is exactly an RC transmitter/receiver using Arduino.
On transmitter side there is: Arduino Diecemilla + Xbee Pro
Or receiver side there is: Sparkfun Wee + Xbee.
Trasmitter takes input from joysticks (4 currently) and send it to the Xbee.
Receiver takes data from the Xbee and control servos through regular pulse.
I used my own protocol between the 2 Xbees. It allows many possibilities with high precision, at least 10 bits per channel.
Regarding interference risk, there are pretty low. First Zigbee is already used in some radio systems (XPS for instance). Then, when it starts, the Xbee choose a "free" channel, and then emit with its own PanID on that channel. This greatly limit the risk of collision between 2 transmitters.
Regarding Range, the XBee pro allow more than 1km range. I have not tested myself, but so far it works fine as you can see on one of the video on my blog.
hey if this works out cheaper than a normal 2.4 Ghz radio set then i might be up for trying it myself
i have a Esky usb controller that would be a good candidate for the TX box. I would like to use it for indoor flying, the others there all seem to be using 2.4 sets so i tend to feel a little left behind so making my own set would be a good catch up if its cost effective
"How difficult would it be to make this bi-directional, and how much bandwidth is left over? "
Making communication bidirectional is easy, but probably not very efficient because of the acknowledge.
Regarding bandwith, for sure there is still some space for other datas. However I am sure about the current data loss I have. I am under the impression that the more the bandwith is high, the more there is character loss. This is one of the reason why I added to my protocol a crc to check data integrity and to avoid this problem.
"if this works out cheaper than a normal 2.4 Ghz radio set ..."
A xbee pro is approx 40$ and you'll need at least 2. Then add the arduino + wee 34$+20$ + hardware and you'll be at 140$ or more. It seems that you can buy 2.4Ghz small plane for that price. So I doubt that you can't find cheaper.
"I noticed on your website that you had your first flight! Congratulations, it seems to work nice! "
Yes I did yesterday. The plane flew with no suprise even while I was flying far away. This is encouraging to continue developments.
Thanks for the answer. Sound like a good way to get a little feedback from on-board sensors to the pilot. A climb rate indicator (e.g. with a warbling tone pitching up or down accordingly) would be great for us glider fliers.
"A xbee pro is approx 40$ and you'll need at least 2. Then add the arduino + wee 34$+20$ + hardware and you'll be at 140$ or more. It seems that you can buy 2.4Ghz small plane for that price. So I doubt that you can't find cheaper."
well i could make up my own boards from the atmega168 cutting a bit off the price there. and i can recycle other components.
it would be an intresting project too
im doing rc on a shoestring here i have an indoor plane i built from packing foam, and it flies from the tests i done.
but the radio kit i have is a 3ch 35mhz set, making a 4+ channel set would be good
if i can find a cheap 2.4 ghz set for my planes then i will try that, but would like to look into other options
edit: just noticed sparkfun has xbee starting form $22 (not inc postage)
1/ yes, I use Xbee in transparent, just like a modem
2/ potentiometers are read on interrupts, when conversion is done. Meanwhile, data is written on serial port.
Thanks for the info. I'd been thinking of using interrupts but was a bit hesitant due to my inexperience (and the fact that I want to use AFSoftSerial at the same time).