ESP32 Bluetooth Proxy for Home Assistant – Full 2025 Guide (ESPHome Method)

Bluetooth Low Energy (BLE) sensors such as the Xiaomi Mi Temperature, Inkbird, Switchbot, and many others are extremely popular for Home Assistant users.
However, Bluetooth range is limited, and placing Home Assistant in a central location may not always be possible.

The ESP32 Bluetooth Proxy solves this problem by extending Home Assistant’s Bluetooth range using inexpensive ESP32 boards placed around the home.

This guide shows how to turn any ESP32 board into a Bluetooth range extender using ESPHome.


1. What Is a Bluetooth Proxy?

A Bluetooth Proxy is a small ESP32 device that:

  • Listens for BLE advertisements
  • Forwards them to Home Assistant through WiFi
  • Expands Bluetooth coverage across the home
  • Works 24/7
  • Requires no coding
  • Supports multiple sensors at once

Home Assistant treats all readings as if they were coming from local Bluetooth.


2. Supported ESP32 Boards

Any of the following work out-of-the-box:

  • ESP32 DevKit (DOIT)
  • ESP32 WROOM / WROVER
  • ESP32 NodeMCU
  • ESP32-C3 (WiFi + BLE)
  • ESP32-S3 (best range)

Note: ESP8266 does not support Bluetooth.


3. Supported BLE Devices

Home Assistant officially supports:

  • Xiaomi LYWSD03MMC
  • Xiaomi Mi Temperature & Humidity
  • Xiaomi CGG1
  • Inkbird IBS-TH1 / IBS-TH2
  • Switchbot Thermometers
  • Govee Sensors
  • Govee Plant Monitors
  • BLE heart rate monitors
  • BLE presence trackers
  • BLE energy monitors (Shelly Blu)

No additional configuration is needed — sensors are auto-discovered.


4. Hardware Required

  • ESP32 board
  • USB cable
  • Phone/laptop to flash the device

No wiring, soldering, or external components required.


5. ESPHome Bluetooth Proxy Installation

This is the simplest ESPHome project available.

Open the official installer:

https://esphome.io/components/bluetooth_proxy/
(Flash from browser)

Choose your ESP32 board → Connect → Flash → Enter WiFi details.

After flashing:

  • The ESP32 connects to WiFi
  • It appears automatically under Settings → Devices & Services → ESPHome
  • Bluetooth Proxy is enabled by default

You now have a fully working Bluetooth range extender.


6. Manual ESPHome YAML (Alternative Method)

For advanced users who maintain their own ESPHome YAML files:

esphome:
  name: esp32-bluetooth-proxy
  platform: ESP32
  board: esp32dev

wifi:
  ssid: "YOUR_WIFI"
  password: "YOUR_PASSWORD"

logger:
api:
ota:

esp32:
  board: esp32dev
  framework:
    type: esp-idf

bluetooth_proxy:

Upload the firmware and the device will appear in Home Assistant automatically.


7. Placing the Bluetooth Proxy for Maximum Coverage

Bluetooth range varies based on:

  • Walls (especially concrete)
  • Metal surfaces
  • Appliances (microwaves, fridges)
  • Home layout

For best results:

  • Place ESP32 devices 5–10 meters from BLE sensors
  • Avoid placing behind appliances
  • Elevate them (shelves, cabinets)
  • Use multiple ESP32 proxies in larger homes
  • ESP32-S3 boards generally have stronger radios

8. Adding BLE Devices to Home Assistant

After the proxy is online:

BLE sensors within range begin appearing automatically under:

Settings → Devices & Services → Bluetooth

Examples:

  • sensor.bedroom_temperature
  • sensor.fridge_temperature
  • sensor.govee_humidity

No YAML needed.


9. Why Use ESP32 Instead of a USB Bluetooth Dongle?

MethodProsCons
Bluetooth Proxy (ESP32)Unlimited coverage, multiple nodes, WiFi-based, cheap, highly stableRequires ESP32 flashing
USB Bluetooth DongleEasy, plug-and-playRange is limited, requires long USB extension
Raspberry Pi onboard BLESimplePoor range, interference with WiFi

ESP32 proxies are currently the recommended method in Home Assistant’s documentation.


10. Useful Home Assistant Automations

Presence detection when a BLE tag enters range

automation:
  - alias: "BLE Tag Detected"
    trigger:
      - platform: state
        entity_id: device_tracker.ble_tag
        to: "home"
    action:
      - service: notify.mobile_app
        data:
          message: "BLE tag detected at home."

Monitor temperature from a remote room

type: gauge
entity: sensor.bedroom_temperature
min: 0
max: 40

11. Troubleshooting

ESP32 not appearing in Home Assistant

  • Ensure ESPHome add-on is installed
  • Ensure the ESP32 is on the same network
  • Check WiFi credentials

BLE sensor not detected

  • Move sensor closer to ESP32
  • Multiple proxies may cause overlap; disable one for testing
  • Use ESP32-S3 for better range

Interference issues

  • Avoid placing ESP32 near WiFi routers
  • Keep away from microwaves and metal enclosures

12. Advanced Tips

Add multiple Bluetooth Proxies

A typical home uses 2–4 ESP32 devices for perfect coverage.

Use large antennas

Some ESP32 models include external antenna connectors for extended range.

Secure the proxy with Home Assistant Tokens

ESPHome supports encrypted API connections for improved security.


Keywords

esp32 bluetooth proxy
home assistant bluetooth proxy
esphome bluetooth proxy
esp32 ble range extender
home assistant ble sensors
xiaomi ble proxy esp32
esp32 bluetooth temperature sensor
bluetooth home assistant tutorial

Newsletter Updates

Enter your email address below and subscribe to our newsletter

Leave a Reply

Your email address will not be published. Required fields are marked *