BOB is an animated Home Assistant companion for M5Stack CoreS3 / CoreS3 Lite.
- Firmware for
M5Stack CoreS3 / CoreS3 Lite - Web onboarding via Bob setup portal
- MQTT control + status updates
- Home Assistant HACS integration with native Bob entities (v0.2.9)
- Optional BLE provisioning service from Home Assistant
- M5Stack CoreS3 or CoreS3 Lite
- Home Assistant + HACS
- MQTT broker (Mosquitto)
- Open HACS in Home Assistant.
- Add custom repository:
https://github.com/HomeVox/Bob(categoryIntegration). - Install Bob.
- Restart Home Assistant.
- Add integration via
Settings -> Devices & Services -> Add Integration -> Bob.
Firmware path: firmware/bob
Arduino IDE setup:
- Add board manager URL:
https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json
- Install board package:
M5Stack
- Select board:
M5Stack-CoreS3
- Install libraries:
M5UnifiedM5GFXPubSubClientArduinoJson
- Open and upload:
firmware/bob/bob.ino
Important:
- This project targets CoreS3/CoreS3 Lite.
- Do not use M5AtomS3 board profile.
If Bob has no valid WiFi credentials, it starts AP setup mode:
- Connect phone/laptop to WiFi:
Bob-Setup - Open:
http://192.168.4.1/setup - Fill in WiFi + MQTT credentials
- Click Save and Connect
After Bob joins your home network:
http://bob.local/setup- or
http://<bob-ip>/setup
MQTT must be correct:
- Host (IP recommended, e.g.
192.168.x.x) - Port
1883(plain MQTT) - Username/password accepted by your broker
Service: bob.provision_ble_wifi
Default BLE name: Bob-Setup-BLE
The Bob integration now exposes native entities under the Bob device, including:
- Switches (Always Awake, Auto Brightness, Matrix, Clock, etc.)
- Numbers (Brightness, Sleep Timer, Proximity Threshold)
- Buttons (Wake, Sleep, Follow, Snapshot, Yes/No)
- Select (Emotion)
- Text (Notification)
- Sensors/Binary sensors (State, Behavior, Touch, Movement, Proximity, etc.)
Services are also available:
bob.send_textbob.set_emotionbob.run_actionbob.set_modebob.provision_ble_wifi
Service definitions:
custom_components/bob/services.yaml
- MQTT
rc=5means your broker rejected credentials. - Setup page not opening:
- ensure you are connected to
Bob-Setup - open
http://192.168.4.1/setup(not HTTPS)
- ensure you are connected to
- If entities do not appear immediately:
- restart Mosquitto
- restart Home Assistant
- reload Bob integration
custom_components/bob- Home Assistant HACS integrationfirmware/bob- M5Stack firmwaredocs/images- README image assetshacs.json- HACS metadata
MIT - see LICENSE.