Investigating a RCWL 9196 / RCWL-0516 “Radar” motion detector module

posted in: Android 160

A new type of “Radar” motion sensor has been getting a lot of attention in the last couple of months, but no one seemed to know how they worked, so I decided to buy a few of these very cheap devices (sub $1) and investigate possible methods of operation.

The boards I bought use the RCWL 9196, but appear to have identical functionality to those with the RWCL-0516 chip on them

This github site https://github.com/jdesbonnet/RCWL-0516/ contains loads of useful information on these boards, and there is also an excellent video by Andreas Spiess on YouTube https://www.youtube.com/watch?v=9WiJJgIi3W0

Where the properties of these devices was explored.

I hope to have taken this at least one step forward with my tests.

The main difference in my approach is that I have connected a wire from the analogue signal output on the only IC on the board, into an analogue input on a STM32F103C8 (aka Blue Pill) board.

The pin I connected to is Pin 12 on U1, (RCWL 9196 and is the output of the 2nd OpAmp in that chip).

(Schematic from Joe Desonnet’s github account)

 

 

My RCWL 9196 board is not exactly the same as this, but the pinout of the IC is the same.

Also the RCWL 9196 is almost identical to the BIS0001

http://www.ladyada.net/media/sensors/BISS0001.pdf

Where pin 12 is labelled as 2Out

 

 

I then wrote a very simple sketch in the Arduino IDE to print both the analogue signal from 2Out and also the normal digital output from the board

 

void setup() {
pinMode(PA0,INPUT);
pinMode(PA1,INPUT);
}
void loop() {
Serial.print(“0,”);
Serial.print(analogRead(PA0));
Serial.print(“,”);
Serial.print(analogRead(PA1)+100);
Serial.println(“,4500”);
delay(10);
}

BTW. The reason I’m writing values of 0 at the beginning of the line of output and 4500 is because the Arduino IDE “Plotter” feature is auto ranging, and if I don’t include a lower an upper bound, the vertical scale constantly changes

Looking at the output when nothing is moving I see this plot

Green is the digital output (in this case its LOW / OFF), and the Red trace is the analog signal, which is close to half the 3.3V Vdd voltage supplied to the board.

Note. The STM32F103C8 has an anlogue input range of 0 to 4096 (12 bit)

 

If I start to wave my hand, starting with a small movement and then increasing, I see this plot.

 

As you can see the hand movement causes an immediate effect on the output of the second OpAmp, but the value has to go above (or below) a threshold before the digital output triggers

 

In this next plot. I was walking towards the sensor, and then stopped.

 

As you can see the digital output holds for around 2 seconds after the end of the input fluctuations.

 

The more interesting thing about this plot are the peaks and troughs at the start where I was walking towards the sensor.

I thought this could be because its sensing the movement of my legs, so I devised a better test where I stood on a chair and dropped an object from the ceiling, and observed the results.

 

I tried a variety of objects, and the best performing object that mimicked the properties of a person moving, turned out to be a damp sponge.

I tried a dry sponge, but it had no effect on the sensor whatsoever, but as soon as I got it wet, it was immediately detected.

 

 

In this plot the sponge is falling about 1m horizontally from the sensor, which is resting on a table about 1m from the ground.

As you can see, there are still multiple peaks and troughs in the output signal.

I know that there was some speculation that these devices work by using the Doppler effect,but this does not appear to be validated my the tests I have done.

So my theory is that the peaks and troughs are caused by reflected signals from objects, interfering with the oscillator / transmitter.
When I say interfering, I mean of wave propagation, where the reflected wave can be in phase with the oscillator or out of phase, resulting in the oscillator drawing more or less current.

https://en.wikipedia.org/wiki/Interference_(wave_propagation)

From Joe Desbonnet’s github repo,he observed that the oscillation frequency is around 3.1GHz with his module. So assuming my module is similar, then the wavelength of 3.1GHz is around 10cm.

However in my tests, I am not sure the peaks and troughs match exactly with that frequency, and the effect I see if more consistent with perhaps twice that frequency.

 

Doing some tests moving a piece of aluminium foil up and down, approximately 30cm, to 5 cm above the sensor observe these results when moving slowly

 

 

And moving quickly

 

 

What is fairly clear is that the interference is not from a single path, but rather that the aluminium foil (or the damp sponge), is reflecting signals directly from the device, but is also going to be reflecting, some reflections back to the device.

