HB100 Microwave Motion sensor Interfacing Arduino


For  Electronic Circuit designers, Makers and Hobbyists movement detection & Measurement of an object or person is simple task by using PIR sensor or Ultrasonic sensor but it is some what difficult to measure the movement speed. The HB100 Miniature Microwave motion sensor makes it easy to measure movement and speed.

HB Series of microwave motion sensor module are X-Band Mono-static DRO Doppler transceiver front-end module. These modules are designed for movement detection, like intruder alarms, occupancy modules and other innovative ideas. The module consists of Dielectric Resonator Oscillator (DRO), microwave mixer and patch antenna

HB100 Sensor Pinout



* Low current consumption
* CW or Pulse operation
* Flat profile
* Long detection range                                                                                         * X-Band Frequency 10.5 GHz                                                                           * Operating Voltage 4.5V to 5.2V                                                                     * DC level (0.01 to 0.2 Vdc)                                                                           * Fd= 19.49V (Velocity in km/hour) or 31.36V (V in mile per hour)              Fd=> Doppler frequency (If a target is moving straight toward or              away from HB100 (Ft = 10.525 GHz))

Radiation Pattern


The radiation patterns of the antenna and their half power beam width (HPBW)

The module to be mounted with the antenna patches facing to the desired detection zone. The user may vary the orientation of the module to get the best coverage.

Doppler shift

Doppler shift output from IF terminal when movement is detected. The magnitude of the Doppler Shift is proportional to reflection of transmitted energy and is in the range of microvolts (μV). A high gain low frequency amplifier is usually connected to the IF terminal in order to amplify the Doppler shift to a processable level. Frequency of Doppler shift is proportional to velocity of motion. Typical human walking generates Doppler shift below 100 Hz. (hb100_microwave_sensor_datasheet)

HB100 Sensor Breakout board



  • The radiated emissions of HB100 is designed to meet the requirements of Federal Communications Commission (FCC) rules, Part 15, Section 15.245 (use within a building or to open building door)
  • The Received Signal Strength (RSS) is measured at the total 2 ways path loss of 93dB.
  • The noise voltages are measured from 10 Hz to 100 Hz at the output port, inside an Anechoic chamber.
  • CAUTION: ELECTROSTATIC SENSITIVE DEVICE. Observe precautions for handling and storage.                        (hb100_microwave_sensor)

Interfacing HB100 with Arduino


Arduino Code


#include “FreqPeriod.h”

double lfrq;
long int pp;

void setup() {
  Serial.println(“FreqPeriod Library Test”);

void loop() {
  pp = FreqPeriod::getPeriod();
  if (pp) {
    Serial.print (“period: );
    Serial.print( 1/16us / frequency: );

  lfrq = 16000400.0 /pp;
  Serial.print( Hz );
  Serial.println(  Mph );

For more about code and library : https://docs.google.com/document/d/1CVdH3UVTROaJ4_Bgsx_-hyg5_LvoNxYiB13pPRN9gzU/edit



  1. https://www.youtube.com/watch?v=PpU7R5LMUs4

pdf-icon hb100_microwave_sensor_datasheet


going further (Interesting)


31 thoughts on “HB100 Microwave Motion sensor Interfacing Arduino

  1. The “FreqPeriod Library Test” code requires the IF to be connected to the pin 7 of the Ard UNO not the pin 8, careful with that.

    1. very much thankful for the pin suggestions. Is it possible to use lcd keypad shield where pin 8 and 7 are used by lcd. The pin in the IDE is (8, 9, 4, 5, 6, 7). kindly suggest.

    2. Lifesaver man, Thanks a lot. Set everything up and could not figure out what was wrong until I saw your comment here.

  2. hi! this post was really useful to me, but how can I regulate the distance?
    because I want to detect objects within a range of 3 meters or less

  3. Gooday – I am a newbie and have got the code to compile but I do not yet know how to set the pins. Where does the input signal go too on the Arduino. I have built the amplifier to support the HB100. I want to use this unit to track any movement around the house for security. Thank you in advance – Lee

  4. Hello! When I tried to compile your code, Arduino highlighted a line in the code (see below) and stated “stray ‘\342’ in program”. What does this mean and how do I rectify this problem?

    Here is the highlighted line of code:
    Serial.printIn (“Mph”);

  5. ‘\342’ means there is a problem with unicode in codings ! if you just copy and paste the code you will encounter this kind of problems ! just change double quotations in print statement !

  6. can i use it for measuring the smoothness or roughness of earth surface .
    what do you suggest me for measuring the roughness of earth,

  7. Hey, I tried this circuit but it will give me constant output voltage 2.5V at second op-amp and constant 1.4V at the output of first opamp. so, I can not able to detect speed, what can I do?

  8. I tried this code, pre amp circuit and library (Freqperiod.h, not FreqMeasure.h as your link). But output of pre amp circuit is 0.3V, i think it must be about 2.5v. Screen just print “FreqPeriod Library Test”. When i touch microcontrller on arduino uno, TX led lights and screen print a lot of value. Help me, please!

Leave a Reply

Your email address will not be published. Required fields are marked *