Presence sensors cost $80 a room, but an ESP32 and mmWave radar can detect your breathing for $15

Presence sensors cost $80 a room, but an ESP32 and mmWave radar can detect your breathing for $15

Published Nov 10, 2026, 5:30 PM EST Samir Makwana is a technology journalist and editor from India since past 18 years and his work appears on MakeUseOf, HowToGeek, GSMArena, BGR, GuidingTech, The Inquisitr, TechInAsia, TechWiser, and others. He has written news, features, and gadget reviews for national technology media publications. His passion is to help people with their technology problems and gadget purchases. For that, he has worked for some of the biggest international technology publications, covering news, explainers, how-to guides, listicles, and product-buying guides. He has worked as an editor and managed teams since 2015. His expertise broadly covers computers, smartphones, game consoles, headphones, smart home products, browsers, and apps. A smart home that turns off the lights while you’re still sitting on the couch isn’t smart. Cheap PIR sensors only detect movement, and a ready-made presence sensor in every room adds up quickly. The Aqara Presence Sensor FP2 is listed at $80 per room. Even a Wi-Fi-based motion sensor can’t tell if you’re still there. But an ESP32 and a mmWave radar module can. With ESPHome, an ESP32-C6, and an HLK-LDR2410C module, you can make a presence sensor that can pick up your breathing, and the pair costs around $15. Here’s how I would build one for every room, and where it needs work. Motion sensors can’t tell you that you’re still in the room PIR and Wi-Fi sensing both need you to move PIR sensors work by reacting to heat moving across their view. So when you sit or lie down, they lose you. That’s the limit of Adam Conway’s $5 Zigbee build on the ESP32-C6. Wi-Fi sensing has the same gap. ESPectre turns the ESP32’s radio into a motion sensor, which works well for hallways where it has to report motion. But it can’t tell when someone is sleeping or sitting in the room. Presence needs a sensor that picks up tiny movements. An mmWave radar sensor sends out a signal and reads the reflections, so it can pick up your chest rising and falling, even when you’re asleep. Tiny shifts in those reflections show up as movement. My colleague, Jasmine Mannan, explains why that works where PIR doesn’t. That’s what a real presence sensor needs. An ESP32 and an mmWave module cost about $15 per room The LD2410C talks to ESPHome over UART The ESP32-C6 board costs about $5, and radar modules like the LD2410C are available under $10 on AliExpress. Older variants include the LD2410 and LD2410B. Still, the LD2410C has standard 254mm pin headers, Bluetooth connectivity, and a slightly larger PCB with well-spaced pins, making it easy to connect Dupont jumper wires. It also has Bluetooth for configuration through the HLKRadarTool app. The wiring involves four connections: 5V, ground, and the UART TX and RX lines between the board and the sensor. The LD2410C’s 24GHz radio reaches about 6 meters, which is good enough for an office or a bedroom. But the same signal weakens a lot through walls, so every room needs its own sensor. That’s why the cost is per room, not per home. With ESPHome, you can set the LD2410C’s UART to 256000 baud and add the LD2410 platform. In Home Assistant, you get the Presence entity along with moving and still target entities. I would use the moving target to turn on the lights quickly, and the still target to help decide when to turn them off. Mount the module on the wall facing where you usually sit or sleep, and keep it away from fans or moving curtains to avoid false presence reports. XIAO ESP32 C6 The XIAO ESP32 C6 is a great starting point for the world of ESP microcontrollers. Using Bluetooth proxies to report who’s in the room Bermuda adds identity to the radar’s yes or no Bluetooth can also tell you who’s in the room. An ESP32 running as a Bluetooth proxy listens for BLE advertisements from phones and watches. With the Bermuda integration installed through HACS, Home Assistant estimates which room a particular device is in. Adam Conway built a Bluetooth-based presence sensor around the same idea. However, I wouldn’t rely on that alone, because it only works if someone carries a phone or a watch. My family tends to leave their phones in drawers, so my multimodal presence sensor pairs Bluetooth with radar. In the end, radar answers whether the room is occupied, and the Bluetooth answers who is in it. The good thing is that an ESP32 board with a radar module can run Bluetooth proxy too, so you don’t need a separate board. You need to tune radar before trusting it The false triggers show up with still presence An mmWave sensor is more sensitive than it looks, and you’ll need time to tune out false positives. For example, ceiling fans and moving curtains can create phantom readings, as Jasmine notes, and the radar can sometimes pick up movement through a thin wall. A sensor can get stuck reporting presence in an empty room until you adjust its thresholds. ESPHome’s LD2410 component also has a timeout, which sets how long presence holds after the sensor stops seeing you and defaults to 5 seconds. So you will want a longer one for rooms where you sit still. Begin with default sensitivity, watch the Presence entity for a day, and then adjust one distance gate at a time. My multimodal build’s hardware took less than an hour, and tuning out the false positives took a couple of days. I am still setting up mmWave units in the remaining rooms, so I can’t promise a smooth first night. The boards also need USB power, so each room needs a nearby power outlet, and the $15 doesn’t include the cable and adapter. If you’d rather not tune anything, a plug-and-play commercial sensor like the Aqara FP2 is easier. That’s the real trade-off with ESP32: you save money and give up some time. You can avoid overspending on presence sensors for every room An ESP32-C6 with an LD2410 module can deliver real presence sensing on a tight per-room budget. Also, everything stays local in Home Assistant. Radar handles whether someone’s in the room, and a Bluetooth proxy identifies who’s present. The price is tuning time and pulling a power outlet in each room. I will take my time to put mmWave units in the remaining rooms, then add Bluetooth proxies where I want to know who is home. ESPHome Turn your ESP32, ESP8266, or RP2040 boards into powerful smart home devices with simple YAML configuration

Original Source

Read the full article at Xda-developers →

KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.