YOU CAN BUILD A MOTION SENSOR THAT SEES THROUGH WALLS WITH NO CAMERA

A ten-euro ESP32 watches how movement disturbs the radio channel between it and your router, no camera involved.

by Francesco Pace

FULL CAD BOM FIRMWARE DOCS

HomeAutomation

difficulty
●●○○○
time
an evening
license
GPL-3.0
repo
repo ACTIVE8,973 stars

WHAT YOU’LL NEED

  • Electronic partsfull list with part numbers in the repo BOM
  • Dev board / microcontrollerruns the project firmware

Partner

Run your scrapers in the cloudThis build needs data collection that runs 24/7. Apify's free plan includes $5 in credits every month — no card needed.Try Apify free
1

COMPAREE VERDICT

ESPectre turns an ESP32 into a motion sensor by reading Wi-Fi channel state information, the per-subcarrier measurements the chip already makes about the radio link to your router. When someone moves through the room, they change the wave patterns the same way a hand in front of a torch changes the shadow, and the software watches for that change. The hardware is one ESP32 board with CSI support — C6 and S3 are recommended, C3 and the original ESP32 also work — and the 2.4 GHz router already in the house. Nothing on the router is touched. The software is an ESPHome component, so it appears in Home Assistant as a normal binary motion sensor with the detection threshold exposed as a slider and debug sensors alongside. Setup is quoted at ten to fifteen minutes and needs only YAML configuration, no C++ or Python. There are no cameras, no microphones, nothing to wear, and because Wi-Fi passes through walls the sensor is not limited to line of sight. The project also ships an experimental neural network detector that runs on the ESP32 itself and needs no manual calibration, though the threshold method is marked stable and the neural network experimental. The stated uses are home security, elderly care such as detecting falls or prolonged inactivity, and presence-based automation like switching lights or heating only when someone is actually in the room. The one thing most likely to go wrong is buying an ESP32 variant without CSI support — the C2 and some third-party clones do not expose it, and the sensor will not work at all. The documentation is clear about which chips work, but the mistake happens before someone reads it. If you already run Home Assistant and ESPHome, this is a weekend experiment with almost no cost and no irreversible decisions. If you do not, the sensor still works but the appeal is narrower — this is not a standalone PIR replacement, it is a component for an existing smart home stack.

NOT IN THE REPO

  • Complete ESPHome YAML component with example configuration and documented parameters.
  • Hardware list present: ESP32-C6 or ESP32-S3 recommended, ESP32-C3 and original ESP32 also supported, plus any 2.4 GHz router.
  • Detailed setup instructions with screenshots of the Home Assistant integration and debug sensors.
  • Two detection methods: threshold-based (requires manual tuning) and experimental neural network (no calibration).
  • Licensed GPL v3 with no restriction on personal or commercial use.
  • No PCB, no 3D print, no enclosure — this is a software component for an off-the-shelf ESP32 board.

Can I build this?

Printnothing required
BuyOne ESP32-C6 or ESP32-S3 development board (€8–12), or an ESP32-C3 or original ESP32 if already owned. A 2.4 GHz Wi-Fi router, already present in most homes.
ToolsHome Assistant installation, ESPHome add-on, USB cable for flashing, text editor for YAML.
SkillsYAML configuration and basic ESPHome familiarity. No programming. If Home Assistant and ESPHome are already running, this is a straightforward component install. If not, the learning curve is in those platforms, not the sensor.
TimeFifteen to thirty minutes: ten for flashing and YAML setup, another ten to twenty for tuning the threshold or testing the neural network mode.
Cost$ — dominated by the ESP32 board at €8–12; everything else is already in the house or free.
SafetyNone beyond ordinary low-voltage electronics. The ESP32 runs on 3.3V or 5V USB power. No mains, no lithium cells to charge, no lasers, no moving parts.

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

Blu-ray drive, 10 Gbps hub and card reader in one boxPartner · Kickstarter
Blu-ray drive, 10 Gbps hub and card reader in one box

BluHub reads and burns Blu-ray/DVD/CD, adds USB-C, USB-A, SD/TF and 10 Gbps data — plug and play, grand-piano finish.

See the hub

Gallery

