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 188

  2. ESPresense-companion ESPresense-companion Public

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

    C# 225 25

Repositories

Showing 10 of 33 repositories
  • hassio-addons Public
    ESPresense/hassio-addons's past year of commit activity
    5 Apache-2.0 1 0 0 Updated Nov 14, 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# 225 Apache-2.0 25 13 19 Updated Nov 14, 2026
  • ESPresense/ESPresense.com's past year of commit activity
    JavaScript 16 97 0 4 Updated Nov 14, 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,503 AGPL-3.0 188 42 (1 issue needs help) 11 Updated Nov 13, 2026
  • Xanadue Public
    ESPresense/Xanadue's past year of commit activity
    Python 0 MIT 0 0 2 Updated Nov 11, 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 1 Updated Nov 11, 2026
  • ble-loadgen Public

    BLE advertisement load generator for the ESPresense HIL bench

    ESPresense/ble-loadgen's past year of commit activity
    Python 1 0 0 0 Updated Nov 7, 2026
  • ESPresense/firmware-tester's past year of commit activity
    Python 1 0 0 0 Updated Nov 1, 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 198 0 0 Updated Nov 1, 2026
  • testnet-mqtt Public
    ESPresense/testnet-mqtt's past year of commit activity
    Python 0 Apache-2.0 0 0 0 Updated Nov 1, 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