I wanted a sensor in the bathroom that i can use to turn on the lights when someone enters the room and turn them off after a minute without movement. Simple enough, but IR motion doesn’t work well in this case, because it is unable to detect a person behind the shower curtain. Also, the shape of my bathroom makes it very difficult to reliably detect movement with a single IR sensor.
I tried a mmWave sensor. it can detect a person behind a shower curtain without any problems, it even detects through walls! It works very well at detecting the tiniest of movement. It detect presence even if you are standing still just from breathing alone. However, as i found out, the time it takes to initially detect movement is not always reliable. Sometime, i would walk halfway across the bathroom before the light would turn on. This is a problem a IR sensor does not have since it responds very quickly to movements.
Then i stumbled on a video where he talks about combining the two types of sensor and decided to try it. As he said himself, this is the holy grail of sensors, boy was he right. It’s amazing!
Basically, the IR sensor is used to turn on the lights only and the lights are turned off once the mmWave sensor no longer detect movements.
I decided to build my own board. but instead of having both sensors pointing in the same direction, i mounted the IR sensor sideways on the PCB so that it is pointing down. That way, i can install the sensor above the door and this allows it to turn on the lights as soon as i enter the bathroom.
I posted the design files on GitHub in case somebody is interested building it. All the components can be found on Mouser except the mmWave sensor SEN0395 from DFRobot. Right now, it’s out of stock but expecting a shipment in September.
Features:
- For ESPHome (esp32-c3)
- SEN0395 mmWave sensor
- IR motion sensor
- SHT45 temperature/humidity sensor
- USB-C connector
- Option to mount the IR sensor facing front or downward.