If you want to buy one: LECTRONZ
The ESPHome BLE Proxy & Environmental Monitor is a custom-designed USB stick built around the ESP32-C6. It runs ESPHome firmware and combines an active Bluetooth proxy with a full environmental sensing stack in a single plug-in form factor.
A Garden's Best Friend
Proxy and Environmental Sensing Working Together One of the most elegant aspects of this device is how its dual roles as a Bluetooth proxy and environmental sensor complement each other rather than compete, creating a genuinely symbiotic relationship for garden automation. By forwarding BLE advertisements from Gardena smart controllers, MiFlora plant sensors, and compatible soil moisture devices directly to Home Assistant, the proxy eliminates the need for a dedicated Bluetooth hub while keeping your garden's ecosystem fully connected. At the same time, the BME688's real-time readings of temperature, humidity, barometric pressure, and air quality give Home Assistant the environmental context it needs to make smarter watering decisions — for example, suppressing an irrigation schedule when the sensor detects a recent pressure drop signalling incoming rain, or when humidity already reads high. Together, the two functions turn a single compact device into an intelligent garden nerve centre, where local atmosphere data and remote plant sensor telemetry converge into automations that water your garden only when it truly needs it, saving both water and effort.
Bluetooth Proxy
The device runs ESPHome's native BLE proxy stack, which captures Bluetooth Low Energy advertisements and forwards them to Home Assistant via the ESPHome API over WiFi. Active and passive BLE scanning are both supported. Advertisement bundling — introduced in ESPHome 2023.6 — reduces WiFi traffic between the proxy and Home Assistant by batching BLE packets, significantly lowering the time both radios compete for the 2.4 GHz band.
Compatible with any BLE device that Home Assistant supports: Gardena smart garden controllers, Xiaomi / MiFlora plant sensors, SwitchBot, Govee, Inkbird, Mopeka, and anything advertising standard BLE GATT profiles or proprietary manufacturer data that HA integrations can decode.
Environmental Sensing
The Bosch BME688 sensor is connected via I²C and driven by Bosch's BSEC2 library, integrated into ESPHome via the bme68x_bsec2 component. BSEC2 processes raw gas resistance readings through a trained neural network model to produce:
- IAQ (Indoor Air Quality index, 0–500)
- IAQ accuracy (0–3, with text states: Unreliable / Low / Medium / High)
- Static IAQ — IAQ without auto-baseline compensation, useful for fixed installations
- CO₂ equivalent (ppm)
- Breath VOC equivalent (ppm)
- Temperature, humidity, and barometric pressure
The BSEC2 state is periodically saved to flash so the calibration baseline survives reboots. A configurable temperature offset compensates for self-heating from the ESP32-C6, adjustable at runtime via a Home Assistant number entity without reflashing.
Two WS2812B NeoPixel RGB LEDs map the IAQ index to a colour scale (green → yellow → orange → red) and WiFi/API connection status indicator. The LED partition is managed in ESPHome's light platform with separate addressable partitions for IAQ and status functions.
Hardware
The ESP32-C6 mini module sits on a custom two-layer PCB designed by the me, in USB stick form factor. Power input is USB-A or USB-C, compatible with any standard 5V charger or powered USB port — no dedicated PSU required. The Firmware can be flashed via USB-A or USB-C. Once it is flashed also OTA updates are possible.
The ESPHome YAML is structured as a modular packages system:
base.yaml— shared configuration: NeoPixel, API, OTA, loggingwifi.yaml— WiFi component with captive portal fallbackbme688.yaml— BME688 component
This allows clean maintenance of multiple hardware variants from a single shared codebase. OTA updates work over WiFi. The device is fully adoptable in ESPHome...
Read more »
Miguel Tomas
Hpsaturn
V.G.C.