The XBee/XBee-PRO Zigbee RF Module features an RSSI/PWM pin (TH pin 6/SMT pin 7) that, if enabled, adjusts the PWM output to indicate the signal strength of the last received packet. Use P0 (RSSI/PWM0 Configuration) to enable the RSSI pulse width modulation (PWM) output on the pin. If P0 is set to 1 (and P1 is not set to 1), the RSSI/PWM pin outputs a pulse width modulated signal where the frequency adjusts based on the received signal strength of the last packet. Otherwise, for all other P0 settings, use the pin for general purpose IO.

When a data packet is received, if you set P0 to enable the RSSI/PWM feature, the RSSI PWM output adjusts based on the RSSI of the last packet. The RSSI/PWM output is enabled for a time based on the RP command. Each time the device receives an RF packet, the RSSI/PWM output adjusts based on the RSSI of the new packet, and resets the RSSI timer. If the RSSI timer expires, the RSSI/PWM pin drives low. RP is measured in 100 ms units and defaults to a value of 40 (4 seconds).

The RSSI PWM runs at 12 MHz and has 2400 total counts (200 µs period). RSSI (in dBm) is converted to PWM counts using the following equation:

PWM counts = (41 * RSSI_Unsigned) - 5928