3D Robotics

Adding wireless telemetry to ArduPilot

You may have noticed that we had wireless telemetry in our flight testing last week. It's really easy to add. The first thing to keep in mind is that you should use Xbee modules in a different frequency range than your RC equipment. If you've got 72Mhz RC gear, you can use 2.4Ghz Xbee modules. We use Xbee Pro wireless modules with a Adafruit adapter board on the aircraft side, and a Sparkfun USB adapter board on the ground/laptop side. If you've got 2.4Ghz RC gear, you should use 900Mhz Xbee modules. We use a Xbee Pro with the wire antenna for the aircraft, and and Xbee Pro with a SMA antenna connector (and a good 900Mhz antenna) on the ground, with the same adapter boards as above. Next, you need to set up your Xbee modules. They ship with a default of 9600bps, which you must change to 4800 bps for ArduPilot 1.0 or 57,600bps for ArduPilot 2.x. Connect them with your FTDI cable (see instructions here) then use Digi's X-CTU utility to change the baud rate to 4800 or 57,600 (in the modem configuration tab--press the Read button and then click on and change the baud rate line). You should also give them unique Network IDs so they'll be paired. Just use any 3-digit number, and just make sure you've set it the same on both modules. (Don't use 999 if you're going to be flying around me--that's mine!). When you're done with the settings, click "Write". Remember that after you change the baud rate you have to switch back to the PC Settings tab and change the baud rate there, too, or the utility won't be able to communicate with the module. (Switch it back to 9600 when you're switch to the second module, if it's still in the default mode, and repeat the process.) On the ArduPilot side, use three jumper wires to connect the following pins circled in red on the board below: --Xbee RX to ArduPilot FTDI port TXO --Xbee 5v+ and GND to the VCC and GND pins next to the FTDI port.

It will end up looking like this:

(Note: the above is to get telemetry from the Autopilot. If you just want to see the NMEA data from the GPS module, connect the TX pin to ArduPilot's RXI pin, right next to the to TXO pin, instead.) On the ground side, connect the other Xbee module to your laptop with your FTDI cable, as described here. That's it! If you open up a terminal program on your laptop and set the baud rate to 4800 or 56,000, depending on which ArduPilot software version you're using, you should see ArduPilot telemetry coming in. Anytime there is a "Serial.println" in the code, that data will be sent through the Xbees to the ground. You can record any data you want, and even GPS datalog from the ground! Couldn't be easier. BTW, if you want to test the range of your Xbee link, connect the plane-side Xbee module's RX and TX pins together to create a loopback circuit and use the X-CTU utlitity's range test function. For the modules we're using you should get around a mile. Once you've got the wireless connection set up, you can use our Ground Station to display real-time telemetry with ArduPilot 2.1 and up:

E-mail me when people leave their comments –

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

Join diydrones

Comments

  • Admin
    John,

    The Xbee Pro 900 and the Xbee Pro 50mw Series 2.5 are not compatable as the Series 2.5 is 2.4GHz and the Pro 900 is 900MHz.

    I would buy a Xbee Pro 900 50mw module with a wire antenna for the aircraft and a Xbee Pro 900 50mw RPSMA module for the ground. There are RPSMA mobile base and patch 900MHz antennas available from L-com.

    Regards,
    TCIII
  • @John
    welcome to DIYdrones :)
    the main difference is the operating frequency
    XBee pro 900 runs on 900mhz while XBee Pro series 2.5 runs on 2.4ghz
    Note: if not mistaken, 900Mhz band is not allowed in UK...
  • Hi every body,
    A confused new member.
    I have just started building the ArduPilot and would like some information on the Xbee units for wirless telemtry, something completley new to me!.
    From what I have read on the forum the Xbee Pro 60mW (Sparkfun WRL-08742) is a transmitter/receiver so 2 units are required, one in the 'plane connected to the Adafruit adapter board and the ArduPilot, and the other on the ground coupled to to the Xbee explorer board and a laptop.
    My question...for the ground unit I would like to use an external antenna so which unit to buy...the Xbee Pro900 RPSMA or the Xbee Pro 50mW Series 2.5 RPSMA as the output power is the same in both units what is the difference.
    Thanks in advance for your time...
    John
  • zigbee seems a very interesting otion, why not use it for RC controls too?
  • Here are some assembly instructions for the XBee adapter from Adafruit:
    http://www.instructables.com/id/XBee-adapter/
  • Admin
    Chris,

    I thought that Jordi said to power the XBee module separately as it was causing noise on the +5vdc bus and might overload the Shield onboard regulator if you are using an XBee Pro 60mw module that can draw up to 250ma.

    Regards,
    TCIII
  • 3D Robotics
    Sean, I'm not following. The picture doesn't show an Xbee connected to the ArduPilot board.

    I wasn't following this discussion, but I'd connect it (via the AdaFruit adapter board) to the pins that say Modem crossed out above. That won't work for a bare Xbee, of course (wrong voltage) but with the adapter board it should be fine.
  • 3689317697?profile=original So even with the addition of the shield should we still conncet the Xbee module as shown above (direct to Ardupilot board) instead of through the shield (as show in the pic)? Or is there a third way to connect the xbee?
  • 3D Robotics
    Actually we just build them the regular way and accept that the Xbee sticks up a tiny bit on that side. It still makes contact with the pins fine.
  • Admin
    Mike,

    Nice explanation and photos.

    This is the way that I built my Adafruit boards after your heads-up a while back.

    Regards,
    TCIII
This reply was deleted.