Wi-Fi sensing for Home Assistant
Turn Wi-Fi devices into
presence sensors.
TOMMY is a Wi-Fi sensing system that uses Channel State Information (CSI) from Wi-Fi packets to turn existing devices into presence sensors. It runs on your own hardware and all sensing data stays on your local network.

Install
Prepare two devices and the server.
You need two supported devices and the TOMMY server to get your first zone running. The devices sense the space. The server coordinates them and serves the dashboard.
You need two supported devices
Buy two ESP32 boards, or use ESPHome devices you already own.
Opens Home Assistant Supervisor and pre-fills the TOMMY repository.
Hardware
Dedicated devices or existing devices in your home.
TOMMY runs on most ESP32-based devices, from development boards to Shelly relays. There is no proprietary sensor to buy. The one hard requirement is that every device in a zone uses the same Wi-Fi band, either 2.4 GHz or 5 GHz. The ESP32-C5 and C6 detect stationary presence, while older chips detect motion only. On any chip, an external antenna picks up more than an internal one.
There are two ways to set up a device. You can convert a board into a dedicated sensing device using the TOMMY Flasher, or add sensing to an existing device using ESPHome.
Dedicated devices.
Plug the board in over USB, flash it from the dashboard, fill in a few details, and it comes up as a dedicated sensing device.
TOMMY Flasher · dashboard
A board in an outlet
Plugs in wherever you have an outlet.
The ESP32-C5 is the strongest chip for TOMMY. It has the most capable Wi-Fi radio, and it is the only one that supports 5 GHz. We recommend the Seeed XIAO because it includes an external antenna, has a small form factor, and is low-cost.
Existing devices in your home.
Anything that runs ESPHome on a supported board can run TOMMY alongside it. Hardware already in the home keeps its job and starts sensing too if you add the TOMMY external component to your ESPHome config.
ESPHome · YAML config
A relay inside the wall
Wires into a light switch box, always powered, completely hidden.
Currently the best in-wall relays are based on the ESP32-C6, which is the second best chip for TOMMY. It is not quite on par with the ESP32-C5, but a relay hides completely in the wall, stays permanently powered, and takes up no wall outlet. We recommend the relays below, since flashing ESPHome onto them is fairly simple.
This list covers dedicated devices and ESPHome devices. On ESPHome, any product internally based on the chip counts, like a Shelly Gen4, which is built on the ESP32-C6.
Some presence sensors, like the Aqara FP2 and Everything Presence, support ESPHome and can work alongside TOMMY. If you already have them in two rooms, you can add sensing in the area between them, a hallway for instance, without buying a third device.
Zones
Define a zone by placing devices.
A zone is the space between the devices you assign to it. Put two devices at opposite ends of a room and the zone covers that room. Place them further apart and the zone covers more.
A zone is not limited to one room
Because Wi-Fi passes through walls, furniture, and floors, detection covers everything between the devices. One zone can cover multiple rooms, an entire floor, or reach between floors to cover a whole house.
Devices can stay out of sight
Detection does not depend on seeing the room, so a device can go wherever it fits. Put one inside a cupboard, behind the TV, under a sofa, or in a switch box, and the zone works the same.
Topology
Choose how your zones are covered.
Every transmitter-receiver pair in a zone forms a sensing path through the room. Topology sets how those paths are laid out. Star fans them out from a single transmitter, while mesh crosses the zone from nearly every device. More paths cover more of the room, at the cost of extra Wi-Fi traffic.
A single device is the dedicated transmitter. Fewer sensing paths than mesh, but the least airtime and network bandwidth. If the transmitter goes offline, another device takes over automatically.
All but one device transmit, each covering a single direction. Covers every sensing path once, but not bidirectionally.
Performance Mode
Tune how much detail zones capture.
Performance mode controls how aggressively devices transmit. Higher modes capture faster movements and micro-movements like breathing, at the cost of more Wi-Fi traffic.
Minimizes network interference. May miss fast movements like quick entries into a room. Recommended for most users.
Increased transmission rate. Captures fast movements and micro-movements like running, breathing and keyboard typing.
Highest transmission rate. Maximum sensitivity.
Performance Mode
Higher modes increase sensitivity at the cost of more Wi-Fi traffic.
Network impact
Optimized for the least amount of network interference.
TOMMY shares the channel with everything else on your Wi-Fi, so it is built to take as little of it as possible. Zones exchange small fixed-size packets at a steady, predictable rate, and topology and performance mode let you dial the traffic down to what your setup actually needs. A 2-device zone in star topology on conservative mode stays under 1% of channel airtime, about as much traffic as a music stream.
Only some devices in a zone transmit; the rest listen and forward their measurements. Topology controls the count, down to a single transmitter regardless of zone size.
Broadcasts are 240 bytes at 30 per second in conservative mode. Listeners forward compact signal data of around 600 bytes per packet to the server.
The dashboard shows the estimated airtime your zones use per channel, broken down by zone, so you can verify the impact on your own network.
Channel airtime used · star topology · conservative mode
60 pkt/s · ~27 KB/s
120 pkt/s · ~63 KB/s
Estimates for a 5 GHz HE20 channel. The dashboard shows live numbers for your setup.
Visualizer
See what TOMMY sees.
The Signal Visualizer in the dashboard streams the live CSI analysis from every device pair in a zone. Walk through the zone and watch the signal respond in real time. Use it to verify coverage, debug placement, and confirm a zone behaves the way you expect.

