I recently bought a M5Stamp S3 with the plans to set it up as a Bluetooth proxy.
While I can set up the device as an ESPHome Node, I can’t figure out how to set it up as a Bluetooth proxy.
Have I missed a trick or bought the wrong device?
Thanks
I recently bought a M5Stamp S3 with the plans to set it up as a Bluetooth proxy.
While I can set up the device as an ESPHome Node, I can’t figure out how to set it up as a Bluetooth proxy.
Have I missed a trick or bought the wrong device?
Thanks
I can think of no reason why it wouldn’t work.
What have you tried? Apart from setting the correct board type in your yaml I would expect the example on the Bluetooth Proxy component page to work, unless there is a bug in the S3 implementation.
So my config looks like this
esphome:
name: esphome-web-d4321
friendly_name: ESPHome-Kitchen
esp32:
board: esp32-s3-devkitc-1
framework:
type: arduino
bluetooth_proxy:
active: True
esp32_ble_tracker:
# Enable logging
logger:
level: VERY_VERBOSE
# Enable Home Assistant API
api:
encryption:
key: "some-magical-key"
ota:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esphome-Web-d4321"
password: "password"
captive_portal:
Looks fine. Have you enabled bluetooth in HA? Has the node been discovered by HA and is it showing in the ESPHome integration?
Yep Bluetooth is turned on although it only sees the Bluetooth device on my HASS OS box which it doesn’t like
The M5Stamp S3 is also in but it sees that as a ESP32 Node, not a bluetooth proxy
Weird. Have you tried with the esp-idf framework rather than arduino? Also - did you fire this device up as something other than a bluetooth proxy, then add that code?
Maybe delete it from the integration and let it be rediscovered?
The docs specifically say to use esp-idf.
BT proxies just show up as normal ESPHome devices in HA; nothing will identify them as BT proxies and they don’t show up under the Bluetooth integration.
How are you certain it isn’t working?
Hey, did you use this? Ready-Made Projects — ESPHome
Once flashed with the following, it’ll relay the data to HA. You won’t see anything in the logs though, the devices will appear as notifications (bthome etc…)
esphome:
name: atom-s3-lite
friendly_name: atom-s3-lite
#comment: "${device_description}"
name_add_mac_suffix: false
packages:
esphome.bluetooth-proxy: github://esphome/firmware/bluetooth-proxy/m5stack-atom-lite.yaml@main
esp32:
board: esp32-s3-devkitc-1
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "xxx
ota:
password: "xxx"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Atom-S3-Lite Fallback Hotspot"
password: "xxx"
captive_portal:
web_server:
i2c:
sda: 2
scl: 1
scan: true
sensor:
- platform: bmp280
temperature:
name: "atom-s3-lite Temperature"
oversampling: 16x
pressure:
name: "atom-s3-lite Pressure"
address: 0x76
update_interval: 60s
- platform: sht4x
temperature:
name: "Temperature"
humidity:
name: "Relative Humidity"
heater_max_duty: 0.05
#G4=IR
remote_transmitter:
pin: GPIO4
carrier_duty_percent: 50%
light:
#G35=RGB WS2812C-2020
- platform: esp32_rmt_led_strip
rgb_order: GRB
pin: 35
num_leds: 1
# RMT 0 channels will be occupied by IR
rmt_channel: 1
chipset: ws2812
id: led
name: "Led"
#G41=Button
binary_sensor:
- platform: gpio
name: Button
pin:
number: GPIO41
inverted: true
mode:
input: true
pullup: true
filters:
- delayed_off: 10ms
on_press:
then:
- logger.log: Button Pressed
Im not super up to date on that board and its known issues but, just a friendly tip. These newer s2 and s3 varients are still under development and testing with esphome. Theres a big box in the docs that warns you of this and problems you’re likely to find. Buying the latest and greatest esp32 to be solely a BT proxie is kind of overkill. Testing and updating have been going on for far longer with the esp32-wroom32 boards, its very stable and you lose nothing and you have less problems. Unless you enjoy being a volunteer tester and helping to find and fix issues then use a stable board your needs and keep it simple.
As an alternative approach U could try to flash OpenMQTTgateway on the board.