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. All processing happens locally on your network. Easy to install and integrate with Home Assistant or Matter.

INSTALLATION
Home Assistant Add-on
Docker Container
SUPPORTED DEVICES
ESP32
ESP32-C3
ESP32-C5
ESP32-C6
ESP32-S2
ESP32-S3

Can be flashed through the dashboard or ESPHome

INTEGRATIONS
Home Assistant
Matter
tommy.local:8089
TOMMY Dashboard

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

The setup, from install to automations.

2+
Devices Required
Per Zone
Setup
1
Install TOMMY

Install the TOMMY add-on in Home Assistant, or run it standalone with Docker.

2
Open the dashboard

Open the TOMMY dashboard to manage your zones, devices, and performance settings.

3
Create a zone

Add a zone for each room or area you want to cover.

4
Flash at least 2 devices

Plug ESP32 boards into USB, flash them from the dashboard or through ESPHome, and assign them to a zone.

Presence Detection
Devices form a mesh

Once powered, the devices pair up and continuously exchange Wi‑Fi packets between each other inside the zone.

Your body disrupts the signal

Movement between the devices disrupts the Wi‑Fi signal. TOMMY analyzes this to detect motion and presence.

Integrations
Install Home Assistant integration

Each zone is exposed as a motion entity you can use directly in your automations and dashboards.

or
Connect via Matter

Zones are exposed over Matter and work with any Matter-compatible controller or platform.

Get Started in Minutes

Choose your preferred installation method

Home Assistant

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 and define zones.

Docker

Linux Host 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

The dashboard can be accessed at http://localhost:8089. Use it to flash devices and define zones.

Choose Your Edition

Evaluate TOMMY in your environment for free, or go Pro with a one-time purchase per zone. No recurring fees.

Trial Mode

Free

Evaluate with 1 zone. Detection pauses for 1 minute every 2 minutes.

1 zone
Unlimited devices
Stationary presence detection*
Home Assistant integration
Matter integration
Community support
Uninterrupted detection
Commercial use

Pro Edition

One-time lifetime purchase. Pay only for the zones you need.

1 zone
Unlimited devices
Stationary presence detection*
Home Assistant integration
Matter integration
Community support
Uninterrupted detection
Commercial use

Pro Edition

One-time lifetime purchase. Cover every zone in your home.

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

* Stationary presence detection requires compatible hardware. Learn more.

Looking to deploy TOMMY commercially?

We are open to working with businesses on custom deployments, OEM integrations, and vertical-specific use cases across office, retail, hospitality, and industrial environments.

If you have something in mind, email us at info@tommysense.com with a short description of your use case. We'll let you know if we can help.

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.

Q2 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.

Q3 2026

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 adding new features when we believe they are ready for real-world use.

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. An internet connection is required for license activation and verification.

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.

TOMMY runs entirely on your own network. All processing happens locally, and no sensing data ever leaves your home.

The only external internet communication is for license activation and periodic license verification. Optionally, you can enable online coordination for automatic device discovery. This feature is opt-in and can be replaced with mDNS or manual discovery.

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.

A handful of projects today do Wi-Fi or RF-based sensing. Some are open source, some are closed source, and each takes a different approach in terms of hardware, ecosystem, and capabilities. We've put together a comparison page that summarizes the landscape and links to deeper breakdowns against specific projects.

See the comparisons overview for the full list.

TOMMY is licensed for personal home use only. We are open to working with businesses on custom deployments, OEM integrations, and vertical-specific use cases. If you have a commercial use case, reach out at info@tommysense.com with a short description. We'll let you know if we can help.