DIY 60GHz Radar sensor to solve the nasty motion-sensor problem

Hey there.
Like some of us here in the community, I also have the desire to recognise movement so well that, for example, lights are switched on/off perfectly when entering the room.

With sensors based on the RCWL-0516 (wireless) or PIR (optical) I have never managed to achieve sufficiently good results. Although my cat was certainly happy when the light went on for him :smiley:

I found this awesome device from Aqara (FP1 aka RTCZCGQ11LM) but they can not deliver them a.t.m. and the price seems to be about 100€! Looking at some pcb pictures, I can non see the right chip for radar detection…

Sadly it seems that 24GHz is not allowed in some areas in the world, like eu and usa. So this nice project was not a solution for me.

Then I was searching for 60ghz on my fav. search-engine and I found this landing-page:

Getting more into the details I found this pretty device:

  • Cost at the moment (with tax in my country) about 40€
  • Can detect movement
  • Can detect presence
  • Can detect micro movement
  • Has an autonomous-mode

Here is a nice promo video: (title: Getting started with BGT60LTR11AIP Shield)

I have pre-ordered 2 modules and hope that they will be available soon. With this thread here, I wanted to draw attention to it and I would be very happy if a few others can be found here who would have the fun to implement.

On the other hand, I am neither an expert nor a newcomer in building diy iot devices. Probably I would take the ESP32 first to then also integrate as a HomeAssistant sensor.

I would be very happy about your opinions and tips.

Your, JamieMe


Radar sensors make for a fun project. There are indeed lots out there available today. Including the sensor in the FP1. There is a reddit thread with the part a few months ago. FCCID pictures also give it away. I checked back then and it was in stock.

Let us know how you make out with your new sensor when it arrives.

Following this, am very interested in these as well. Please update once you receive the modules how you can integrate them and create your own sensors.

I too would like a room sensor that can detect a person and not just motion.

Hoping it wouldn’t be the case but looks to me like 24 GHz is forbidden in Australia.

Guess I’ll be following the potential for a 60 GHz mmWave sensor too!

My concern is that the detection “strength” on 60 GHz vs 24 GHz will be too sensitive. Interested in purchasing and testing it for myself.

Says who? That highlighted “24 GHz” isn’t 24.99999. It is part of a range, with decimals. Starting from 23.6 GHz up to 24.000000 GHz. It stands to reason that anything > 24.00000 is acceptable. And to support that comparison, sells 24Ghz sensor modules…

Pretty sure that a large corporation is a far larger target for litigation for breach of spectrum than an individual using such low power modules that the signal likely cannot even be detected beyond the walls of their own home.

I reckon you’re right. Didn’t see it that way and assumed it was inclusive of the entire GHz band!

I say go for it. I now have three radars in my kitchen. I think I have a problem… :dizzy_face:


In case there is any interest in a similar off the shelf solution. No too much known just yet…

@JamieMe Did you get the sensors to work? What are your findings? Also interested in them

I have them here but… the time :frowning:

I hear ya. Well if you do get to it. I’d love to hear more about it. Might order them and try them out myself

1 Like

I created a prototype yesterday. It detects movement and approaches with autonomous mode. I got all the boolean switches I needed with zigbee2mqtt and integrated them into my homeassistant.

So my BGT60 is now connected with 4 wires to an CC2530 test-dev-board.

I create a firmware for that with the ptvo-firmware-creator and flashed it with a raspberry-pi-zero 1.3. I used this flash-tool-set but you can use a cc-flasher for that too.
The flash process for me, was like this here:
Alternative flashing methods | Zigbee2MQTT
I will later create a diagram to show you the right connection, If you need this(?).

There are only 2 problems for me atm.:

  • My cat triggers the light-on automation :confused:
  • I got some ghost-trigger events and I am unsure why. Perhaps just some of the jumper cables are not fit right.

This is how the sensor looks on z2m:

Here you can see state_l1 and state_l2

@NiMa008 @crlogic @ASNNetworks and others. Should I upload my hex-firmware here?

