Racks & WattsLOCAL HARDWARE / CLEAR PICKS

Home Assistant

ESPHome Bluetooth proxy for Home Assistant: fix SwitchBot and BLE range

Bring SwitchBot and BLE devices into range with an ESPHome Bluetooth proxy. Compare Atom Lite and Ethernet boards, then flash and add your proxy to Home Assistant.

OUR PICKS / YOUR SETUP

Find your fit.

Choose Atom Lite for the simplest USB-flashed Wi-Fi proxy, WT32-ETH01 for Ethernet DIY, or the plain-ESP32 pack for several listening points. Put the radio near your BLE devices; leave Home Assistant where it is.

  • Simple USB setupAtom Lite
  • Ethernet DIYWT32-ETH01
  • Default active slots3 per ESP32 proxy

How we evaluate hardware.

YOUR NEXT PROJECT / THE GEAR

Parts list

  • M5Stack Atom Lite (C008)

    Flash it once over USB-C, then tuck this cased Wi-Fi proxy near your SwitchBot devices.

    Check price on Amazon
  • EC Buying WT32-ETH01 Ethernet ESP32 board

    Choose wired networking when you are happy to add a serial programmer and enclosure.

    Check price on Amazon
  • AITRIP ESP-WROOM-32 development boards (3-pack)

    Build separate Wi-Fi proxies near several groups of Bluetooth devices.

    Check price on Amazon

Your curtains are smart. The Bluetooth signal trying to reach them through the back of a server cupboard is less smart. An ESPHome Bluetooth proxy lets you put the radio near your SwitchBot motor or BLE sensor while Home Assistant stays where it is.

Start with an M5Stack Atom Lite for the simplest USB setup. Choose the WT32-ETH01 if you want Ethernet and enjoy a little wiring. A plain-ESP32 multipack makes sense when you want several separate listening points. Ethernet is the preferred network connection when you can run it: ESPHome recommends it because Bluetooth no longer shares the ESP32 radio with Wi-Fi traffic.

This is a research-based guide using ESPHome, Home Assistant and maker documentation.

For the tools to wire and check a DIY board, start with our first electronics bench guide.

Quick picks: choose the setup you want to build

  • Best simple USB setup: M5Stack Atom Lite. A small case, USB-C programming and a plain ESP32 make this the friendly first project. Flash it, join Wi-Fi and move it near your Bluetooth gear.
  • Ethernet DIY pick: EC Buying WT32-ETH01. Wired networking keeps Wi-Fi off the proxy’s radio. This is a bare board with an external serial-flashing step, so choose it when you already have the tools or want to learn.
  • Wi-Fi multipack: AITRIP ESP-WROOM-32 three-pack. Use one board per listening point rather than asking one distant radio to reach everything. ESPHome’s official selector links this exact pack for its Generic ESP32 target.

These are alternatives, not a three-item shopping requirement. For a first proxy, buy one board, a suitable power supply and a data-capable flashing cable. The WT32 additionally needs a USB-to-TTL serial adapter and jumper wires; bare boards need a suitable enclosure.

What a Bluetooth proxy actually does

The path is simple: BLE device → nearby ESPHome proxy → your local network → Home Assistant. The proxy passes Bluetooth traffic to Home Assistant, where the device’s integration interprets it. It can listen to sensor broadcasts and, with active connections enabled, let Home Assistant send commands back.

That makes it useful for SwitchBot curtains and Blind Tilt: you can put the radio near the motor instead of moving the computer. Home Assistant’s SwitchBot Bluetooth integration supports those covers without a SwitchBot Hub. Use the SwitchBot app for the motor’s initial calibration and travel limits.

The proxy handles Bluetooth Low Energy, not Bluetooth Classic audio, Zigbee, Thread or Z-Wave. It also doesn’t extend Wi-Fi coverage. Our presence-sensor guide and room-temperature guide identify their devices’ actual radio routes; a BLE proxy won’t strengthen those Zigbee or Thread networks. For the wider project, start at the Home Assistant hub.

Compare the boards before you pick a cable

Hardware Network connection for this project Initial flashing Power and physical fit Pick it for
M5Stack Atom Lite C008 2.4GHz Wi-Fi Built-in USB-C Maker specifies 5V, 500mA input; small plastic case Your first proxy without loose serial wires
EC Buying WT32-ETH01 10/100 Ethernet External USB-to-TTL adapter and jumpers Board supports 5V or 3.3V input, using one supply; enclosure needed A wired DIY listening point
AITRIP ESP-WROOM-32 three-pack Wi-Fi Each board’s USB programming connection Bare development boards; add power and enclosures Several separate proxy locations

M5Stack’s Atom Lite documentation names the ESP32-PICO-D4 chip and USB-C interface. Buy Atom Lite, not a similarly named AtomS3 Lite or Atom Echo, when following the plain-ESP32 instructions below.

Wireless-Tag’s WT32-ETH01 documentation describes the board design. The Amazon pick is EC Buying’s listed WT32-ETH01, not the maker’s own store. Its Ethernet socket supplies networking; this bare board is not a PoE-powered proxy.

Where do Olimex and GL-S10 fit?

If you want Ethernet plus power over the same cable, the Olimex ESP32-POE-ISO-EA is the official Home Assistant team’s proxy-development choice. Its external antenna is the attraction. The Olimex product page explains the variants; Home Assistant’s Bluetooth docs warn that the WROVER version has different pins and doesn’t fit the ready-made project. Choose the exact supported variant.

The GL.iNet GL-S10 also appears in ESPHome’s supported projects. It is hardware from GL.iNet, not official Home Assistant-branded hardware. GL.iNet documents a specific ESPHome firmware path. Stock MQTT-gateway firmware and ESPHome proxy firmware are different; the current ESPHome installer warns that converting a GL-S10 requires opening its case and targets revision 2.X. Treat it as a firmware project unless the seller explicitly supplies the ESPHome version.