upload://cmsu751hb1lv0pd1zify335u6/upload-57ca9634.jpg
upload://cmsu751hb1lv0pd1zify335u6/upload-8d40df4a.jpg
upload://cmsu751hb1lv0pd1zify335u6/upload-f4508ef8.jpg
upload://cmsu751hb1lv0pd1zify335u6/upload-0bc114ce.jpg
upload://cmsu751hb1lv0pd1zify335u6/upload-26c2e3d1.jpg
upload://cmsu751hb1lv0pd1zify335u6/upload-378cdcfe.jpg
upload://cmsu751hb1lv0pd1zify335u6/upload-1e1e42e3.jpg

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Check that your ESP32 board is supported (ESP32-C6 and ESP32-S3 recommended. ESP32-C3 and original ESP32 also work. ESP32-C2 and some clones do not expose CSI and will not work at all.)
  2. 2.Install ESPHome and flash the board (Add the external component to your ESPHome YAML, flash via USB. The repository README includes a complete example configuration.)
  3. 3.Add the sensor to Home Assistant (ESPHome auto-discovery; the motion sensor, threshold control, and debug sensors appear immediately.)
  4. 4.Tune the threshold or enable the neural network mode (Threshold mode requires manual adjustment via the slider; neural network mode is experimental and needs no tuning but may be less reliable in some environments.)

Resources

Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.

KNOWN ISSUES

  • Buying an ESP32-C2 or a third-party clone without CSI support — the sensor will not work at all, and the mistake happens before someone checks the documentation. Stick to C6, S3, C3, or the original ESP32 from Espressif.
  • Expecting instant perfect detection without tuning the threshold. The default value is a starting point; rooms with different sizes, materials, or interference need adjustment, and the documentation says so.
  • Assuming the neural network mode is production-ready. It is marked experimental, runs on-device with no cloud, and needs no calibration, but the threshold method is the stable one. The neural network is there to try, not to rely on.
  • Placing the ESP32 in a metal enclosure or too close to the router. CSI works by reading multipath reflections; a Faraday cage kills the signal, and being right next to the router reduces the sensitivity to movement in the rest of the room.
  • Expecting it to identify who moved or where they are in the room. It detects that movement happened, not who or what or which corner. For presence detection or automations that is enough; for tracking or identification it is not.
  • Running it on a 5 GHz-only network. The ESP32 and this project work on 2.4 GHz only; if the router is set to 5 GHz or 6 GHz exclusively, the sensor will not connect.

Does it work through walls?

Yes, if the Wi-Fi signal itself passes through them. Concrete, metal studs, or thick stone reduce effectiveness the same way they reduce Wi-Fi range. Standard drywall is fine.

Can it tell who moved or where they are?

No. It detects that movement happened in the coverage area, not who, what, or which part of the room. For presence-based automation that is enough; for tracking or identification it is not.

Which detection mode should I use?

The threshold mode is stable and documented; the neural network mode is experimental. Start with threshold, adjust the slider until detection is reliable, then try the neural network if you want zero-config operation. The documentation marks the neural network as experimental for a reason.

Does it work with a mesh network or multiple access points?

It measures the channel to one router or AP. If the ESP32 roams between nodes, detection may be inconsistent. Best results come from a single 2.4 GHz AP with stable coverage in the monitored room.

Is it as reliable as a PIR sensor?

No. PIRs are mature, cheap, and work in any room. This is more sensitive in some ways — it sees through furniture and does not need line of sight — but less predictable and more dependent on the environment. It is an experiment, not a drop-in PIR replacement.

What about privacy?

No camera, no microphone, no image. The sensor reads radio channel measurements, not people. All processing is local on the ESP32; nothing leaves the device except the binary motion state sent to Home Assistant over your local network.

Community builds

No community builds yet — be the first, we feature the best ones.

Discussion1

FROM THE COMPAREE TEAM

The threshold mode needs manual tuning, but the experimental neural network mode runs on the ESP32 itself with zero configuration. Which would you try first, and how much tuning patience do you have before switching?

CompareeTEAM8d ago

Practical notes from our verification: the repository is actively maintained with recent commits, the documentation is clear about which ESP32 variants work and which do not, and every screenshot in the README is from the actual project running in Home Assistant, not marketing mockups. The single most common mistake will be buying an ESP32-C2 or a random clone without checking CSI support first — once that is right, the rest is fifteen minutes of YAML and slider adjustment. The neural network mode is genuinely experimental, not a marketing beta, and the threshold mode is the one to rely on. No official video, but the setup is short enough that the README with screenshots is sufficient. This is not a PIR replacement; it is a privacy-friendly experiment for people who already run Home Assistant and want to try radio-based sensing without adding cameras.

Francesco Pace

Francesco Pace built ESPectre to explore Wi-Fi sensing as an alternative to cameras and PIR sensors, particularly for privacy-conscious home automation and elderly care use cases where camera-based monitoring is unacceptable but movement detection is needed.

GitHub

Star the project on GitHub

DISCLAIMER

  • Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
  • Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
  • Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.