12 SERVO 01.2017
his working XBee radio set to try. By doing some
component swapping, we determined that one of my
radios in the kit was faulty and sending virtually no signal
Parallax quickly sent a replacement and I was getting
connection between the quad and the ground station in no
time. Whew! I thought I was home free, but Publison and I
quickly realized that the telemetry was locking up very
frequently and may or may not resume after 15-30 seconds.
Parallax was just about to release version 2.0 of the flight
controller software and the ground station, so we waited
for the release. After upgrading, the problem persisted.
After some work, the folks at Parallax
and forum members were able to reproduce
the problem. It looked like some of the XBee
settings needed further modification. The
most crucial was changing the “CE
Routing/Messaging” setting on the ground
side radio to be a “Non-Routing Module”
(Figure 14). After saving the settings to the
XBee, I once again fired things up and it
worked! I was able to maintain a solid
connection to the ELEV- 8 with no dropouts
or other problems.
Developer Jason found out that the
latency of the system could be greatly
reduced by setting the radios up in a point-to-point mode instead of broadcast mode.
To do this, you note the DH/DL and SH/SL
ID of each radio and set them equal to each
other (Figure 15). This makes the XBees
only talk to each other and removes some of
the overhead associated with each data
transmission. He also recommended setting
the RR (retry count) on the base station to
“A” ( 10), but setting the flight controller to a
lower value, like 3 (Figure 16). This means
that we’ll get more current data at the
expense of sometimes dropping an older
packet — a perfectly reasonable tradeoff. It
was also found that the serial data rate of
the XBee radios can be set to 115200 baud
(this must be done on both radios). If you
choose to do this modification, you’ll need
to change the line of code in the firmware
that sets the serial communication rate of
the Propeller microcontroller with the XBee
This troubleshooting effort really shows how great
forums and open source collaboration (and really the
GitHub issue tracking) can let companies iterate and
problem-solve very quickly. After the changes, things are
running pretty smoothly.
Once you have the XBee radios talking, you can easily
view a lot of information in the ground station software.
You can even perform tasks like calibrations without the
need to connect to the flight
controller with a USB cable!
The “Status” tab of the
application shows you the
commanded and actual orientation
of the quad, power to each axis of
rotation, inputs from the radio,
battery voltage, and the standard
altimeter, virtual horizon, and
heading instruments (Figure 18).
Figure 15: Set the destination address high and low fields to the serial number high
and low fields of the other radio in the pair. This reduces the communication
overhead and makes the latency of the telemetry much lower.
Figure 14: Change the ground side radio’s routing/messaging mode to be a “
Figure 16: Change the retry count from “A” to “ 3” on the flight controller radio. The
ground radio can be left at “A.”
Figure 17: Change the XBee baud rate in the flight controller
firmware if you decide to use 115200 baud communication.
The field to change is highlighted.