So its a complex pattern of primary and secondary signals, with the strongest effect most likely to be the primary signal straight from the device (transmitter)

Also just to complicate matters, the OpAmp IC is configured so that the output is always trying to return to a steady state.

This can be seen when the device first turns on, and the analogue output initially is at its maximum, and takes around 10 seconds to stabilise to Vdd /2

 

Looking at the schematic and also measuring the voltage from the RF oscillator / transmitter, using an oscilloscope. The oscillator output voltage, rises to around 0.4V very quickly.

However OpAmp 1, in the RCWL9196 is configured as a high gain amplifier (and filter), whose non-inverting input will be initially 0V.

The inverting input is fed from the output of the OpAmp via a resistor and capacitor network, and charges C7 via R6, and the RC network of R4 in parallel with C4

I don’t know if the resistor values on my board are identical to the schematic, but a rough calculation on the RC charge time of the inverting input would be 22uF * 1M = 22 seconds.

But thats the time to get to Vdd not to 0.4V, so I think its highly likely that the 11 seconds startup time, is the time taken to charge C7 to 0.4V.

I observed the fluctuations of the input voltage from the oscillator using my scope, but the change was minimal; at around 4mV, and I was only able to measure this using capacitive coupling on the scope.

So if C7 can charge from 0V to 0.4V in around 10 seconds, then it would compensate for a change in input from the osc (of 0.004V) in 1/100th of 10 seconds, i.e 1/10th Sec (100mS)

This effect is also observable in practice, by moving an object towards the sensor and then holding it. As you normally see a peak or a tough, but very quickly the signal is pulled back to its steady state.

 

I did attempt to increase the value of C7 from 22uF (226) a higher value, in the hope that I could make a much larger time constant, but I damaged the board somehow, whilst trying to do this, so I do not have any results for that test.

BTW. I have 2 boards, but I don’t want to modify the second one in case I damage that one as well.

 

So to sum up…

My hypotheses, is that these devices are a oscillator / transmitter, and that the detection method is by wave propagation interference.

