Turn your Wi‑Fi devices
into motion sensors
TOMMY transforms ordinary Wi‑Fi devices into motion sensors that detect movement through walls and obstacles. It's fully local and self-hosted with no cloud components. All processing happens on your network. Easy to install, integrates with Home Assistant or Matter, and creates zone-based motion sensors for smart home automations.
Supported Hardware
ESP32 Series
ESP32, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-S2, ESP32-S3
ESP32-C61
Expected in December 2025
Raspberry Pi B3+/B4
Expected in Q1 2026
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 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.
Fully local & self-hosted
It's fully local and self-hosted with no cloud components. All processing happens on your network.
How TOMMY works
TOMMY monitors disruptions in Wi‑Fi signals - movement between nodes changes wave patterns which the algorithm interprets as motion.
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.
Motion pattern analysis
When someone moves between nodes, they disrupt the Wi-Fi signal patterns in measurable ways that TOMMY can detect.
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.
2026 Roadmap
Upcoming features planned for TOMMY
Filtering Non-Human Movements
Distinguish between human motion and other movement sources like pets, fans, robot vacuum cleaners, and environmental factors.
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.
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.
Get Started in Minutes
Choose your preferred installation method
Home Assistant
RecommendedIntegration with your Home Assistant instance
AMD64/ARM64 supported
Ports can be changed in the add-on configuration if needed for your network setup.
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 to Home Assistant.
Docker
Linux OnlyFor self-hosted setups and 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.
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:latestAfter installation, access the dashboard at http://localhost:8089 to flash devices, define zones, and expose motion sensors to Matter ecosystems.
Choose Your Edition
Try Community Edition free, or go Pro for unlimited zones
Community Edition
Great for trying out Wi-Fi motion sensing in one room
Pro Edition
Buy once, use forever. Cover your whole house with multiple zones
Commercial
Custom licensing and dedicated support for businesses
Offline Activation
Activate your license offline. Server and devices don't need internet access.
Buy Once, Own 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
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 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. 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 most zones. Focus on placement for 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.
Yes. 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. You don't need an internet connection for it to work.