Turn your Wi‑Fi devices
into motion and presence sensors

TOMMY transforms ordinary Wi‑Fi devices into motion and presence sensors that detect occupancy through walls and obstacles. It's fully local and self-hosted with no cloud components. All processing happens on your network. Easy to install and integrates with Home Assistant or Matter.

WORKS WITH
Home Assistant
ESPHome
Docker
Matter
PRIVACY & SECURITY
Self-Hosted
Fully Local
No Cloud
tommy.local:8089
TOMMY Dashboard

Supported Hardware

ESP32 Series

ESP32C3C5C6S2S3
Supported

ESP32-C61

Expected in Q1 2026

Planned

Raspberry Pi B3+/B4

Expected in Q1 2026

Planned

One-click flashing • ESPHome compatible

Through-wall sensing

Occupancy is sensed through walls and obstacles, which allows devices to be hidden in closets, cupboards, or anywhere out of sight.

Flexible zone coverage

Create zones that span your entire house with a few devices, or divide areas like "upstairs" and "downstairs" regardless of room boundaries. No need for sensors in every room.

Direction-free setup

Unlike traditional sensors that need to "look" at specific areas, Wi-Fi sensing monitors the entire area within a zone without requiring careful positioning or aiming.

How TOMMY works

TOMMY monitors disruptions in Wi‑Fi signals. Movement between the nodes changes wave patterns which the algorithm interprets as motion and presence.

1
Mesh network formation

Devices within your defined zone form a mesh network, continuously transmitting small Wi-Fi packets to each other, creating invisible detection paths throughout your space.

2
Motion pattern analysis

When someone moves between nodes, they disrupt the Wi-Fi signal patterns in measurable ways that TOMMY can detect.

3
Real-time motion updates

TOMMY analyzes disruptions in real-time and reports motion in your defined zones. Each zone maps to a motion sensor entity for Home Assistant / Matter ecosystems.

2+
Devices Required Per Zone
ESP32ESP32ESP32ESP32Motion Detected

Why TOMMY

Wi-Fi sensing is being rolled out by large corporations to routers and smart devices. TOMMY is the self-hosted alternative, where you own the data.

Wi-Fi sensing capabilities

Wi-Fi signals are already being broadcast everywhere. Wi-Fi sensing looks at changes in those signals to detect motion and presence. Researchers are also exploring additional uses such as identifying who is in a room, monitoring breathing patterns, or detecting falls. The new 802.11bf standard is laying the foundation for bringing these capabilities to routers and IoT devices, but each manufacturer decides how they are implemented and where the data ends up.

Right now, motion and presence sensing are the features we believe work well in real environments. The rest remains an active area of research. All of it involves sensitive data, and who has access matters.

Your data, your home

When large corporations add Wi-Fi sensing to their routers and devices, your data could end up on their servers. Imagine data about how you move, breathe, or the activities you do in your home being in the hands of anyone but yourself. TOMMY does the opposite. Everything runs locally. You get powerful sensing capabilities without the data ever leaving your network.

TOMMY's vision

We believe Wi-Fi sensing has real potential to transform home automation. With TOMMY, we want everyone to benefit from it without the privacy tradeoff. We're building a self-hosted solution that aims to match or surpass what large corporations offer, while keeping control in the hands of the user. As the technology evolves, we continue developing TOMMY and add new features when we believe they are ready for real-world use.

2026 Roadmap

Upcoming features planned for TOMMY

Stationary Presence Detection

Detect when someone is present in a zone even when they're not moving, supporting room occupancy detection for sleeping, reading, or other stationary activities.

Implemented

Filtering Non-Human Movements

Distinguish between human motion and other movement sources like pets, fans, robot vacuum cleaners, and environmental factors.

Q1 2026

Passive Devices as Sensors

Allow devices that are not flashed with TOMMY firmware to be used as passive sensors (e.g., Smart TVs, computers, gaming consoles). This will reduce the number of dedicated sensors needed.

Q2 2026

Get Started in Minutes

Choose your preferred installation method

Home Assistant

Recommended

Integration with your Home Assistant instance
AMD64/ARM64 supported

Ports can be changed in the add-on configuration if needed for your network setup.

Open your Home Assistant instance and show the add add-on repository dialog with the TOMMY repository pre-filled.

Click the button above to add the TOMMY repository to your Home Assistant instance, then install the add-on and configure your ESP32 nodes in the dashboard.

