ESPresense turns inexpensive ESP32 boards into a home-wide indoor positioning system. Mount a few nodes around the house, run the companion service, and Home Assistant can tell which room a phone, watch, or BLE tag is in. Open-source firmware, open-source server, open data.
- Homeowners who want presence-based automation that actually works room-to-room.
- Home Assistant users who want room-level presence instead of just home/away — multiple nodes working together, not one sensor guessing near/far.
- Makers and tinkerers building on top — custom enclosures, new device classes, accuracy research.
- ESPresense — ESP32 firmware. Flash it on a node, point it at MQTT, and you have a BLE/iBeacon scanner that publishes to Home Assistant's
mqtt_roomintegration. - ESPresense-companion — Home Assistant add-on / Docker container that fuses readings from multiple nodes into real
(x, y, z)positions on your floorplan. - ESPresense.com — source for the docs site. Setup guides, supported hardware, calibration walkthroughs.
- GitHub Discussions — first stop for setup questions, calibration, "is X supported?", and anything someone else might ask later. Search before posting.
- Discord — faster turnaround, real-time troubleshooting, hardware swaps.
- File an issue — once it's confirmed a bug or a concrete feature gap. Include firmware version, board, and what you tried.
PRs welcome across every flagship repo. Start with CONTRIBUTING.md on the firmware repo, then say hi on Discord so we know what you're working on.