Ad 1. I don’t think you’ll be able to do anything about it. That’s the drawback of having something that is sensitive enough to detect someone sitting or something similar. The only thing I see would be to use some form of enter/leave events to know that something is in the monitored area and decide at that moment that it’s a person through the size. If it’s big enough: it’s human. And after that, even if the movement is much smaller (breathing for example), but the leave wasn’t fired - it’s still human. So for your cat it would work like: on enter it’s too small to be human so no reason to monitor for occupancy.
Of course there’s also possibility to use additional sensors, like you’ve mentioned in the different thread. Checking for temperature as well would also remove false triggers from some things. The best would be to know combine size and temperature with events.

Ad 2. With 60GHz sensor anything can trigger if you don’t compensate for that. Moving curtains, leaves, fan…anything. Positioning is crucial here, to minimize possible environmental factors. If you need it for specific task, like “knowing” if someone is sitting on the couch, then it’s best to narrow down the sensor’s view and point it directly at such couch.

Thank you for your comments. I actually think there should be a way to lower the sensitivity of the sensor. Only I do not quite understand how to do this :smiley:

At the moment I use the autonomous mode. This is the simple mode of the chip. For this I simply evaluate the pins TDet and PDet. One stands for presence, the other if something moves towards or away from the sensor.

On page 18 of this PDF’s is described how to influence them. At least that’s how I understood it… :smiley:

So do I understand it correctly. To set the sensitivity to 6, for example, I have to solder a 10 kΩ resistor to R9 and a 15 kΩ resistor to R10?

I can’t help you with things like that, sorry. But I want to advise on the sensitivity thing - if you lower it too much, you won’t be able to detect when someone is not moving (like sitting on the couch) because sensor won’t see all those mico-movements that humans normally do (breathing is one of them). That’s the main issue, so to speak, with mmWave sensors. They see too much :wink:

This is good advice. These sensors can be tricky to get dialed in. And the sensor that offers more flexible configuration options are going to be easier to setup.

Oof… …a sensor that requires soldering to configure sensitivity isn’t going to be fun to work with.

@Draghmar - What exactly do you envision “enter/leave” to report? Seems that a sensor could never “know this by default” since “entering/leaving” implies room boundaries which the sensor would be unaware of. Perhaps a combination of a “distance” setting as well as “approaching/leaving”? (funny angles would complicate this…)

The RFBeam K-LD2 does the distance + approach/recede; but doesn’t combine them into enter/leave. Nor is it a presence sensor.

But an interesting proposition none-the-less. The challenge I see is when you get a “false positive for leaving but are still in the room”. Do you have to leave then re-enter to reset it?? eeks!

The enter event would simply detect any move in the detectable area. In most cases the object would move into the area, so the sensor would detect it at the edge, thus “knowing” that the enter happened. There can be of course situations where something would start moving somewhere in the middle of the area. I don’t know if it should trigger the same event (I don’t thinks so) but it should try to determine if that is a human anyway. More elaborate system could remember last position of the object and try to “guess” if that movement is something new or not.
Other case would be enter that would stay at the edge, which would mean it would be small but in reality we wouldn’t know if it’s small because it is small or because it would have iceberg syndrome. I guess that would be a difference between enter and occupancy.

As for the leave it would work in the opposite way: just track the object when it disappears when moving to the edge. In both events I imaging it could work in a similar way to edge swipe detection in smartphones. That would remove the issue of the false positives you were suggesting. :wink:

I don’t have knowledge on how exactly those sensors work. For example I don’t know if one sensor is enough to determine position in space or if two are needed for calculations (FP1 has one sensor as far I know so I guess one is enough). The detectable area should be known, at least in theory, because specs tells us what are max horizontal and vertical ranges.

I try to add an HC-SR04 to my CC2530 zigbee adapter but it does not work.

This was the valid config for the bgt60 sensor in autonomous-mode.

The basic config for the HC-SR04 could be found here:

So my resulting config was this:

Sadly my zigbee2mqtt show always this:

Can anybody help me? I want to combine HC-SR04 with the BGT60 to get better results.

Have you tried with only the HC-SR04 configured? Are you sure that the HC-SR04 is working?