Adding RSSI signal monitoring for Xbees

In my SIG Kadet Senior "near future" UAV, I've a nice feature in my video OSD: there's a RSSI connector to which one can apply a 0-5V tension and the OSD then displays a graph bar with RSSI signal strength.On Xbee side, I knew I had a RSSI output in form of a PWM signal on pin #6. I configured the Xbee RSSI/PWM0 timer to 99 (which translates in the Xbee to retain the last valid Signal Strength measure for 99 x 100ms, ie approximately 10 seconds. I also activated the PWM0/RSSI pin with the Xbee config tool (It is not active by default, I think).The task was to convert that signal to a 0-5V scale for my OSD. I used my Arduino Pro Mini, in charge of parsing data to my OSD, to receive the Xbee PWM signal on its digital pin #2. This board then computes the PWM (pulseIn function of Arduino). I experimented a maximum pulse length of 32us by placing both Xbee's at 30-40cm distance. so I figured out an RSSI in the formMeasured pulse length / Maximum pulse lengthThis gives me an interval of 0-100% signal strength value.I then just had to map this interval from 0-255 for the output on pin #3 in PWM form, which translate in a 0-5V tension on the pin.On the OSD (Inspire OSD), I plugged in the RSSI cable from Arduino Pro Mini (pin 3 / GND). Now I have an Xbee signal strength in the graph bar of the OSD. If there's no signal received from the ground Xbee during 10sec, the RSSI signal bar shows 0. When signal is good, the graph is oscillating between max and just below.I will finally try to stabilize the RSSI value on the graph bar, probably with some averaging of the read pulse widths. Maybe I'll also limit the reading of the Xbee RSSI pin every second instead of a continuous reading.Well that's a nice add-on for inflight monitoring of signal, especially since it is well known that the Xbee RSSI signal is directly proportional to distance between the Xbees! Maybe I will one day do some empirical measurement about the relation between RSSI and distance.
E-mail me when people leave their comments –

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

Join diydrones


  • Your Xbee Adafruit adapter has two rows of connector holes. On the bottom aide of the adapter, you can solder a pin header to have direct connection to the Xbee RSSI output.
  • Is there a way to access the RSSI information on the Adafruit adapter, or would I need to solder directly to my chip?
  • Fantastic. I recall we had a talk about using the RSSI feature of the Xbee in another discussion. Looks like your almost there.
This reply was deleted.