Detection
Motion or presence.
Each zone runs in one of two detection modes. Motion detection works on any supported device. Presence detection adds stationary occupancy, including breathing and micro-movements, but requires specific hardware and configuration.
Walking, hand movements, sitting down, getting up. Supported on all devices and configurations.
Adds stationary detection through breathing and micro-movements, but requires specific hardware and configuration.
Optimal: ESP32-C5 on 5 GHz, 4+ devices.
Capable: ESP32-C6 on 2.4 GHz, 2+ devices.
Detection Mode
Algorithms
Pick the algorithm that fits your use case.
Wi-Fi signals pass through walls and reflect off surfaces, so presence from neighboring rooms can leak into a zone. For some setups that's exactly what you want. For others it's a constant source of false triggers. TOMMY ships with algorithms that either lean into that sensitivity or try to contain it, with the default sitting somewhere in the middle.
Reduces false positives from outside the zone as long as the zone is separated by walls. May miss stationary presence.
Reliable detection within the zone with minimal leakage. The default choice for most zones.
Captures all presence detectable by the devices. May detect presence outside the intended zone.
Home Assistant Integration
Each zone is a native motion sensor entity.
Install via HACS or as a custom component. Point the integration at your TOMMY instance over MQTT. Each zone you create in the TOMMY dashboard appears automatically as a motion sensor entity, syncing in real time as you add, rename, or remove zones.

INTEGRATION

ENTITIES

Matter Integration
Pair with any Matter controller.
Each zone can also be exposed over Matter as an occupancy sensor. Generate a QR code from the dashboard and pair it with Apple Home, Google Home, SmartThings, Home Assistant, or any other Matter-compatible controller. Setup codes are also provided for manual entry and re-pairing.
Matter pairing
Setup code
1234-567-8910
Videos
See it in action.
Walkthroughs from the Home Assistant community. Setup, zone configuration, and use in real homes.

Make your own Presence Sensors for CHEAP! TOMMY Sense TESTED →

Wi-Fi Sensing for Home Assistant! →

Unsichtbare Präsenzerkennung: Revolutioniert TOMMY Home Assistant? →

Ce capteur ESP32 détecte ta présence sans caméra →
Pricing
Test detection in your home. Upgrade when you're ready.
Detection pauses 1 minute every 2 minutes. Use this mode to test detection in your environment before upgrading to Pro.
- 1 zone
- Unlimited devices
- Home Assistant integration
- Matter integration
- Community support
A lifetime license for the full functionality of TOMMY. For personal home use only.
- Unlimited zones
- Unlimited devices
- Uninterrupted detection
- Home Assistant integration
- Matter integration
- Community support
Commercial use is not permitted under the standard license. If you're looking to deploy TOMMY in a commercial context, get in touch at info@tommysense.com with a short description of your use case.
Things worth knowing.
TOMMY runs on your own hardware, and all sensing data flows peer to peer on your local network. TOMMY needs an active internet connection for license verification and the optional Online Coordination service.
See a complete breakdown of network communication →Some components, like the Home Assistant integration, are open source. The core (sensing algorithm, firmware and server) is closed source. TOMMY's only funding comes from selling licenses, and keeping the core closed protects that.
Closed source raises two reasonable questions. Can you verify the local data claims? And what happens to your access if TOMMY ceases to exist?
You can always sandbox TOMMY and verify all connections yourself using packet inspection, but doing that on every release is tedious. That's why we run a bounty program that incentivizes the community to do this check for you, by rewarding anyone who finds undocumented network connections in current releases of TOMMY. Findings are fixed and published. Network Bounty Program →
And if TOMMY ever ceases to exist, we release offline activation for all purchased licenses which will allow your installation to work without our servers.
A few projects do Wi-Fi or RF-based sensing, each with different tradeoffs in hardware, ecosystem, and capabilities. We've written detailed breakdowns of how TOMMY compares.