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 184

  2. ESPresense-companion ESPresense-companion Public

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

    C# 220 22

Repositories

Showing 10 of 31 repositories
  • 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# 220 Apache-2.0 22 3 22 Updated Oct 2, 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,479 AGPL-3.0 184 69 (2 issues need help) 53 Updated Oct 2, 2026
  • ble-loadgen Public

    BLE advertisement load generator for the ESPresense HIL bench

    ESPresense/ble-loadgen's past year of commit activity
    Python 0 0 0 0 Updated Oct 2, 2026
  • ESPresense/ESPresense.com's past year of commit activity
    JavaScript 15 98 0 6 Updated Sep 30, 2026
  • Xanadue Public
    ESPresense/Xanadue's past year of commit activity
    Python 0 MIT 0 0 0 Updated Sep 17, 2026
  • hassio-addons Public
    ESPresense/hassio-addons's past year of commit activity
    5 Apache-2.0 1 0 0 Updated Sep 4, 2026
  • ESPresense/firmware-tester's past year of commit activity
    Python 0 0 0 1 Updated Aug 28, 2026
  • async-mqtt-client Public Forked from marvinroger/async-mqtt-client

    📶 An Arduino for ESP8266 asynchronous MQTT client implementation

    ESPresense/async-mqtt-client's past year of commit activity
    C++ 0 MIT 295 0 1 Updated Aug 28, 2026
  • ESPresense/HeadlessWiFiSettings's past year of commit activity
    C++ 0 3 0 2 Updated Aug 3, 2026
  • ImprovWiFi Public Forked from judge2005/ImprovWiFi

    An object-oriented implementation of the esp web tools improv serial protocol for provisioning ESP32 devices

    ESPresense/ImprovWiFi's past year of commit activity
    C++ 0 MIT 3 0 0 Updated Jul 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