Parallax X-Band Motion Detector

The Parallax X-Band Motion Detector is a relatively small lower power (8mA) radar motion detector. It is capable of detection up to slightly over 30 feet and is able to sense movement through windows and walls.

Hello World

Import programParallax_XBAND_Demo

Demo Program for the Parallax X-Band Motion detector.


Import libraryParallax_X-Band

Library for setting up the Parallax X-Band Motion Detector.



Something to keep in mind is that this is a radar detector so the speed of an object can be measured with it. However as stated in the user manual the area of detection is very wide unlike the focused radar beams of police speed detectors. So knowing this, measurements of speed will only be accurate if a single object is moving within the beam width of the detector. If more than one object is moving the measurement will not be a true measure of speed but instead could be interpreted as the "magnitude" of total movement.

Product Page

Theory of Operation

This device quantifies the "magnitude" or speed of movement into pulses on the OUT pin. The pulses are more closely spaced together for faster movement and further apart for slower movement.


Parallax X-Band motion detector hooked up on a breadboard.

Breadboard Hookup

Pinout Table

X-Band Pinsmbed Pins
+5VVU (5V )
ENP26 (Or any Digital Out)
OUTP25 (Or any Digital In)

Demo Program Video

API Documentation

Import library

Public Member Functions

xband (PinName pin_enable, PinName pin_inputA, PinName pin_inputB)
Initialize the xband motion detector and setup interrupts on specified pins.
~xband ()
void enable (bool enable)
Subroutine to enable and disable the detector.
int read_count ()
Get count value and return it as an integer.
void reset_count ()
Resets the count variable to 0.
bool velocityack ()
Checks if a new velocity value has been calculated.
float read_velocity ()
Get current velocity reading.

You need to log in to post a discussion