Wireless communication between Arduino and PC at range of up to 40m

Hi, I'm an Aerospace engineering student and have been set a project to design and control a glider to land at a set target. I've known about arduino for a while now but this is my first project regarding wireless communication.

Is there a form of wireless communication between the arduino and pc that would work at a range of about 40 metres? It will be used outside so physical obstacles won't be a problem, I just need the arduino to send me gyroscopic and height data whilst I simultaeneously send it data to control aileron servos.
Ideally would like to use bluetooth but I am aware of its common range of only 10m :confused:

Any solutions or just general project advice would be muchly appreciated! :slight_smile:

There are lots of radios which can transmit 40m.

The $2 nRF24L01+ modules would probably work fine but you could also use the long range version of these transceivers.

Another option is XBee transceivers.

I'm sure there are lots of other options.

I question the wisdom of having the control calculations performed on a ground based PC. The requirement to send data in two directions will likely slow the control loop considerably. You also have twice the chance of a communication problem causing loss of control.

An idea of how long it would take for your program to run on the arduino per cycle would be helpful.

As said above, unless you need a lot more than 512KB of RAM and 16Mhz to do the calculations on the fly, then I would stick with an entirely local system to the glider. It could have comms for like "error" and "reporting" but doing 2 way could be a little too slow.

Again, on the other hand, if a calculation is taking too long on the arduino, sending the few bytes of values to a PC and pinging back an answer...this will be the only option.

As said above, the NRF+ chips should be fine for this.
Other option would be to hack a 35Mhz (UK legal and cheap) controller and just control the plane using that as the link.

I'm curious as to why ArduPilot couldn't be used? I mean - it's designed for this sort of thing - why re-invent the wheel...?

Johnny010:
Again, on the other hand, if a calculation is taking too long on the arduino, sending the few bytes of values to a PC and pinging back an answer...this will be the only option.

If it turns out the PC is needed for the calculations, then it would probably be a good idea for there to be some sort of backup plan for times when communication cuts out. I think "return to home" is a common failsafe used in these sorts of autopilots.

If PC is needed, perhaps a Raspberry Pi or other single board computer could do the job?

I am working on a project with radios at the moment, and the radios are integrated with the micro controllers, they have the advantage of being about the size of a postage stamp, and not more than 0.5 oz. in weight. They provide 13 dbm (20 milliwatts) transmit power. They come, of course, with a library for Arduino which makes operating them stone simple.

Check out the Moteino products offered by LowPower Labs.

Also, remember that if you put a radio in a moving platform, the antenna changes orientation frequently, so you want to do your range testing accounting for all possible antenna orientations.