Recommended Free Tools
If your Home Assistant Bluetooth proxy is not working, first determine whether the ESP32 is offline, online but not receiving Bluetooth advertisements, receiving data that no integration uses, failing active connections, or becoming unstable after running for a while. Each symptom points to a different fix. Verify the ESPHome API and network path before changing Bluetooth scan settings or replacing hardware.
Identify what is failing
A Bluetooth proxy acts as a remote Bluetooth Low Energy (BLE) adapter for Home Assistant. It forwards BLE advertisements and, on supported platforms, can also provide active GATT connections. It does not proxy Bluetooth Classic, decode every device, or guarantee that Home Assistant supports the device. See the ESPHome Bluetooth Proxy documentation and Home Assistant Bluetooth integration documentation.
As an Amazon Associate I earn from qualifying purchases.
- ESPHome node is offline or its API cannot connect: start with Wi-Fi, addressing, and API reachability.
- Node is online but no advertisements appear: investigate the BLE tracker, placement, and radio conditions.
- Advertisements appear but no device or entity is available: check whether a Home Assistant integration supports that BLE device.
- Discovery works but a connection fails: check whether the integration needs an active GATT connection and whether connection slots are available.
- The proxy works and later locks up or reconnects: investigate memory use, added components, scan settings, Wi-Fi stability, and logs around the failure.
Check the ESPHome API and network first
When the node itself is unreachable, missing BLE data is not yet evidence of a Bluetooth scanning fault. Confirm that the ESP32 joins Wi-Fi and that Home Assistant can connect to its ESPHome native API. Use the ESPHome device log viewer while the API is available, and check that the node’s address and hostname match its configuration.
If the YAML specifies a manual IP address, check the router’s DHCP reservations and look for an address conflict. A community thread reports an API connection refusal alongside a suggestion to check for a static-IP conflict; that is one plausible cause, not a universal diagnosis: community discussion of a Bluetooth proxy problem. Do not treat an API refusal as proof that BLE is broken.
#1 Best Overall
- 2.4GHz Dual Mode WiFi + Bluetooth Development Board
- Support LWIP protocol, Freertos
- SupportThree Modes: AP, STA, and AP+STA
- Ultra-Low power consumption, Compatible with Arduino IDE
- ESP32 is a safe, reliable, and scalable to a variety of applications
Compare custom YAML with ESPHome’s documented Wi-Fi proxy example
Custom configurations can add components that consume memory or complicate diagnosis. Temporarily test with a configuration close to ESPHome’s recommended Wi-Fi proxy structure, adapting the Wi-Fi secrets and node settings for your installation. This illustrates the essential components; it is not a complete installation walkthrough.
esp32:
variant: esp32
framework:
type: esp-idf
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
logger:
api:
ota:
platform: esphome
esp32_ble_tracker:
bluetooth_proxy:
active: true
The proxy relies on esp32_ble_tracker. The example includes the native API, ESPHome OTA, and the tracker as well as the proxy. ESPHome recommends the esp-idf framework for memory-constrained proxy configurations. Check the current Bluetooth Proxy documentation if you are adapting the example for a different board or firmware setup.
Rank #2
- Dual-Core Performance Up to 240 MHz: Run sensor processing, wireless communication, automation logic and connected-device tasks on a 32-bit dual-core ESP32 platform designed for responsive embedded and IoT projects
- Built-in Wi-Fi and Bluetooth 4.2: Connect to 2.4 GHz Wi-Fi networks or use Bluetooth Classic and BLE for wireless sensors, smart devices, remote controls, home automation and other connected projects
- Flexible Power-Saving Modes: ESP32 power-management features support dynamic clock scaling and low-power operating modes, helping developers reduce energy use in compatible sensing, monitoring and connected-device applications, suitable for battery-powered Internet of Things (IoT) devices.
- USB-C Programming with CP2102: Connect through USB-C for power, sketch uploads and serial monitoring, while GPIO, UART, SPI and I2C interfaces support sensors, displays, motor drivers and other modules (USB-C cable not included)
- Over-the-Air Update Support: Configure OTA functionality through a compatible ESP-32 software framework to update deployed firmware over Wi-Fi without reconnecting the board by USB for every revision
Check BLE scanning, placement, and radio conditions
Keep the default scan settings initially
Start with the tracker’s default scan parameters. ESPHome says its defaults suit most users; changing interval or window typically brings no meaningful benefit and can increase CPU use and network traffic. Aggressive scanning may contribute to overheating on PoE proxies or Wi-Fi instability on Wi-Fi proxies. Avoid tuning scan values until the basic configuration, connection, and placement are sound. See the ESP32 BLE Tracker documentation.
Improve placement before changing hardware
Place the proxy close to the BLE devices it serves and separate it from routers, switches, racks, and other network equipment. ESPHome suggests 3 meters of separation from nearby network equipment in its Bluetooth Proxy reception guidance. Walls, distance, and local radio conditions can still affect reception; moving the existing node is a useful diagnostic before buying another board.
Rank #3
- Powerful ESP-32 Board: Unlock the world of Internet of Things (IoT) and advanced electronics with the heart of this kit: the ESP-32 board. It features a powerful dual-core processor, integrated Wi-Fi and Bluetooth 4.2, making it perfect for building connected, smart devices that communicate with your phone or the cloud. It's fully compatible with the Arduino IDE for easy programming.
- Super Starter Kit: This kit contains over 35 different modules and electronic components, including sensors, displays, motors, and input devices. From LEDs and buttons to an OLED screen, servo motor, and keypad, you have everything needed to explore a vast range of projects in one box.
- Step by Step Online Tutorial: Jump right in with our detailed, beginner-friendly tutorial. Access 30+ projects with complete code, clear circuit diagrams, and step-by-step instructions. Learn the fundamentals of electronics, coding, and how to utilize the ESP-32's unique capabilities without any prior experience.
- Hands-on Learning for All Skill Levels: Perfect for students, makers, engineers, and hobbyists. Start with basic circuits and coding, then progress to intermediate and advanced IoT applications. Build practical projects like weather stations, smart home controllers, remote-controlled devices, and interactive gadgets. The skills you learn are the foundation for real-world innovation.
- Quality & Great Support: Elegoo is committed to quality. We provide a clear, detailed tutorial guide, refined code, and a well-organized component kit. All modules are carefully selected for reliability and ease of use. Our dedicated technical support team and active online community are ready to help you succeed in your learning journey.
Account for ESP32-C3 Wi-Fi and BLE sharing
On a single-core ESP32-C3, Wi-Fi and BLE tracking share the same core. ESPHome documents that simultaneous operation has been associated with Wi-Fi connection issues. If a C3 proxy is intermittently losing Wi-Fi while scanning, test a simpler configuration and review logs before assuming the BLE device is the cause. See the ESPHome Bluetooth Proxy guidance.
Separate device support from proxy discovery
A proxy can forward an advertisement without Home Assistant creating a device or entity from it. The Home Assistant integration for the actual device must support it; Bluetooth Classic devices are outside this BLE proxy’s scope. ESPHome says it does not decode device protocols or maintain a compatibility list, so check the Home Assistant integrations list for the device’s integration rather than assuming that visible BLE traffic means it is supported.
Rank #4
- 2.4GHz Dual Mode WiFi + Bluetooth Development Board
- Support LWIP protocol, Freertos;ESP32 is a safe, reliable, and scalable to a variety of applications
- SupportThree Modes: AP, STA, and AP+STA
- Ultra-Low power consumption, Compatible with Arduino IDE
- 1PCS 30Pin ESP32 Development Board 2.4GHz WiFi Dual Cores Microcontroller Integrated with Antenna RF Low Noise Amplifiers Filters
Check active GATT connections and memory use
Passive advertisements do not use active connection slots. A device that keeps a GATT connection open can occupy a slot continuously, while brief connections release a slot when finished. ESPHome documents a default of 3 ESP32 BLE connection slots and recommends not exceeding 5 to avoid stability and memory problems. It estimates about 1 KB of RAM per configured slot. These are ESPHome configuration figures, not a guarantee that every device or configuration will remain stable at the maximum. See the ESP32 BLE component documentation.
Free tools Windows power users keep installed
One-click scans. No signup required.
The ESP32 BLE stack uses significant RAM, and the total BLE connection count is shared among proxy, BLE client, and BLE server uses. If failures began after adding components, temporarily remove memory-intensive extras and retest. Increase connection capacity only when logs or the device’s requirements indicate slot exhaustion, and account for the associated memory cost.
Best Value
- 2.4GHz Dual Mode WiFi + Bluetooth Development Board
- Ultra-Low power consumption, works perfectly with the Arduino IDE
- Support LWIP protocol, Freertos
- SupportThree Modes: AP, STA, and AP+STA
- ESP32 is a safe, reliable, and scalable to a variety of applications
Capture logs when the proxy fails
While the API is reachable
Use the normal ESPHome log viewer and save the lines leading up to and during the failure. Look for Wi-Fi disconnects, API connection errors, restarts, or BLE-related messages. The last useful event may help distinguish a network interruption from a crash or connection-capacity problem.
After API and OTA logging disappear
If the node crashes or becomes unreachable, remote logs may no longer capture the failure. Connect the board to a computer with a USB data cable and keep ESPHome CLI serial logging running to collect output or stack traces. This is community troubleshooting guidance, not proof of a particular root cause; see the community discussion of a proxy locking up after a few days.
Interpret Wi-Fi signal reports cautiously
A 2026 community report describes one reconnect case in which the signal received by the access point from the ESP32 was much weaker than the access-point signal reported by the ESP32. That illustrates why a device may hear an access point but still transmit unreliably. It does not establish a universal signal threshold or rule out firmware and configuration problems: community report of an ESP32 proxy reconnecting with an “Auth Expired” message.
When different hardware is worth considering
Consider another board only after testing indicates that the existing hardware, radio arrangement, or installation is the bottleneck. For a Wi-Fi proxy with persistent reception or radio-contention issues, ESPHome suggests an Ethernet-connected board to offload Wi-Fi traffic from the ESP32 radio; its guidance mentions the Olimex ESP32-PoE-ISO-EA as an example. An external-antenna board is another option raised in that guidance, but no single board is established as best for every setup. Compare the supported ESPHome platform, Ethernet versus Wi-Fi, antenna and placement, RAM and connection requirements, power and mounting needs, and whether the device integration needs advertisements alone or active GATT connections. See the ESPHome Bluetooth Proxy documentation.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




