A Bluetooth proxy is an ESP32 running ESPHome that relays BLE traffic to Home Assistant. It extends coverage to BLE thermometers, locks, plant sensors and similar devices far from the server. Home Assistant combines several proxies (and USB adapters) automatically.
Minimal configuration
esp32:
board: esp32dev
framework:
type: esp-idf
esp32_ble_tracker:
bluetooth_proxy:
active: true
active: truelets Home Assistant connect to devices through the proxy (read and write GATT characteristics), needed for locks and many sensors that aren't pure broadcasters. Passive listening is enough for devices that only advertise.- ESP-IDF is recommended over Arduino because it uses less memory.
Limits to respect
| Default | Notes | |
|---|---|---|
| Active connection slots (ESP32) | 3 | maximum 9; ESPHome recommends not going beyond 5 |
| RP2040 / RP2350 (Pico W) | 3 | full proxy |
| BK72xx, LN882x | advertisements only | no active connections |
| Bluetooth Classic | not supported | BLE only |
Placement and hardware
- Prefer boards with Ethernet. ESPHome notes Ethernet proxies perform better, because Wi-Fi and Bluetooth share the ESP32's single radio (see the ESP32 coexistence warning).
- Keep the proxy away from routers, switches and other network gear to reduce interference.
- Don't load the same ESP32 with heavy components (cameras, many sensors, a web server). A dedicated, cheap proxy per area works better.
- Active scanning gets more data from some devices but costs their battery. Only enable it where it's needed.