Active connections, passive listening: two different jobs

A thermometer may simply broadcast its readings. The proxy hears those advertisements and forwards them. A curtain motor needs active GATT connections so Home Assistant can exchange data and control it.

ESPHome documents three simultaneous active connection slots by default on ESP32. That means three connections at once, not three devices total. A device that connects briefly releases its slot afterward; a continuously connected device keeps one occupied. Passive sensor broadcasts are handled separately and don’t consume those connection slots.

ESPHome says Ethernet proxies can generally handle four slots when configured for them. Start with the supplied configuration, then adjust only if you need more concurrent connections. Adding slots uses memory; adding a better-placed proxy may solve the real problem more neatly.

Active scanning is a separate setting. It asks devices for extra discovery information; it isn’t the switch that enables curtain commands. Keep the default scan timings, and leave Home Assistant’s recommended Auto scanning mode in place for normal use. If SwitchBot discovery needs attention, follow its integration’s add-mode instructions rather than changing every Bluetooth setting at once.

Flash your first Wi-Fi proxy from the browser

Use this path for the Atom Lite or the listed plain ESP-WROOM-32 boards:

  1. Connect the board to your computer with a USB data cable. A charge-only cable can power the LED while leaving the serial device invisible. Use a desktop browser with Web Serial support, such as Chrome or Edge.
  2. Open ESPHome Ready-Made Projects. Select Bluetooth proxy, then Generic ESP32. The selector limits this target to plain ESP32 boards; don’t apply it to ESP32-C3 or other variants.
  3. Follow the installation controls and select the board’s serial device. Let the installer finish before unplugging it. If the port never appears, try another data cable; M5Stack also provides the Atom Lite’s USB-driver instructions on its documentation page.
  4. Configure the Wi-Fi connection when the installer prompts you. Use the network Home Assistant can reach. Then move the board to its intended position and power it from a suitable USB supply.
  5. Add it in Home Assistant. Open Settings → Devices & services and configure the discovered ESPHome device. If it isn’t discovered, choose Add integration → ESPHome and follow the form. Supply the API encryption key if your firmware configuration uses one.
  6. Find the radio, then add the actual device integration. Open Settings → Connectivity → Bluetooth to inspect Adapters or Show map. For your curtains, add or configure SwitchBot Bluetooth under Devices & services and follow its discovery instructions.

Home Assistant’s ESPHome guide covers discovery and the native API connection. Importing or adopting the board into ESPHome Device Builder is a separate, optional step for managing its configuration and future builds; it doesn’t replace adding the ESPHome integration to Home Assistant.

Ethernet: take the WT32 route deliberately

The WT32 has no built-in USB programming connection. Open the ready-made selector’s Show DIY devices that require extra setup, choose Wireless-Tag WT32-ETH01, and read its linked serial-flashing walkthrough before assembling the programmer.

That walkthrough shows the serial adapter and boot jumper. Follow the exact board and adapter wiring rather than copying a jumper position from a different programmer. Use the WT32-specific installer target, not Generic ESP32: Ethernet needs the correct board configuration.

After flashing, remove the programming jumper as directed, connect Ethernet and provide the board’s power. The ready-made Ethernet firmware disables Wi-Fi, so an unplugged network cable leaves it disconnected. Once it joins your network, add the discovered ESPHome device in Home Assistant just as in the Wi-Fi steps.

If serial adapters and exposed headers sound like the wrong kind of evening, choose the Atom Lite. Ethernet is the preferred radio arrangement; USB flashing is the easier first build.

Give it the curtain test

Place the proxy near the Bluetooth device, in the open and away from the server rack or networking equipment. ESPHome specifically warns about interference near that equipment. An Ethernet cable is useful here because the best radio position doesn’t have to be beside your Wi-Fi router.

In Home Assistant, open the curtain, stop it, then close it. Repeat from its final position. Watch the Bluetooth map and the device’s response while moving the proxy; keep the position that gives you dependable control. For a thermometer, watch for fresh readings through its supported integration instead of expecting the proxy itself to create a temperature entity.

If the board is online but the device is missing, check the device’s Home Assistant integration first. Then check discovery mode, Bluetooth range and available active slots. If the board itself disappears, start with power and its Wi-Fi or Ethernet connection. Fix one layer at a time and the troubleshooting stays manageable.

Choose Atom Lite for a simple first proxy, WT32-ETH01 for wired DIY, or the plain-ESP32 pack for several listening points. Bring the radio closer, keep Home Assistant where it belongs, and let the curtains get back to being curtains.

Ready to give the proxy a physical job? The SwitchBot Bot setup guide adds local button presses for a coffee machine, PC or older AC control.

Want the ESP32 to take readings of its own? Build a temperature, motion and light sensor on a breadboard, then bring it into Home Assistant through the native API.

Sources & methodology

Where these facts come from.

Source dates are listed above.

As an Amazon Associate I earn from qualifying purchases.

YOUR NEXT PROJECT / THE GEAR

Parts list

  • M5Stack Atom Lite (C008)

    Flash it once over USB-C, then tuck this cased Wi-Fi proxy near your SwitchBot devices.

    Check price on Amazon
  • EC Buying WT32-ETH01 Ethernet ESP32 board

    Choose wired networking when you are happy to add a serial programmer and enclosure.

    Check price on Amazon
  • AITRIP ESP-WROOM-32 development boards (3-pack)

    Build separate Wi-Fi proxies near several groups of Bluetooth devices.

    Check price on Amazon

Prepared by Racks & Watts.