ESPresense
ESPresense
📌 Overview
ESPresense는 ESP32 기반 BLE 스캐닝 기술을 활용해 사람이나 장치의 실내 존재 여부와 위치를 파악하는 오픈소스 프로젝트입니다. 여러 개의 노드를 실내 공간에 배치한 뒤, 스마트폰·스마트워치·BLE 태그 등에서 송신되는 신호를 수집하고, 이를 MQTT 기반으로 서버 또는 Home Assistant와 연동하여 방 단위 재실 감지 또는 정밀 실내 위치 추정에 활용할 수 있습니다.
이 프로젝트의 핵심은 단순한 BLE 신호 수집이 아니라, 이를 실제 자동화와 공간 인식 서비스에 연결할 수 있도록 설계되었다는 점입니다. 사용자는 특정 인물이 어느 방에 있는지 확인하거나, 사람이 공간에 들어오고 나가는 상황에 맞춰 조명·공조·알림·보안 기능을 자동으로 제어할 수 있습니다.
📌 Features
방 단위 재실 감지
- 가장 가까운 ESPresense 노드 기준으로 사용자가 어느 방에 있는지 판단합니다. Home Assistant의
mqtt_room과 연동해 조명, 알림, 공조 자동화에 활용할 수 있습니다.
정밀 실내 위치 추정
- 여러 노드가 동시에 거리 정보를 수집하고, Companion이 이를 조합해 X,Y 좌표를 계산합니다. 단순 “방 감지”를 넘어 층 내 위치 추정으로 확장할 수 있습니다.
MQTT 기반 시스템 연동
- 노드 상태, 기기 감지 결과, 텔레메트리 정보가 MQTT로 전달되며 Home Assistant 자동 발견(MQTT Discovery)도 지원합니다. 덕분에 설치 후 연동 절차가 비교적 단순합니다.
BLE Fingerprint / Apple IRK 대응
- 공식 사이트는 MAC 주소 대신 fingerprint 기반 ID와 Apple IRK 기반 등록을 강조합니다. 이는 단순 BLE 스캔보다 실제 사용자 식별 안정성을 높이는 요소입니다.
유선 이더넷 확장 가능성
- 공개 PR #2178은 Waveshare ESP32-S3-ETH의 W5500 SPI Ethernet 지원, UI의 동적 Ethernet 보드 선택, ESP32-S3 네트워크 레이어 확장을 포함합니다. 이는 무선 전용 노드를 유선형 산업 노드로 전환할 수 있는 기술적 기반입니다.
📌 System Architecture
전체 구성
BLE 태그/스마트폰/워치가 광고 신호를 송신하면, 각 방 또는 각 구역에 설치된 ESPresense 노드(ESP32 계열)가 이를 수신합니다. 노드는 RSSI 또는 거리 추정 데이터를 MQTT 브로커로 전송하고, 상위 시스템인 Home Assistant 또는 ESPresense Companion이 이를 소비하여 방 단위 상태 또는 좌표 정보를 계산합니다.
데이터 흐름
- BLE 디바이스 송신
- ESPresense 노드 수신
- 노드가 네트워크로 MQTT publish
- Home Assistant / Companion이 subscribe
- 자동화, 대시보드, 위치 계산에 반영
📌 Role and Application of the WIZnet's Chip
사용된 WIZnet 칩 : W5500
공개 GitHub 이슈 #1955와 PR #2178에서 Waveshare ESP32-S3-ETH W5500 Ethernet 지원 요청 및 구현이 명시되어 있습니다.
네트워크에서의 역할
- 이 프로젝트에서 W5500의 역할은 BLE 스캐닝 노드의 유선 네트워크 인터페이스입니다.
- 상위 시스템과의 통신은 구조상 MQTT가 핵심이며, 노드의 상태/장치 감지 결과/텔레메트리 전달에 사용됩니다. 공식 Home Assistant 연동 문서도 MQTT topic 기반 구성을 설명합니다.
📌 Market & Application Value
적용 가능한 시장
- 스마트홈 / 홈 오토메이션
- 조명, 공조, 출입 알림, 실내 동선 기반 자동화에 바로 연결됩니다. 공식 문서도 room-based automation과 precise positioning을 핵심 사용 사례로 제시합니다.
- 스마트 오피스 / 회의실 / 방문자 흐름 분석
- 개인 프라이버시를 과도하게 침해하지 않는 수준에서, BLE 태그나 사내 디바이스를 활용해 구역 단위 점유 상태를 파악하는 구조로 확장 가능합니다. 이 부분은 공개 구조를 바탕으로 한 응용 가능성 해석입니다.
- 경량 RTLS(실내 위치 인식)
- 고가 UWB 시스템보다 낮은 비용으로 방 단위 또는 준정밀 위치 추정이 가능하므로, 자산 위치 확인, 재실 기반 에너지 절감, 구역 이벤트 트리거 등에 적합합니다.
📌 External Indicators
GitHub 정량 지표
- Star: 1.4k
- Fork: 169
- Watch: 27
- Releases: 203
- Latest release: v4.0.6 (2026-02-28)
- Contributors: 50명
이슈/PR 기반 외부 반응
https://github.com/ESPresense/ESPresense/issues/1955
https://github.com/ESPresense/ESPresense/pull/2178/commits
- Issue #1955에서 사용자가 “기존 Ethernet type 옵션으로는 동작하지 않는다”며 Waveshare ESP32-S3-ETH W5500 지원을 요청했습니다. 이는 실제 사용자가 W5500 보드를 ESPresense에 적용하려는 수요가 공개적으로 존재함을 보여줍니다.
- 이어서 PR #2178에서는 W5500 SPI Ethernet 지원, UI의 동적 Ethernet 옵션 선택, ESP32-S3 네트워크 레이어 확장이 제안되었습니다. 즉, 수요 제기에서 구현 시도까지 이어졌습니다.
공식사이트
📌 Summary
이번 UCC는 ESPresense라는 공개 오픈소스 프로젝트를 기반으로, WIZnet W5500이 적용된 Ethernet 확장 가능성을 확인할 수 있다는 점에서 의미가 있습니다. 프로젝트 자체는 BLE 기반 실내 재실 감지와 위치 추정을 목표로 하며, 실제로 Home Assistant와 같은 플랫폼과 연동되어 다양한 자동화 시나리오에 활용될 수 있는 구조를 갖추고 있습니다.
특히 W5500 기반 Ethernet 지원 요구와 구현 시도가 공개 커뮤니티에서 확인된다는 점은, WIZnet 칩이 기존의 일반적인 임베디드 네트워크 연결을 넘어 실내 위치 인식, 공간 자동화, 저비용 IoT 인프라 영역으로 확장될 수 있음을 보여줍니다. 이는 Maker 관점에서도 단순한 데모 수준을 넘어, 실제 응용 가능성과 외부 확산 가능성을 함께 가진 사례로 해석할 수 있습니다.
메이커 사이트에 소개하는 관점에서 보면, 이 사례는 **“WIZnet 칩이 어떤 새로운 시스템 구조 안에서 사용될 수 있는가”**를 보여주는 좋은 참고 자료입니다. 또한 향후에는 스마트홈, 스마트오피스, 경량 자산 추적, 재실 기반 자동화 장치 등으로 응용 범위를 넓힐 수 있어, WIZnet 생태계 확장 측면에서도 충분한 의미를 갖는 프로젝트라고 정리할 수 있습니다.
📌 FAQ
Q1. ESPresense 프로젝트는 무엇인가요?
ESPresense는 ESP32 기반 BLE 스캐닝 기술을 활용해 실내에서 사람이나 장치의 존재 여부와 위치를 파악하는 오픈소스 시스템입니다. 여러 개의 ESPresense 노드를 공간에 배치하면 스마트폰, 스마트워치, BLE 태그 등의 신호를 수집하고 이를 MQTT로 전송합니다. 이후 Home Assistant나 Companion 시스템이 데이터를 분석해 방 단위 재실 감지나 실내 위치 추정 기능을 제공합니다.
Q2. ESPresense는 어떻게 실내 위치를 추정하나요?
ESPresense는 BLE 장치가 송신하는 광고 신호를 여러 ESP32 노드가 동시에 수신하고 RSSI 기반 거리 추정 데이터를 수집합니다. 이 데이터는 MQTT를 통해 서버로 전달되며, 상위 시스템이 여러 노드의 데이터를 조합해 사용자의 위치나 방 단위 재실 상태를 계산합니다.
Q3. ESPresense는 Home Assistant와 어떻게 연동되나요?
ESPresense는 MQTT 기반 통신 구조를 사용하며 Home Assistant와 쉽게 연동할 수 있습니다. 노드가 감지한 장치 정보와 상태 데이터가 MQTT 토픽으로 전송되고, Home Assistant의 MQTT Discovery 기능을 통해 자동으로 장치가 등록됩니다. 이를 통해 조명, 공조, 알림 등 다양한 스마트홈 자동화를 구성할 수 있습니다.
Q4. ESPresense에서 WIZnet W5500 칩은 어떤 역할을 하나요?
WIZnet W5500은 ESPresense 노드에서 유선 Ethernet 네트워크 인터페이스 역할을 합니다. BLE 스캐닝 노드가 수집한 장치 감지 정보와 상태 데이터를 안정적으로 MQTT 브로커로 전송할 수 있도록 Ethernet 연결을 제공합니다.
Q5. ESPresense는 왜 Ethernet 지원이 필요한가요?
기본적으로 ESPresense 노드는 Wi-Fi를 사용하지만, Ethernet을 사용하면 네트워크 안정성과 지연시간 측면에서 더 안정적인 운영이 가능합니다. 특히 스마트홈 허브, 서버실, 산업 환경 등에서는 Wi-Fi 대신 유선 네트워크가 더 신뢰성이 높기 때문에 W5500 기반 Ethernet 확장이 유용합니다.
Q6. ESPresense에서 W5500 Ethernet 지원은 어떻게 추가되었나요?
GitHub 이슈와 Pull Request에서 Waveshare ESP32-S3-ETH 보드의 W5500 SPI Ethernet 지원 요청과 구현 시도가 공개되었습니다. 해당 구현에는 W5500 SPI Ethernet 드라이버 추가, ESP32-S3 네트워크 레이어 확장, UI에서 Ethernet 보드 선택 기능 등이 포함되어 있습니다.
Q7. ESPresense 시스템의 전체 데이터 흐름은 어떻게 되나요?
ESPresense 시스템의 데이터 흐름은 다음과 같습니다.
BLE 장치 신호 송신 → ESPresense 노드가 BLE 신호 수신 → 노드가 MQTT로 데이터 전송 → Home Assistant 또는 Companion이 데이터 분석 → 자동화 또는 위치 계산에 활용
이 구조를 통해 실시간 재실 감지와 위치 기반 자동화 기능을 구현할 수 있습니다.
Q8. ESPresense는 어떤 분야에 활용할 수 있나요?
ESPresense는 다음과 같은 분야에서 활용할 수 있습니다.
- 스마트홈 자동화 (조명, 공조, 알림 제어)
- 스마트 오피스 재실 감지
- 실내 위치 기반 서비스
- 저비용 RTLS(Real-Time Location System)
- 자산 위치 추적 및 공간 사용 분석
BLE 기반 구조 덕분에 고가의 위치 추적 시스템보다 낮은 비용으로 실내 위치 인식 시스템을 구축할 수 있습니다.
📌 Overview
ESPresense is an open-source project that uses ESP32-based BLE scanning technology to detect the presence and indoor location of people or devices. Multiple nodes are placed throughout an indoor space to collect signals transmitted from smartphones, smartwatches, and BLE tags, and these signals are integrated with a server or Home Assistant via MQTT, enabling room-level occupancy detection or precise indoor location estimation.
The core concept of this project is not simply collecting BLE signals, but designing the system so that the data can be connected to real automation and spatial awareness services. Users can identify which room a specific person is in, or automatically control lighting, HVAC, notifications, and security functions based on whether someone enters or leaves a space.
📌 Features
Room-Level Occupancy Detection
The system determines which room a user is in based on the nearest ESPresense node. It can be integrated with Home Assistant’s mqtt_room to automate lighting, notifications, and HVAC systems.
Precise Indoor Position Estimation
Multiple nodes simultaneously collect distance information, and the Companion aggregates this data to calculate X,Y coordinates. This allows the system to extend beyond simple “room detection” to position estimation within a floor.
MQTT-Based System Integration
Node status, device detection results, and telemetry data are transmitted via MQTT, and Home Assistant MQTT Discovery is also supported. As a result, the integration process after installation is relatively simple.
BLE Fingerprint / Apple IRK Support
The official site emphasizes fingerprint-based IDs and Apple IRK registration instead of MAC addresses. This improves the reliability of actual user identification compared to simple BLE scanning.
Wired Ethernet Expansion Possibility
Public PR #2178 includes support for W5500 SPI Ethernet on the Waveshare ESP32-S3-ETH, dynamic Ethernet board selection in the UI, and expansion of the ESP32-S3 network layer. This provides a technical foundation for converting wireless-only nodes into wired industrial nodes.
📌 System Architecture
Overall Architecture
When BLE tags, smartphones, or smartwatches transmit advertising signals, they are received by ESPresense nodes (ESP32-based devices) installed in each room or zone.
Each node then sends RSSI or distance estimation data to an MQTT broker, and an upper-level system such as Home Assistant or the ESPresense Companion consumes this data to calculate room-level presence status or coordinate-based location information.
Data Flow
- BLE device transmission
- ESPresense node reception
- Node publishes data to the network via MQTT
- Home Assistant / Companion subscribes to the data
- Applied to automation, dashboards, and location calculation
📌 Role and Application of the WIZnet's Chip
WIZnet Chip Used: W5500
In the public GitHub Issue #1955 and PR #2178, the request and implementation for Waveshare ESP32-S3-ETH with W5500 Ethernet support are clearly described.
Role in the network
- In this project, the W5500 functions as the wired network interface for BLE scanning nodes.
- Communication with upper systems is structurally centered on MQTT, which is used to transmit node status, device detection results, and telemetry data.
The official Home Assistant integration documentation also explains a configuration based on MQTT topics.
📌 Market & Application Value
Applicable Markets
- Smart Home / Home Automation
- It can be directly connected to automation based on indoor movement, such as lighting, HVAC, entry notifications, and indoor activity patterns. The official documentation also presents room-based automation and precise positioning as key use cases.
- Smart Offices / Meeting Rooms / Visitor Flow Analysis
- It can be extended to a structure that identifies zone-level occupancy using BLE tags or internal devices, without excessively infringing on personal privacy. This is an interpretation of potential applications based on the publicly available system architecture.
- Lightweight RTLS (Real-Time Location System)
- Compared to expensive UWB-based systems, it enables room-level or semi-precise indoor positioning at a lower cost. Therefore, it is suitable for applications such as asset tracking, occupancy-based energy savings, and zone-triggered events.
📌 External Indicators
GitHub
- Stars: 1.4k
- Forks: 169
- Watchers: 27
- Releases: 203
- Latest Release: v4.0.6 (2026-02-28)
- Contributors: 50
External Response Based on Issues/PRs
https://github.com/ESPresense/ESPresense/issues/1955
https://github.com/ESPresense/ESPresense/pull/2178/commits
- In Issue #1955, a user requested support for the Waveshare ESP32-S3-ETH W5500, stating that it does not work with the existing Ethernet type option. This indicates that there is publicly visible demand from users attempting to apply W5500-based boards to ESPresense.
- Following this, PR #2178 proposed W5500 SPI Ethernet support, dynamic Ethernet option selection in the UI, and expansion of the ESP32-S3 network layer. In other words, the request progressed from user demand to an implementation attempt.
Official Website
📌 Summary
This UCC is meaningful in that it demonstrates the Ethernet expansion potential using the WIZnet W5500 based on the publicly available ESPresense open-source project. The project itself aims at BLE-based indoor presence detection and location estimation, and it is structured to be integrated with platforms such as Home Assistant, enabling a variety of automation scenarios in real environments.
In particular, the fact that requests for W5500-based Ethernet support and implementation attempts can be observed in the public community shows that WIZnet chips can expand beyond typical embedded network connectivity into areas such as indoor positioning, spatial automation, and low-cost IoT infrastructure. From a Maker perspective, this can be interpreted as a case that goes beyond a simple demonstration and presents real application potential and external scalability.
From the viewpoint of introducing this case on the Maker website, it serves as a good reference demonstrating “how WIZnet chips can be used within new system architectures.” Furthermore, the application scope could be expanded in the future to areas such as smart homes, smart offices, lightweight asset tracking, and occupancy-based automation devices, making this project meaningful in terms of expanding the WIZnet ecosystem as well.
📌 FAQ
Q1. What is the ESPresense project?
ESPresense is an open-source system that uses ESP32-based BLE scanning technology to detect the presence and location of people or devices indoors. By placing multiple ESPresense nodes in a space, signals from smartphones, smartwatches, and BLE tags can be collected and transmitted via MQTT. Home Assistant or a Companion system then analyzes the data to provide room-level occupancy detection and indoor position estimation.
Q2. How does ESPresense estimate indoor location?
ESPresense collects BLE advertisement signals transmitted by BLE devices, which are received simultaneously by multiple ESP32 nodes. Each node measures RSSI-based distance estimates, and this data is sent to a server via MQTT. The upper-level system then combines data from multiple nodes to calculate the user’s location or room-level occupancy status.
Q3. How does ESPresense integrate with Home Assistant?
ESPresense uses an MQTT-based communication architecture, making it easy to integrate with Home Assistant. Device information and status data detected by nodes are transmitted through MQTT topics, and Home Assistant automatically registers them using MQTT Discovery. This enables various smart home automations such as lighting, HVAC, and notification control.
Q4. What role does the WIZnet W5500 chip play in ESPresense?
The WIZnet W5500 acts as a wired Ethernet network interface in ESPresense nodes. It provides a stable Ethernet connection so that device detection data and node status information collected by the BLE scanning node can be reliably transmitted to the MQTT broker.
Q5. Why is Ethernet support needed in ESPresense?
Although ESPresense nodes typically use Wi-Fi, Ethernet can provide better network stability and lower latency. In environments such as smart home hubs, server rooms, or industrial spaces, wired networks are often more reliable than Wi-Fi, making W5500-based Ethernet expansion beneficial.
Q6. How was W5500 Ethernet support added to ESPresense?
Requests and implementation attempts for Waveshare ESP32-S3-ETH boards using W5500 SPI Ethernet were publicly discussed through GitHub Issues and Pull Requests. The implementation includes:
- Addition of a W5500 SPI Ethernet driver
- Expansion of the ESP32-S3 network layer
- A UI option to select Ethernet boards
Q7. What is the overall data flow of the ESPresense system?
The system’s data flow is as follows:
BLE device signal transmission → ESPresense node receives BLE signal → Node publishes data via MQTT → Home Assistant or Companion analyzes the data → Used for automation or location calculation
Through this structure, real-time occupancy detection and location-based automation can be implemented.
Q8. In which fields can ESPresense be applied?
ESPresense can be used in various fields, including:
- Smart home automation (lighting, HVAC, notification control)
- Smart office occupancy detection
- Indoor location-based services
- Low-cost RTLS (Real-Time Location System)
- Asset tracking and space utilization analysis
Thanks to its BLE-based architecture, indoor positioning systems can be built at a lower cost compared to high-end location tracking solutions.

