🚀 Motion sensing reimagined

Turn your Wi‑Fi devices
into motion sensors

TOMMY transforms ordinary Wi‑Fi devices into powerful motion sensors that detect movement through walls and obstacles. Easy to install, integrates seamlessly with Home Assistant or Matter, and creates zone-based motion sensors perfect for smart home automations.

WORKS WITH
Home Assistant
ESPHome
Docker
Matter
Learn More

Supported Hardware

Implemented

ESP32-C6

TOMMY Flasher

ESP32-S3

TOMMY Flasher

ESPHome

YAML Config

Through-wall sensing

Motion 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 just 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 nodes changes wave patterns which the algorithm interprets as motion.

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

Get Started in Minutes

Choose your preferred installation method

Docker

Linux Only

Perfect for self-hosted setups and advanced users
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=8080 \
-e FILE_SERVER_HTTP_PORT=8090 \
-e FILE_SERVER_HTTPS_PORT=8091 \
-e MQTT_PORT=1884 \
-e UDP_RELAY_PORT=8547 \
-e WEBSOCKET_SERVER_PORT=8101 \
--restart unless-stopped \
tommysense/virtual-bridge:latest

After installation, access the dashboard at http://localhost:8080 to flash devices, define zones, and expose motion sensors to Matter ecosystems.

Standalone deployment

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
100+Active Members
24/7Community Support

Frequently Asked Questions

Everything you need to know about TOMMY

Wi-Fi motion sensing uses the disruption of Wi-Fi signals between devices to detect movement. When someone walks between two Wi-Fi nodes, they interrupt the signal path, creating a detectable pattern that TOMMY uses to identify motion.

Unlike PIR sensors that require line-of-sight and can miss motion behind furniture, Wi-Fi sensing detects movement through walls and obstacles. It provides whole-room coverage from just two nodes.

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.

TOMMY currently only detects movement, not stationary presence. Stationary presence detection is expected in Q1 2026.

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.

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

The devices do not need to be on the same router (e.g. in mesh setups), but they do need to be on the same network to communicate. Most home networks meet this requirement automatically.

Yes, TOMMY works as an external component and will run alongside your existing ESPHome components without conflict. You can continue using all your current sensors, switches, and other integrations.

Absolutely. TOMMY runs entirely locally on your network and does not require any internet connection. No data leaves your home.