This is consistent with many of the results I observed.

  1. Objects moving towards (or away) from the sensor, produce peaks and toughs rather than a steady state offset; which would be caused by the Doppler effect
  2. The peaks and troughs are complex, as the interference is generated by reflections of reflections.
  3. Waving a length of wire, (which would act as an inductor), near the sensor, produces little or no variation in the output
  4. As the unit has a range of around 4 or 5m, and detection does not seem to diminish strongly with increasing distance, it seems unlikely that the effect is being caused by capacitive coupling between the observed object and the oscillator (and its surroundings_

 

And where does this leave us…

Well, at the moment, I don’t see a use for these devices apart from their intended application of motion sensing.

I think that using the analogue output from pin 12, is beneficial, as it can be used to get some indication of the scale of the detection, and would allow the trigger level, and hold time etc, to be controlled in the application (e.g. Arduino sketch).

 

I think if a method was devised to be able to observe the output from the oscillator, without the current system that always returns the output to a mid point steady state, even if the oscillator is not in that state; that perhaps the device could be used more easily to perhaps determine the speed of an object. By determining the time difference between each peak.

However even with the necessary hardware modifications to facilitate this, there would still be the problem of reflections of reflections; which would cause the data to be difficult if not impossible to analyse

 

 

160 Responses

  1. Roger Clark
    |

    Thats interesting.

    Can you explain a bit more ?

    When you say “detects movement when my air conditioning IR control is used.”

    Do you mean its sensing when you push the button on the control, or have you built something which uses this detector and a IR LED and an Arduino etc, to sense movement and then turn your Air conditioner off if no movement has been detected in 10 mins etc ??

  2. Julio Gouy
    |

    Hi Roger, actually I created a sensor that detects the lack of movement for a period of time and sends an IR command to turn it off. I changed the motion sensor I use, and works, HC-SR501 to the new RCWL-0516 that I just received. Actually the code was exactly the same I used for the old one. At the beginning everything was working fine, I could verify that the sensitivity of the new sensor is a lot more precise. I left home and when I came back my air conditioner was still turned on. So after trying to understand what was happening I saw that when I send the IR command the sensor automatically detected a movement. So after some time, a repower timeout I defined, the conditioner was turned on since there were a movement detected at the last IR command I sent, the power off one. If this is the normal behavior this won’t be of any use for my project.
    Best regards, Julio.

  3. Roger Clark
    |

    A few things I can think of…

    Firstly, I suspect the RCWL is picking up something completely different and possibly nothing to do with sending the IR command

    Or… Its so sensitive that its detecting the movement inside your air conditioner, e.g. mine has vents which move when I turn it on or off.

    I think you need to isolate whether the retriggering is in response to the IR signals being sent, (e.g. turn off the circuit breaker to your air conditioner and see if the RCWL gets retriggered just by your project sending the command.

    Its possible that small fluctuations in supply voltage are trigger it as well, because the IC on the RCWL is a very high gain OpAmp and I doubt it has good voltage noise immunity

    Re: Turning the air con , on and off commands.

    My Daikin air conditioner seems to have a separate command for ON, and OFF, but perhaps yours has a command to toggle between On and Off

    Mine is a pain to use from its own remote, as if you don’t press with the remote pointing at the air conditioner, it does not see the first command e.g. ON
    So you press again, but the remote then sends OFF, So the air con stays off
    So I have to press again to send ON.

    But I suppose for Arduino style control my Daikin would be better

    Also….
    To save false retriggering, I’d simply put more code in the arduino etc, so that it does not turn the air conditioner on, unless its constantly getting triggers from the RCWL sensor.

    Note. I think the RCWL sensors is designed for security lights, etc, where its better to turn on even if it was a false trigger

    But in your case this is no good

  4. Júlio Gouy
    |

    Hi Roger, thanks for the feedback. I’ll do more tests and send you the results. Not today because it’s already late here 🙂
    Very best regards, Júlio

  5. Roger Clark
    |

    OK…. No Worries

    Its Monday morning here already…

  6. Julio Gouy
    |

    Hi Roger, so you are from the future 🙂
    There is a saying here: “The curiosity killed the fish” so I could not wait to make some more tests.
    The results are: Every time I send a command using my prototype, the RCWL sensor detects a movement. So I decided to try with the remote controls themselves and nothing happened. So it’s nothing to do with the IR commands as you suspected. I don’t have an oscilloscope to verify the power source fluctuation you mentioned. I’ll do a better research and try to understand what is happening to the sensor that causes this RCWL sensor behavior. If I find anything useful, I’ll let you know.
    Thanks a lot!

  7. Roger Clark
    |

    Hi Julio

    I’m not sure if its the same saying, but in UK English there is a saying “Curiosity killed the cat”
    https://en.wikipedia.org/wiki/Curiosity_killed_the_cat

    I think its the same thing.

    I would try putting some capacitors across the power input to the RCWL.

    Its probably overkill, but I sometimes use this isolated power module. called a B0505S (there is also a 3V version I think)

    https://www.aliexpress.com/w/wholesale-B0505S.html?spm=2114.search0104.0.0.59edc8d9oj7R1s&initiative_id=SB_20180128161911&site=glo&groupsort=1&SortType=price_asc&g=y&SearchText=B0505S

    They are $1 each, and provide total DC isolation between the input and output voltage, as they contain a mini transformer

    However perhaps in this case, its not the correct solution, as you need to have a common ground between both parts of the circuit

    I would try removing the IR LEDs from your circuit and see if the problem still occurs.

    The problem is likely to be the high frequency pulses changing the supply voltage a tiny bit.

    I don’t know if you drive the IR LEDs directly from an Arduino etc, but if they are driven by a FET or transistor, you perhaps supply that via a different regulator

    Or perhaps put a inductor in series with the RCWL to prevent the high frequency noise getting to the RCWL

  8. Julio Gouy
    |

    Yes, it seems that it is the same saying 😉
    Yes, I use a PNP transistor to drive the LED and unfortunately I need to use the same regulator since both uses a 5V logic. I have another one with 3.3V but I think that the RCWL won’t work at this voltage. Thanks for the isolated power module tip, I’ll try to find one here so I can test. About the capacitor/inductor filter seems to be a great idea, I’ll try this, but not today, I am serious now 🙂
    Thanks Roger for your support and attention.

  9. John Taylor
    |

    This sensor is very sensitive to changes in VDD of the motion sensor circuit. For instance, if too much current is drawn from the logic output, this will pull down the VDD which changes the bias point of the amplifier appearing as s new trigger. By the same token, drawing any current from the on board 3.3V regulator will result in a false trigger.

    If you connect the motion sensor directly to the IR transmitter you have no way to lock out the false trigger while the IR teansmitter operates.

  10. John Taylor
    |

    The board I built with a PIC on it has a Red/Green LED which I programmed to track the output of the two comparators. At 10mA the LEDs pulled on the 3.3V regulator just enough to go into a continuous “Detection” mode, blinking forever. Reducing the LED current to 2.5mA fixed that problem. The second spin of the board (Arriving tomorrow) has better bypassing of the second amplifier bias point and the oscillator collector, both of which are very sensitive to noise.

  11. Roger Clark
    |

    John

    No worries. Its good to point out how sensitive these things are to supply voltage noise

    PS. the comments system seems to not be displaying one of the 3 comments you posted. i.e the one that read.

    Yes, it seems that it is the same saying 😉 Yes, I use a PNP transistor to drive the LED and unfortunately I need to use the same regulator since both uses a 5V logic. I have another one with 3.3V but I think that the RCWL won’t work at this voltage. Thanks for the isolated power module tip, I’ll try to find one here so I can test. About the capacitor/inductor filter seems to be a great idea, I’ll try this, but not today, I am serious now 🙂 Thanks Roger for your support and attention.

    Anyway.

    No worries

  12. Dejan Gjorgjevikj
    |

    Hi,
    I have noticed this conversation about the sensitivity of RCWL 0516 to supply voltage and I wish I have read it a few days ago…

    I am experimenting using the radar sensor myself. I am logging the analog output of pin12 (and the regular digital output) of RCWL and also from PIR sensor on an Arduino (Nano) setup.
    Later I have added a small red LED to the setup that emits very short flashes while flushing that data on a SD card.

    This had hardly noticeable effect on the analog signal from the sensor, but adding a second white LED configured to draw 15mA (I needed strong flashes that would be easily noticeable on surveillance camera) that emits kind-of slow code (1/25s) flashes that last several seconds caused the problems.

    The interference was slightly less defined when I power the Arduino using a power supply and not the USB.

    Adding capacitors next to the sensor, the LED and a big one close to the Arduino power input, did not help much.

    Reducing the current through the LED did reduce (but not quite remove) the effect. Driving the LED using a transistor (that draws about 0.2mA for the base current from the Arduino) reduced the effect to bearable one but I think that fluctuations in the analog signal can still been noticed when the white LED is doing its light-show every 15 seconds in my setup (that I intend to use for synchronization).

    The analog signal is also full of small noise all the time and I suspect that the power requirements from all the modules I am using (RTC 3231, LDR, Microphone, RCWL, PIR and especially the micro SD card) have an effect on this.

    I am still experimenting. I also have several other radar sensors and to try…

    I forgot to mention that I have configured the Arduino to use the external 3.3V reference from the Arduino for its A/D conversion (because as I have noticed the analog output from the PIR and radar sensor are 3.3V max) that should be slightly more stabilized than the default Vcc of the Arduino.

  13. Roger Clark
    |

    Thanks Dejan

    (I edited your comment to add some line breaks to make it easier to read)

    I used a 3.3V MCU with ADC input (STM32F103) so I didn’t have to change anything, but I can see that using an AVR Arduino (ATMega….) that using an external 3.3V reference would increase the resolution.

    I’d not noticed any noise issues, but I was not doing anything except logging the data into a PC.

    I initially thought that perhaps a OpAmp with better supply noise immunity than the RCWL IC, could be used instead, as the analogue output is just taken after 2 stages of OpAmp amplification (and filtering).

    However, because of the nature of the GHz oscillator its self, I doubt that replacing the RCWL would improve things.

    Ensuring a stable, noise free supply for the whole module is more likely to yield better results.

  14. John Taylor
    |

    It is not the amplifier PSRR that makes this device sensitive, it is the fact that the divider that sets the amplifier bias point is tied to Vdd and so disturbances to Vdd show up at this bias point; the amplifier can’t tell the difference between detector and bias point fluctuations.

  15. Roger Clark
    |

    OK

    Thanks

  16. MagnusT
    |

    Thank you for this very interesting run through! Just some feedback that might be interesting:

    1.
    I’ve been running a RCWL-0516 connected to an ESP8266 Wemos D1 Mini which in turn runs on the power on it’s USB connection. Using the 3.3V from the Wemos to drive the RCWL the detection is totally unstable, but using the 5V from the Wemos everything is rock solid and works perfectly. When running on the 3.3V from the Wemos the analog signal is all over the place but when using the 5V it’s perfect! Some people have thought the ESP8266 disturbs the detection if it’s too close to the RCWL but it’s a matter of choosing the right power source.

    2.
    In the two pictures showing the wiring to your Arduino you have connected power to the wrong pin. This confused me for a while so I double, triple quadruple-checked this.
    – The connection marked “3.3V” is an output that you can use to drive other items.
    – The connection “VIN” is where you connect power 4V-28V

  17. Julio Gouy
    |

    Hi Roger, finally the B0505S you suggested I test, see my previous post, arrived at my home and I have just installed to isolate the power source of the RCWL-0516 sensor and so far so good! The IR commands are not triggering the sensor anymore. So now I’ll continue analyzing the possibility of including this sensor to my project.

    Thank you for the support! Best regards, Julio.

  18. Roger Clark
    |

    OK.

    I’m glad that worked.

    You may still need to add some capacitors on the side of the B05005S connected to the RCWL-0516 as the BS0505S only has a small amount of capacitance inside it,

  19. Roger Clark
    |

    I think the 3.3V pin is the output from the voltage regulator , so when you use a higher voltage on Vin, it only gives 3.3V to the rest of the circuit.

    I did not have a 5V output from my 3.3V board, so I fed 3.3V into that (output).
    Normally this is not a problem as the voltage regulator does not draw much current in through its output under those conditions, but technically its wrong unless I remove the regulator

    Re: Less noise when supplying from 5V

    That makes sense because the regulator will remove a lot of the supply noise.

    e.g. if input is 5V with 0.25V noise. The regulator can still produce a stable output from a 4.75V input (5V – 0.25V) so the 3.3V rail will remain almost at 3.3V

    This will partially depend on the frequency of the noise, as the regulator will have a limited response time.
    But it sounds like under normal conditions the noise is not too fast for the regulator to manage

  20. MagnusT
    |

    “I think the 3.3V pin is the output from the voltage regulator , so when you use a higher voltage on Vin, it only gives 3.3V to the rest of the circuit.”

    Agree totally!

    So feeding the VIN with 3.3V is a no go.

    Maybe clearify that you preferably feed it 4V-28V on the VIN connector but that you can feed it with 3,3V on the 3V3 connector?

  21. Roger Clark
    |

    I think it depends on how you are using the device.

    If you are simply logging movement and perhaps uploading that data to the web etc, and not doing anything which causes supply fluctuations, And are using a 3.3V device with no access to 5V, then feeding in via the 3.3V will work under some circumstances.

    But it looks like supplying the board with 5V (or more) if available resolves a lot of the problems associated with supply noise.

    However, I suspect in some instances even using the 5V input could still potentially have problems, due to the extreme noise sensitivity of this module.

  22. john Brookes
    |

    Dear Roger,
    Your site most interesting, and I’d like to know how you do those nice graphs on the radar detector post.

    Here’s something to try with this gizmo: See if you can get a reflection from inside your body. I’ve seen these devices with claimed 10 ghz freq, which would give 3 cm wavelength, which is rather large for this idea.

    Thanks
    JB

  23. Roger Clark
    |

    I’m just using the Plot feature in the Arduino IDE to produce the graphs

    The Arduino program sends the analog value via serial, and the Arduino IDE plots those value (numbers) as a graph

  24. john Brookes
    |

    What happens when you place the radar device close to, or on, your skin? Just curious.

  25. Roger Clark
    |

    I’ve not tried that.

    I think you are asking if it can measure a pulse etc.

    I don’t know, but one thing that could be problematic, is that it is likely to get effected a lot more by other factors than it would by the small change in the blood vessels when they change due to a pulse of blood flowing through them

  26. john Brookes
    |

    Yes, there’s a lot going on in this busy biopolis we call a body. I’ve done quite a bit of pattern recognition in the past using neural nets and other algorithms. One way an AI developer would approach the busy signal problem would be to put external constraints on the system – In the driverless car that’s staying on the road (at first), in the game of GO that’s winning territory –
    This radar system is probably good for mostly hum-drum applications, like turning on a light when someone moves near.

  27. Dejan Gjorgjevikj
    |

    Regarding measuring the pulse using a radar there is some published work for laboratory experiments using different (more sophisticated) radar device. We are currently preparing similar experiments using the analog output of such cheap radar devices like RCWL-0516.

  28. Dejan Gjorgjevikj
    |

    I have forgot to mention the research, if somebody is interested, … https://www.sciencedirect.com/science/article/pii/S0263224115001062

  29. Roger Clark
    |

    OK.

    One thing to note, is it has now been proved that these modules are not “Doppler”. They use “interference” between the oscillator / transmitter and reflected signals

    (See the comments posted by John Taylor, where he did some more tests and conclusively proved this is Not a Doppler system)

    It does not rule out its use for things like pulse measurement or even perhaps blood pressure measurement (as BP can partially be determined by accurately monitoring the 2 phases of the pulse)

  30. Roger Clark
    |

    I think the only way to know what these devices do when attached to the body would be to try one.
    As they are not Doppler.

    Never the less they may be able to provide some useful data.

    In terms of medical applications.

    I have investigated an idea I had of using them as a sleep tracker.

    They seem to work quite well for this, as they are non-invasive by are able to detect some movements when sleeping.

    However, I have not actually run one of these things all night to see if it would actually be any real use in that application

  31. seta43
    |

    Hello

    I’ve been looking at your article, and I found it interesting.
    I started doing tests imitating their practices
    Thinking about a quick utility for the module, I built a heart pulse meter in 2 minutes.
    I covered the module with several layers of plastic to cover food.
    I covered one side of the module with several layers of aluminum foil.
    With a rubber band place the part of the module not covered with aluminum on a vein.
    The pressure variations of the vein generate small frequency changes in the module, producing the voltage pulses.
    It is clear that it can be perfected, but for a first test it is worth it.

    https://seta43.blogspot.com.es/2018/03/arduino-detector-de-movimiento-rcwl.html
    http://seta43.hol.es/electro.html

    regards
    Juan

    _____________-
    Spain

    Hola

    He estado mirando su articulo, y me parecio interesante.
    Me puse hacer pruebas imitando su prácticas
    Pensando una utilidad rápida para el módulo, construí en 2 minutos un medidor de pulsos de corazón.
    Recubrí el módulo con varias capas de plástico de cubrir alimentos.
    Tapé uno de los lados del módulo con varias capas de papel de aluminio.
    Con una goma coloque la parte del módulo no tapado con aluminio sobre una vena.
    Las variaciones de presión de la vena generan pequeños cambios de frecuencia en el módulo, produciendo los impulsos de tensión.
    Está claro que se puede perfeccionar, pero para una primera prueba vale.

    https://seta43.blogspot.com.es/2018/03/arduino-detector-de-movimiento-rcwl.html
    http://seta43.hol.es/electro.html

    Saludos
    Juan

  32. Roger Clark
    |

    Thanks for sharing

    I think some people were wondering if you could measure the pulse, just by having the module directly against the skin.

    In your research it looks like the pulse is causing a small movement in the aluminiun foil, which is being detected, rather than direct detection of the dilation of the vein.

    I think you have built a sort of strain gauge, but I’m not sure if the mechanical properties of aluminium foil are suited to the long term operation of this.
    Also I suspect its very sensitive to movement of the sensor and you have to keep very still.

  33. Seta Seta
    |

    Hello
    The aluminum is to shield the signal on the side of the module that should not be used.
    Indeed, when placing elastic plastic, it makes the pulse modify the distance to the antenna, producing electrical signals.
    The circuit seems to me to be a Regenerative circuit, but I’m not sure, it’s an opinion.
    regards
    Juan

  34. Roger Clark
    |

    OK
    I thought it was completely enclosed by foil.

    The operation of the detector seems to be “interference”, reflected waves which return at different phase because of distance travelled, cause the oscillator to use less or more current.

  35. Marti
    |

    Can these sensors be shielded in some way to make the sensing more directional? I tei d surrounding it with foil and copper on five sides but it still triggers easily from behind the metal.

  36. Roger Clark
    |

    I few other people have tried this, with limited success.

    I think if you put it inside a metal box, with one end open, it is kinda directional, but its not that reliable.

    After extensive testing by many people, its become clear that this is not a “Doppler” device. It method of operation, is interference of reflected waves into the oscillator / antenna system.

    Its very good at detecting motion, but not of doing much else.

  37. Roger
    |

    As soon as I get mine, I’m going to try and make a vehicle detector. Using two of them, I expect by proper shielding, to be able to determine which direction a vehicle is going as it passes the detector. The final objective is a “vehicle doorbell” on a long single-track driveway.

  38. Pete
    |

    FYI, it most certainly IS a doppler device. The signal processed by the RCWL chip has a frequency that is proportional to the velocity, because it is the difference freq between the oscillator and the received reflection.

  39. Pete
    |

    I should add that the signal is relatively complex because there are generally multiple reflections (from different parts of the body, and bounces from nearby metal objects, etc.).

  40. Roger Clark
    |

    Tests done by other people, show results which conflict with it being a Doppler device. Mainly because the frequency difference observed for an object going at a known speed does not seen to be correct for a pure Doppler device.

    However. As these devices only have very limited range, for most people it doesn’t really matter what mode of operation they use.

    i.e They detect movement, which is what they are designed to do.

  41. Pete
    |

    I disagree. A couple of years ago I built a device that measures the velocity of a person walking toward it. It works. Because the signal is a combo of multiple reflections, I do an FFT on the received signal, choose the highest magnitude from the FFT output, and assume that it represents the main part of the person. It is easier to use a sensor that runs at a higher freq., because the difference freq is higher. If you do the math, the difference freq is directly proportional to velocity. Also, when I was doing this project, I found a YT video where a fellow did a detailed analysis of how the device works with just a single transistor. Note that there are more complex versions (such as HB100), which use separate components for the oscillator, mixer, etc. – but the concepts are the same. The fancier ones are much more precise on a certain freq, and more stable, and probably higher power output.

  42. jpt
    |

    The “Signal processing” is simply an AC coupled amplifier that amplifies the emitter bias point of the oscillator transistor that represents the collector current and thus the efficieny of the oscillator. As an object moves toward or away from the circuit, the reflected energy is either in or out of phase with the oscillator. This reflected signal then either interferes constructively or destructively with the circuit resulting in a shift in the emitter bias point.

    This can be seen where the bias point shifts statically with regard to the position of the interferer.

    Now, since the bias point can be seen to shift as a function of the movement of the interferer through successive half cycles of the 3GHz wavelength and a faster transit results in more shifts per unit time, it is understandable that this could be seen as a doppler system.

    However, doppler shift measurement requires the change in frequency of the signal to be measured versus to the original signal. What we are actually measuring is the bias if the oscillator which is dependent only on the POSITION of the target and NOT its SPEED.

  43. Pete
    |

    Your theory is interesting, but you would need to measure the transistor bias point more directly to prove it. But that measurement would be near-impossible to do without disturbing the oscillator, because you would need DC coupling on the measurement (as you noted). Measuring at the output of the RCWL chip greatly confuses things.

    Also note that a continuously-changing phase shift (from a moving object, as in your theory) can be considered as “equivalent” to a small freq difference between two signals (as in the Doppler theory). So, are we really talking about different things, or are they the same?

    And again, note that I have a *working system* that does the following: the direct output of the sensor is amplified by a couple of op-amps; an A/D samples the waveform at 1 Khz; 256 samples are processed by an FFT; the highest magnitude is assumed to be the ‘main part’ of a person; the measured freq is converted to Velocity by the Doppler formula (the osc freq is known); the velocity is displayed in MPH. To be fair, in my system I used a CDM324 module, which is the more-sophisticated type that has separate components for xmtr, mixer, etc. These are well-documented, and there is NO DOUBT that their output is a “difference frequency”. If your theory is correct, it would mean that the simple 1-transistor types are working on a different principle.
    *** I think the proof would be to do an FFT on the output of the 1-transistor modules, and see if it correlates to velocity, or not. ***

    BTW, I believe this in error: “Objects moving towards (or away) from the sensor, produce peaks and toughs rather than a steady state offset; which would be caused by the Doppler effect” – if Doppler is the answer, then it is a steady-state *frequency*, not an offset. As mentioned above, this steady-state freq might be indistinguishable from a phase-interference effect that you describe.

  44. Pete
    |

    The more I think about it, I’m wondering if we are not describing the same thing from different directions.
    ** I’m describing a somewhat “bigger picture”, where the circuit functions as a mixer, and the output is a difference frequency. If the target is not moving, the difference freq is zero (the DC bias that you describe is irrelevant in this context). When the target IS moving, the diff freq is proportional to velocity.
    ** You are describing “how the mixer works” (interference, phase difference, etc.). With a non-moving target, there is a DC bias point, but this is not useful in a Doppler calculation.

    Are these not the same thing? The math that describes a frequency mixer is simple and well-known (A, B, A+B, A-B; where A-B is the only component that is relevant). What is the math that describes the output freq in the “phase-interference” model? Is the result the same?

    It is correct to say that the device does not produce a “doppler shift measurement” directly. But if it produces an equivalent difference freq, then a Doppler device can be built (as I did) given that the xmit freq is known.

  45. alin
    |

    Any plans to look into the light sensing circuit of the board?

  46. Roger Clark
    |

    I was only interested in its RF characteristics, and I was initially hoping to use it for Doppler speed measurements. But that’s not possible because its not a Doppler device

  47. Pete
    |

    Alin: The light-sensing capability is trivial. It is nothing but a CdS photocell that disables the output when the resistance of the cell is low enough due to ambient light.
    Roger: It produces a difference frequency that is proportional to velocity, but there are generally multiple reflections mixing together at the same time, so the waveform can be quite complex. Capture the data points, do an FFT on it, and you will see the frequency components that are proportional to velocity. It isn’t a “Doppler device” until you do this data processing! But note that what you’re calling a “Doppler device” is really a velocity measurement *derived* from Doppler-shift frequency data. The Doppler principle only describes a frequency shift. So of course, there is no output on the device (by itself) that directly indicates velocity.

  48. Roger Clark
    |

    Re: Doppler.

    Please read the other comments from people who have done some analysis on the signals and concluded its not a Doppler device, its mode of operation is mostly Interference / phase

  49. Anonymous
    |

    Sorry, I’ve read all the comments. Nobody looked at the actual frequency components of the data, which is where the answer lies! Your own graphs of ‘fast’ vs ‘slow’ show the freq difference in visual terms. Do an FFT on that data! I’ve had time to think about it over the last few weeks, while working on a related project. The “interference/phase” idea is an incomplete analysis, which, if carried to conclusion with the appropriate math (LaPlace transforms and such), would result in a description of a “mixer”. See: https://en.wikipedia.org/wiki/Frequency_mixer . Your “interference/phase” theory starts in the right direction, but is in the Time Domain only; and that’s not sufficient for a problem like this. I haven’t done this sort of math in about 4 decades (I’m old!), but I remember and understand the result. As I described previously, the output of a mixer has 4 components, one of which is the difference between the two inputs (which in this case is the “doppler shift frequency”). The nonlinear component that allows the mixing to occur is the transistor, which is also the oscillator in this minimalist implementation (the base-emitter and base-collector junctions behave as diodes). I finally found this video https://www.youtube.com/watch?v=jAeFQEHWLZU , where a fellow in Germany does a very nice explanation of how this 1-transistor design works. He knows what he’s talking about.
    Terminology comment: This is not really a “Doppler device”, rather it is a device (oscillator+mixer) that outputs a frequency difference, which becomes a *demonstration* of the Doppler Effect *when* the target is in motion. There is really no such thing as a “Doppler device”, because the Doppler Effect is something happens when a signal bounces off of a moving object (there is a frequency shift that is proportional to velocity) – no “device” is required.

    BTW, if you want to experiment and learn more, I suggest getting one of the “less minimalist” modules, such as the “HB100”. You would have to provide your own preamp circuit (many examples online), but they output a stronger difference freq, and are more stable and predictable, because the oscillator and mixer are implemented with separate parts (including a Dielectric Resonator Oscillator, which is fascinating itself). I just watched a YouTube video where a guy hooked one up to the sound card on his laptop, went out into the street, and recorded the “Doppler sound” of passing cars. He had some software that told him the frequency of the tone, and he did the math to compute Miles Per Hour of the cars (knowing that the HB100 is 10.525 GHz).

    Regards, Pete (retired EE)

  50. Roger Clark
    |

    I’m mot saying this based on just my analysis its other commenters.

    Sometimes they reply to comments but generally everyone is too busy, and I’m not using these modules as their range is far to short for what I was hoping to use them for, namely vehicle speed measurement as they passed my house