Show HN: Tommy – Turn ESP32 devices into through-wall motion sensors (tommysense.com)
TOMMY started as a project for my own use. I was frustrated with motion sensors that didn't detect stationary presence and left dead zones everywhere. Presence sensors existed but were expensive and needed one per room. I explored echo localization first, but microphones listening 24/7 felt too creepy. Then I discovered Wi-Fi sensing - a huge research topic but nothing production-ready yet. It ticked all the boxes: could theoretically detect stationary presence through breathing/micromovements and worked through walls and furniture so devices could be hidden away.
Two years and dozens of research papers later, TOMMY has evolved into software I'm honestly quite proud of. Although it doesn't have stationary presence detection yet (coming Q1 2026) it detects motion really well. It works as a Home Assistant Add-on or Docker container, supports a range of ESP32 devices, and can be flashed through the built-in tool or used alongside existing ESPHome setups.
I released the first version a couple of months ago on Home Assistant's subreddit and got a lot of interest and positive feedback. More than 200 people joined the Discord community and almost 2,000 downloaded it.
Right now TOMMY is in beta, which is completely free for everyone to use. I'm also offering free lifetime licenses to every beta user who joins the Discord channel.
You can read more about the project on https://www.tommysense.com. Please join the Discord channel if you are interested in the project.
A note on open source: There's been a lot of interest in having TOMMY as an open source project, which I fully understand. I'm reluctant to open source before reaching sustainability, as I'd love to work on this full time. However, privacy is verifiable - it's 100% local with no data collection (easily confirmed via packet sniffing or network isolation). Happy to help anyone verify this.
25 comments
[ 3.6 ms ] story [ 51.9 ms ] threadI don't see how either the HA instance or the Linux host can't be viewed as a hub. No hub required feels untrue to me. I assume this question is intended to clarify that some additional device is not necessary, but I think this could be reworded.
1. Does it have any idea of the range at which motion is happening, relative to the distance between nodes or otherwise?
2. Can it correlate motion with that of another WiFi or Bluetooth device? So if I'm carrying my phone and it can see me moving, can it tell that it's me?
3. What's the movement -> signal latency?
What's the configuration/calibration like? Do I need to set any proximity baselines?
lots of opportunity for pinball wizard jokes / easter eggs
How is a "zone" configured? I understand that if I have 3+ devices, the zone is essentially the area between them. But what about two devices? I'm assuming the zone isn't just a straight line between them, or maybe it is? What kind of zone configuration can one do in the dashboard?
The new philips hue bulb bridge supposedly can turn them all into motion sensors. Do you think this could use what ever data they are pulling from the bulbs to do that as well?
I had an idea to build a restricted zones for a phone. For example, I can't take my phone to bed, so I wanted to create a esp32 based project that beeps when the phone is too close to some areas. I made it based on BLE, but iphone masks MAC addresses, so it was impossible to track particular devices. No I realize, I could actually do it with WIFI signal straight. How I didn't think about it. Will try again today :D
OR, am I completely missing the point that it's "through walls", not necessarily in-wall (though that would work). A wall-wart-sized device containing the ESP32 board could be plugging in to each room and share the node (on the opposite wall) of the next room?
Very cool project and love the HA integration as well. I'm using PiR and mmWave (Z-Wave and Zigbee) currently but obviously you either have to run power for those or deal with replacing batteries, this seems much more maintainable and unobtrusive.
The real benefit from the sensors working through walls in my opinion is to be able to hide the devices away (e.g. in a closet or drawer) + being able to create zones that crosses walls. Image wanting a zone called 'upstairs', 'downstairs', 'garage' etc. which consists of multiple rooms divided by walls. Instead of having a sensor in each room you might just need one on each side of the total area.
Thanks! I agree with the PiR and mmWave limitations. Right now I think this project can replace motion sensor. Hopefully mmWave when stationary presence detection is added (planned Q1 2026).