padspanHA
Building Room-Level Presence Detection with a Wi-Fi-Independent BLE Scanner: PadSpan HA with ESP32-S3 + W5500
📌 Overview
PadSpan HA는 Home Assistant에서 BLE device의 단순 home/away 상태를 넘어, 사용자가 어느 방에 있는지 확인하고 이를 floor plan, 3D map, calibration, follow mode 및 automation에 연결할 수 있도록 만든 open-source custom integration이다.
이 프로젝트에서 WIZnet W5500은 PadSpan HA 서버의 필수 구성품이 아니라, ESP32-S3 기반 BLE scanner를 Ethernet에 연결하기 위한 선택적 network interface로 사용된다. bluetooth.js에는 ESPHome용 ESP32-S3 + W5500 설정이 포함되어 있으며, BLE advertisement를 수집한 scanner가 Wi-Fi 대신 Ethernet LAN을 통해 Home Assistant와 통신하도록 구성할 수 있다.
📌 Features
1. 방 단위 BLE Presence와 floor plan 시각화
PadSpan HA는 BLE device를 단순히 집 안과 밖으로 구분하는 대신, scanner별 RSSI 정보를 이용해 room assignment와 위치 표시를 수행한다. 사용자는 floor plan을 업로드하고 room boundary와 scanner 위치를 배치한 뒤, device movement를 2D 또는 3D view에서 확인할 수 있다.
2. 기존 BLE scanner를 그대로 활용
PadSpan HA는 ESPresense, Bermuda proxy, 일반 Home Assistant Bluetooth proxy를 input으로 사용할 수 있다. 별도의 PadSpan 전용 scanner firmware가 필수는 아니며, 최소 한 개의 BLE scanner로 시작할 수 있다. 프로젝트 안내에서는 더 안정적인 방 구분을 위해 세 개 이상의 scanner 사용과 calibration을 권장한다.
3. W5500 기반 wired ESPHome scanner 설정 제공
bluetooth.js에는 ESP32-S3 + W5500용 ESPHome YAML이 포함되어 있다. BLE radio는 device advertisement를 수집하고, W5500은 SPI를 통해 연결된 Ethernet interface로 Home Assistant와 통신한다. 이를 통해 scanner의 network backhaul을 Wi-Fi radio와 분리할 수 있다.
ESPHome 공식 문서도 Ethernet 기반 Bluetooth proxy가 Wi-Fi traffic과 BLE가 동일 radio resource를 공유하지 않는다는 점을 장점으로 설명한다. 다만 실제 개선 폭은 board, antenna, 설치 위치 및 scan parameter에 따라 달라지므로 별도 측정이 필요하다.
4. Home Assistant Bluetooth와 ESPresense MQTT를 함께 수용
Home Assistant Bluetooth path에서는 BluetoothLive가 scanner별 advertisement를 수집한다.
5. Calibration, smoothing 및 WebSocket 기반 UI
PadSpan HA는 Kalman filtering, room vote window, k-NN fingerprint matching, scanner별 path-loss fitting 등의 처리를 포함한다. 처리된 Presence data는 padspan_ha/live_snapshot WebSocket command를 통해 panel에 전달되며, bluetooth.js의 Visualization, Monitor, Scanners, ESPHome Configs 화면에서 확인할 수 있다.
📌 System Architecture
W5500 기반 Home Assistant Bluetooth Proxy 경로
BLE Tag / Phone / Watch / Sensor
│
│ BLE advertisement
▼
ESP32-S3 + ESPHome
├─ esp32_ble_tracker
└─ bluetooth_proxy
│
│ SPI
▼
W5500
│
│ Ethernet LAN
▼
Home Assistant
Bluetooth Integration
│
▼
PadSpan HA Backend
├─ BluetoothLive
├─ PresenceCoordinator
└─ ws_live_snapshot
│
│ WebSocket
▼
PadSpan HA Panel
├─ Floor Plan
├─ Room Presence
├─ Calibration
└─ Follow / Diagnostics📌 Role and Application of the WIZnet Chip
W5500 기반 ESP32-S3 Ethernet BLE Scanner
PadSpan HA의 bluetooth.js에는 ESP32 variant별 ESPHome 설정을 제공하는 ESPHOME_CONFIGS가 정의되어 있다. 각 entry는 chip과 network connection 정보, 전체 ESPHome YAML, 기존 configuration에 추가할 수 있는 minimal snippet, 설정 목적과 기술적 특징을 함께 제공한다.
그중 s3_ethernet entry는 ESP32-S3와 Ethernet 조합으로 구성되며, source code에서 Maximum performance badge가 지정된 첫 번째 권장 configuration이다. 실제 YAML에는 esp32-s3-devkitc-1, esp-idf framework와 함께 ethernet.type: W5500이 명시되어 있다.
왜 Wi-Fi 대신 W5500 Ethernet을 사용하는가?
PadSpan HA source는 이 configuration을 다음과 같이 설명한다.
유선 Ethernet을 사용하는 dual-core ESP32-S3 구성입니다. Wi-Fi를 사용하지 않으므로 BLE가 무선 RF 자원을 100% 사용할 수 있습니다. 설정상 scan duty는 93.75%이며, dedicated BLE scanner 구축에 적합한 configuration입니다.
ESP32-S3의 Wi-Fi와 BLE는 동일한 2.4 GHz RF resource를 공유한다. Wi-Fi를 사용하면 BLE와 RF 사용 시간을 나누어야 하지만, W5500 Ethernet을 사용하면 network traffic을 유선으로 처리할 수 있다.
따라서 이 구성에서는 다음과 같은 장점을 기대할 수 있다.
- Wi-Fi와 BLE 사이의 RF contention 감소
- BLE scanner와 network backhaul의 분리
- 고정형 scanner 설치에 적합한 wired network 구성
- Wi-Fi signal quality와 무관한 Ethernet 연결
📌 Related Existing Contents & Expansion Value
M5 Atom Lite 및 WIZnet W5500(ATOM PoE)을 사용한 Home-Assistant 블루투스 프록시
- Link: https://maker.wiznet.io/bruno/projects/m5-atom-lite--wiznet-w5500-atom-poe---home-assistant--/
- Similarity Point:
M5Stack Atom Lite와 W5500 기반 ATOM PoE를 사용해 ESPHome Bluetooth Proxy를 Home Assistant에 연결한다. W5500, ESPHome, BLE Proxy, Home Assistant라는 핵심 기술 조합이 PadSpan HA의 wired scanner 경로와 동일하다. - Difference:
기존 글은 scanner hardware 구성과 Home Assistant 연결에 집중한다. PadSpan HA는 scanner가 전달한 BLE data를 room assignment, floor plan, calibration, follow mode로 확장하는 application layer 사례다. - Connection Value:
기존 글을 scanner 구축 단계로 사용하고 PadSpan HA를 상위 application으로 연결하면, hardware 설치부터 room-level Presence visualization까지 이어지는 완전한 smart home guide를 만들 수 있다.
ESPresense
- Link: https://maker.wiznet.io/Aimee0/projects/espresense/?serob=rd&serterm=year
- Similarity Point:
ESPresense는 여러 BLE scanner node가 device signal을 수집하고 MQTT를 통해 Home Assistant 또는 companion application으로 전달하여 room-level Presence를 구현한다. Maker Site 글에는 W5500 기반 wired scanner 확장도 포함되어 있다. - Difference:
ESPresense는 BLE scanner node, MQTT transport 및 자체 positioning ecosystem에 가깝다. PadSpan HA는 ESPresense MQTT data를 받아 floor plan, calibration, visualization 및 Home Assistant entity로 통합하는 소비자 역할을 한다. - Connection Value:
W5500을 사용하는 ESPresense scanner node의 MQTT data를 PadSpan HA의EspresenseMqtt에 연결하면 다음 end-to-end path를 구성할 수 있다.
BLE Device
→ W5500-equipped ESPresense Node
→ MQTT Broker
→ PadSpan HA
→ Floor Plan / Room Presence / Automation📌 Market & Application Value
현재 가장 적합한 시장
PadSpan HA는 현재 상태에서 B2C 및 prosumer smart home 시장에 가장 잘 맞는다.
- 가족 구성원의 방 이동에 따른 lighting 및 HVAC automation
- BLE tag가 부착된 key, bag, tool의 마지막 감지 구역 확인
- 특정 device가 room에 들어오거나 나갈 때 notification
- Home Assistant dashboard에서 multi-floor Presence visualization
- Wi-Fi traffic과 BLE scan을 분리하고 싶은 wired smart home deployment
📌 External Indicators
확인일: 2026년 7월 12일
| 지표 | 확인 결과 | 해석 |
|---|---|---|
| GitHub Star | 168 Stars | 초기 공개 프로젝트로서 개발자 관심이 확인된다. |
| GitHub Fork | 12 Forks | code reuse 또는 개인 환경 적용 시도가 일부 존재함을 보여준다. |
| GitHub Watcher | 4 watching | 지속적인 update를 추적하는 사용자가 확인된다. |
| GitHub Issue | 0 open Issues | 확인 시점의 open issue 수다. 결함이 없다는 의미로 해석해서는 안 된다. |
| GitHub Pull Request | 1 open Pull Request | 외부 또는 병행 개발 활동이 존재한다. |
| GitHub Commit | 1,069 Commits | 짧은 기간 동안 update 빈도가 매우 높았음을 보여준다. |
| GitHub Release | 883 Releases 표시 | 자동화되거나 세분화된 Release workflow일 가능성이 있으나 공개 자료만으로 정확한 정책은 확인되지 않는다. |
| Latest Release | v0.20.71, 2026-06-15, BETA | 최신 확인 version이며 Commit 13759d5와 연결된다. |
| GitHub Discussion #4 | 4 comments, 2 replies, 3 participants | mobile menu 문제와 실제 floor plan 설정 질문이 제기됐다. Maintainer의 빠른 대응에 대한 긍정적 반응도 있다. |
| Home Assistant Community | 7 Likes와 긍정적 댓글 확인 | “promising”, “exciting” 등의 초기 반응이 있으며, 동시에 RSSI positioning의 안정성과 UWB/AoA/mmWave 결합에 관한 기술적 질문도 제기됐다. |
| 기존 Maker Site entry | 2026-04-17 게시, 126 UCC, 23 WCC, 23 VAR, 댓글 0 | 수치는 Maker Site에 표시된 label 그대로이며 각 label을 page view나 사용자 수로 임의 해석하지 않았다. |
참고링크
https://github.com/gbroeckling/padspanHA/discussions/4
📌 WIZnet Strategic Value
공개 source에서 확인되는 사실
bluetooth.js에type: W5500인 ESPHome Ethernet configuration이 포함되어 있다.- ESP32-S3와 W5500은 SPI로 연결된다.
- BLE scan data는 Ethernet LAN을 통해 Home Assistant로 전달될 수 있다.
- PadSpan HA는 이 data를 room-level Presence와 floor plan application으로 확장한다.
- W5500은 선택적 scanner network interface이며 PadSpan HA 자체의 필수 dependency는 아니다.
기술 생태계 관점의 해석
WIZnet Maker 콘텐츠에는 W5500을 이용해 Home Assistant Bluetooth Proxy를 만드는 사례가 이미 존재한다. PadSpan HA는 그다음 질문에 답할 수 있다.
Wired Bluetooth Proxy를 설치한 뒤, 그 data로 실제 어떤 smart home 기능을 만들 수 있는가?
PadSpan HA를 연결하면 W5500의 가치가 단순한 Ethernet link에서 다음 application으로 확장된다.
- room-aware lighting
- device follow view
- multi-floor Presence visualization
- local automation
- BLE scanner diagnostics
- room calibration
- MQTT 기반 ESPresense integration
이는 WIZnet 콘텐츠 자산을 component, board 및 wiring 단계에서 application과 user experience 단계까지 확장한다는 의미가 있다.
오픈소스 확산과 제품 연결 가능성
WIZnet 관점에서 가장 효과적인 기여 방식은 특정 제품을 과도하게 홍보하는 것이 아니라, 다음과 같은 재현 가능한 자료를 제공하는 것이다.
- 실제 판매 board별 검증된 W5500 pin map
- ESPHome version별 configuration
- Passive scan과 active scan의 선택 기준
- Ethernet link 및 Home Assistant API 확인 절차
- PadSpan HA calibration walkthrough
- 장기간 동작 및 recovery test 결과
이런 자료가 축적되면 W5500은 단순히 “Ethernet을 추가하는 chip”을 넘어, local smart home Presence infrastructure를 구성하는 실용적인 wired network option으로 인식될 수 있다.
📌 Summary
PadSpan HA는 Home Assistant에서 BLE scanner data를 방 단위 Presence, floor plan, calibration 및 automation으로 확장하는 open-source integration이다. 이 프로젝트에서 WIZnet W5500은 필수 server component가 아니라, ESP32-S3 BLE scanner에 Ethernet backhaul을 제공하는 선택적 SPI network interface로 사용된다.
공개 source를 통해 W5500, ESP32-S3, esp-idf, 두 종류의 pin map, BLE scan parameter, ESPresense MQTT topic, WebSocket command 및 v0.20.71 Release를 구체적으로 확인할 수 있다. W5500 경로는 BLE와 Ethernet을 결합한 Hybrid architecture지만, 이 ESP-IDF driver path에서는 W5500 hardwired TCP/IP stack을 사용하지 않으므로 hardware socket offload 사례로 분류하지 않는다.
현재 확인되지 않은 항목은 정확한 board/module, schematic, PoE 사용, 전력, Ethernet 성능, BLE 수신 비교, room accuracy 및 양산 계획이다. 이러한 검증을 추가하면 W5500 wired BLE scanner + ESPHome + Home Assistant + PadSpan HA를 하나의 재현 가능한 smart home Presence reference solution으로 발전시킬 수 있다.
📌 Key Questions & Clear Answers
1. PadSpan HA는 어떤 문제를 해결하는가?
일반적인 BLE Presence integration은 device가 집 안에 있는지 정도만 알려주는 경우가 많다. PadSpan HA는 scanner별 BLE signal을 이용해 어느 방에서 감지되는지 판단하고, 이를 floor plan, calibration, follow mode 및 Home Assistant automation에 연결한다.
2. PadSpan HA를 사용하려면 W5500이 반드시 필요한가?
아니다. PadSpan HA는 ESPresense, Bermuda proxy 및 일반 Home Assistant Bluetooth proxy를 사용할 수 있다. W5500은 Wi-Fi 대신 Ethernet을 사용하려는 ESP32-S3 scanner를 위한 선택적 구성이다.
3. 이 구성이 Hybrid network인 이유는 무엇인가?
Scanner가 BLE radio로 device signal을 수집하고, 수집된 data를 W5500 Ethernet으로 Home Assistant에 전달하기 때문이다. 즉, device access는 BLE이고 network backhaul은 Ethernet이다.
4. 이 구성에서 W5500의 hardware TCP/IP offload를 사용하는가?
현재 공개된 esp-idf 기반 configuration에서는 사용 근거가 없다. Espressif W5500 driver 문서는 W5500 hardwired TCP/IP stack을 ESP driver에서 사용하지 않는다고 설명하며, ESP-IDF는 lwIP를 TCP/IP stack으로 사용한다.
5. 개발자가 이 프로젝트에서 재사용할 수 있는 것은 무엇인가?
개발자는 W5500 ESPHome YAML, scanner placement 방식, MQTT topic 처리 구조, Home Assistant WebSocket integration, floor plan setup 및 calibration workflow를 재사용할 수 있다. 다만 W5500 pin map은 board마다 다르므로 source의 두 configuration을 임의로 혼합해서는 안 된다.
📌 References
| Source | Link | Checked Date | Notes |
|---|---|---|---|
| PadSpan HA GitHub Repository | gbroeckling/padspanHA | 2026-07-12 | Repository, README, current GitHub indicators |
bluetooth.js | Commit 13759d59… source | 2026-07-12 | W5500 YAML 2종, pin map, BLE configuration, ESPHome config UI |
manifest.json | Commit-specific file | 2026-07-12 | Domain, dependency, local_polling, version 0.20.71 |
hacs.json | GitHub file | 2026-07-12 | Home Assistant minimum 2024.1.0 |
espresense_mqtt.py | Commit-specific file | 2026-07-12 | MQTT prefix, topic, QoS 0, ESPresense ingestion |
websocket.py | Commit-specific file | 2026-07-12 | padspan_ha/live_snapshot, backend-to-panel data |
| Latest Release | v0.20.71 | 2026-07-12 | BETA, released 2026-06-15, Commit 13759d5 |
| License | LICENSE | 2026-07-12 | GNU GPL v3 or later |
| GitHub Discussion #4 | Getting Started Guide | 2026-07-12 | Scanner guidance, user feedback, comments and participants |
| Home Assistant Community | PadSpan HA community post | 2026-07-12 | Early community reaction and positioning discussion |
| ESPHome Bluetooth Proxy | Official documentation | 2026-07-12 | Active GATT connection, Ethernet proxy, passive advertisement |
| ESPHome Ethernet Component | Official documentation | 2026-07-12 | W5500 SPI Ethernet configuration and interrupt/polling behavior |
| ESPHome BLE Tracker | Official documentation | 2026-07-12 | Active scanning and BLE tracker behavior |
| Espressif W5500 Driver | Official driver README | 2026-07-12 | W5500 hardwired TCP/IP stack is not used in ESP driver |
| ESP-IDF lwIP | Official ESP-IDF documentation | 2026-07-12 | ESP-IDF uses lwIP TCP/IP stack |
| WIZnet W5500 Overview | WIZnet Document System | 2026-07-12 | W5500 chip capability and SPI interface |
| W5500 Datasheet | W5500 Datasheet v1.1.0 | 2026-07-12 | Official chip documentation |
| Existing Maker Entry: PadSpan HA | Maker Site | 2026-07-12 | Published 2026-04-17; current entry contains a source link |
| Existing Content: M5 Atom Lite + W5500 | Maker Site | 2026-07-12 | ESPHome Home Assistant Bluetooth Proxy |
| Existing Content: XIAO ESP32-S3 + W5500 | Maker Site | 2026-07-12 | Compact BLE-to-Ethernet hardware example |
| Existing Content: ESPresense | Maker Site | 2026-07-12 | Room Presence, MQTT and W5500 scanner expansion |

