TOMMY

TOMMY vs ESPectre

Compare TOMMY's Wi-Fi sensing approach with ESPectre, an open-source Wi-Fi CSI motion detection project. Technology, setup, and capabilities compared.

Overview

ESPectre and TOMMY both detect motion by analyzing Wi-Fi Channel State Information (CSI) on ESP32 devices, but they take very different approaches. ESPectre is an open-source (GPL-3.0) project where a single ESP32 "listens" to the Wi-Fi link between itself and your router. TOMMY is a closed-source system where multiple ESP32 devices form a sensing mesh and measure signals between each other, which lets you define arbitrary zones.

If you prefer an open-source solution and single-device-per-area sensing is enough for your use case, ESPectre is a solid option. If you want multi-device zones, richer integration, and an easier install, TOMMY is a better fit.

Technology Comparison

AspectTOMMYESPectre
Released17 August 20252 November 2025
TechnologyWi-Fi sensing (Channel State Information)Wi-Fi sensing (Channel State Information)
ProtocolWi-Fi (802.11)Wi-Fi (802.11)
Signal AnalysisMeasures fluctuations in Wi-Fi signalsMeasures fluctuations in Wi-Fi signals
TopologyMesh - ESP32 devices measure links between each otherStar - ESP32 measures the link between itself and the router

Comparison

Device Requirements

AspectTOMMYESPectre
Device count2 or more devices1 or more devices
Device compatibilityESP32, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-S2, ESP32-S3ESP32, ESP32-C3, ESP32-C5, ESP32-C6, ESP32-S2, ESP32-S3

Sensing Capabilities

AspectTOMMYESPectre
ZonesFreely defined by placing devices. A zone is the mesh formed between the devices you assign to itLimited to the router-to-device path. Each ESP32 senses motion along its link to the router, so you can only contain a zone within a single room if the router sits in that room
Detection areaMotion is detected in the mesh area formed by the ESP32 devices in a zoneMotion is detected along the path between your router and the ESP32
Obstacle penetrationCan detect motion through obstacles and wallsCan detect motion through obstacles and walls
Motion filteringCannot differentiate between human movement and other moving objects (pets, curtains, fans, etc.). Human vs. non-human filtering planned for Q2 2026Cannot differentiate between human movement and other moving objects (pets, curtains, fans, etc.)
Stationary presence sensingSupported with compatible hardware (see Detection Mode)Not supported

Setup and Integration

AspectTOMMYESPectre
InstallationHome Assistant add-on or Docker container (~2 mins setup)CLI tool (~10-15 mins setup, as stated in the docs)
Home Assistant integrationNative Home Assistant integration with automatic entity creation, or integrate through MatterIntegrates with Home Assistant through MQTT and manual entity creation
ESPHome supportSupportedSupported

Privacy and Cost

AspectTOMMYESPectre
PrivacyRuns locally, no cloud requiredRuns locally, no cloud required
System typeClosed-source, proprietary systemOpen source (GPL-3.0)
PriceFree Trial Mode. Pro Edition available as one-time purchaseFree

Use Cases

When to choose TOMMY

  • You want stationary presence sensing
  • You want to define arbitrary zones by placing devices rather than being tied to the router-to-device path
  • You want a one-click install through the Home Assistant add-on store or Docker
  • You want native Home Assistant integration or Matter integration out of the box

When to choose ESPectre

  • You want a fully open-source solution and are comfortable with GPL-3.0
  • Single-device, single-area motion detection is enough for your use case
  • You're fine with a CLI-based setup and wiring things up through MQTT manually
  • You want to get started with zero software cost and only hardware to buy