The dashboard can be opened in Home Assistant and added to your sidebar. Use it to flash devices, define zones, and expose motion sensors through the Home Assistant or Matter integrations.

Integrated dashboard in Home Assistant
Supports both online and offline license activation

Docker

Linux Only

For users who want standalone deployment
AMD64/ARM64 supported

Host networking is required for mDNS discovery of ESP32 devices. Ports can be configured through environment variables.

Terminal
docker run -d --name tommy \
--network host \
-v $HOME/.tommy:/data \
-e DASHBOARD_PORT=8089 \
-e FILE_SERVER_HTTP_PORT=8090 \
-e FILE_SERVER_HTTPS_PORT=8091 \
-e MQTT_PORT=1886 \
-e UDP_RELAY_PORT=8547 \
--restart unless-stopped \
tommysense/virtual-bridge:latest

After installation, access the dashboard at http://localhost:8089 to flash devices, define zones, and expose motion sensors through the Home Assistant or Matter integrations.

Only supports Docker on Linux
Only supports online license activation

Choose Your Edition

Try Community Edition free, or go Pro for unlimited zones

Community Edition

Free

Great for trying out Wi-Fi sensing in one room

1 zone
Up to 4 devices
Stationary presence detection*
Home Assistant integration
Matter integration
Community support
Commercial use

Pro Edition

Cover your home with multiple zones. Buy once, use forever. Single machine license.

Unlimited zones
Unlimited devices
Stationary presence detection*
Home Assistant integration
Matter integration
Community support
Commercial use

Commercial

Custom

Custom licensing and dedicated support for businesses

Unlimited zones
Unlimited devices
Stationary presence detection*
Custom integrations
Dedicated support
Commercial use

* Stationary presence detection requires compatible hardware. Learn more.

Offline Activation

Option for offline activation. Not supported for Docker installations.

Buy Once, Use Forever

Pay once and it's yours. No subscriptions or recurring fees.

Your Data Stays Home

Complete privacy protection. Works on isolated IoT VLANs. No data collection or tracking.

Join the TOMMY Community

Connect with other users, get support, and stay updated on the latest features

Product Updates

Get notified about new releases and features

Community Support

Get help from experienced users and developers

Feature Requests

Suggest new features and vote on community ideas

Join Discord Community
800+Active Members
24/7Community Support

Frequently Asked Questions

Everything you need to know about TOMMY

Yes. With the right configuration, TOMMY can detect breathing and micromovements, enabling stationary presence detection. See the Detection Mode documentation for configuration requirements and optimal setup.

The current version detects all movement including pets, curtains, fans, and other moving objects. Future versions will include filtering, but for now you can adjust the sensitivity slider to reduce small movement detection.

No hub required. TOMMY runs as a Home Assistant add-on or on a Linux host (Docker) and uses supporting devices to create a sensing network. Everything runs on your local network with no cloud dependencies.

Minimum 2 devices per zone. While more devices can provide better coverage, there are diminishing returns after 4 devices in a zone. Focus on placement for zone coverage rather than maximizing device count.

Yes, TOMMY works with ESPHome. You can flash your devices either with the native TOMMY flasher or through ESPHome. The TOMMY flasher provides a more integrated experience such as automatic OTA updates, while ESPHome allows you to use other ESPHome components alongside TOMMY. Sensing performance is the same either way.

No. We want to be upfront about this.

Some components, such as the Home Assistant integration, are open source. The core parts are not.

TOMMY is built by a very small, bootstrapped team. To keep the project sustainable and continue developing and maintaining the features on the roadmap, we need a way to generate income from it. Because TOMMY is fully self-hosted, open sourcing the entire system would make it difficult to fund ongoing development.

Our goal is to offer a privacy-first, self-hosted solution that is reliable and actively maintained.

TOMMY is fully local and self-hosted with no cloud components. Everything runs on your network, all processing happens locally, and no data ever leaves your home. These privacy aspects are not just a promise: they are verifiable through network packet inspection or by simply placing TOMMY in an isolated IoT VLAN.

The Home Assistant Add-on supports offline license activation, allowing complete operation without internet connectivity. Note that Docker installations currently require an active internet connection to communicate with the license server.

For privacy-oriented users or IoT VLAN setups where devices are isolated from the internet, the Home Assistant add-on is recommended.