Skip to content

ESPresense

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.

Who it's for

  • 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.

Flagship repos

  • 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_room integration.
  • 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.

Need help?

  1. GitHub Discussions — first stop for setup questions, calibration, "is X supported?", and anything someone else might ask later. Search before posting.
  2. Discord — faster turnaround, real-time troubleshooting, hardware swaps.
  3. File an issue — once it's confirmed a bug or a concrete feature gap. Include firmware version, board, and what you tried.

Contributing

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.

Star History

Star History Chart

Pinned Loading

  1. ESPresense ESPresense Public

    An ESP32 based node for gathering indoor positioning and transmitting to mqtt

    C 1.5k 187

  2. ESPresense-companion ESPresense-companion Public

    HA Add-on / Docker container that solves indoor positions with mqtt data received from multiple ESPresense nodes

    C# 221 24

Repositories

Showing 10 of 32 repositories
  • ESPresense/ESPresense.com's past year of commit activity
    JavaScript 16 99 0 1 Updated Oct 24, 2026
  • ESPresense-companion Public

    HA Add-on / Docker container that solves indoor positions with mqtt data received from multiple ESPresense nodes

    ESPresense/ESPresense-companion's past year of commit activity
    C# 221 Apache-2.0 24 6 18 Updated Oct 24, 2026
  • ESPresense Public

    An ESP32 based node for gathering indoor positioning and transmitting to mqtt

    ESPresense/ESPresense's past year of commit activity
    C 1,497 AGPL-3.0 187 63 (2 issues need help) 11 Updated Oct 24, 2026
  • ESPreSwitch Public

    Converts a stock SwitchBot Plug Mini to ESPresense over the air, without disassembling it.

    ESPresense/ESPreSwitch's past year of commit activity
    C 0 GPL-3.0 1 0 0 Updated Oct 23, 2026
  • esp-web-tools Public Forked from esphome/esp-web-tools

    Open source tools to allow working with ESP devices in the browser

    ESPresense/esp-web-tools's past year of commit activity
    TypeScript 1 Apache-2.0 197 0 0 Updated Oct 23, 2026
  • Xanadue Public
    ESPresense/Xanadue's past year of commit activity
    Python 0 MIT 0 0 0 Updated Oct 23, 2026
  • hassio-addons Public
    ESPresense/hassio-addons's past year of commit activity
    5 Apache-2.0 1 0 1 Updated Oct 23, 2026
  • NimBLE-Arduino Public Forked from h2zero/NimBLE-Arduino

    A fork of the NimBLE library structured for compilation with Ardruino, designed for use with ESP32.

    ESPresense/NimBLE-Arduino's past year of commit activity
    C 0 Apache-2.0 224 0 1 Updated Oct 23, 2026
  • ESPresense/HeadlessWiFiSettings's past year of commit activity
    C++ 0 3 0 1 Updated Oct 23, 2026
  • ESPresense/firmware-tester's past year of commit activity
    Python 1 0 0 2 Updated Oct 23, 2026

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Sponsors

  • @mrizzo123
  • @tioan