- hall-9: Local LLM integration with Home Assistant & ESPHome
- Objective: Achieve offline STT/TTS with a wake-word on an ESP32-S3
Repo primarily contains the hall-9.yaml file for ESPHome configuration and the /assets/case folder for case files.
🔧 Building the Device
- ESP32-S3 (local wake-word detection capable)
- MAX98357 Amplifier + Speaker (4 Ω / 8 Ω)
- INMP441 Microphone
- SSD1306 Display
- LD2410 Radar (optional)
- DHT22 Thermometer (optional)
- Use the bench case available in the /assets/case folder during development
- Follow the pinout from the
hall-9.yaml
configuration - Provide 5 V for MAX98357 (some ESP32-S3 boards supply this directly)
⚙️ Install ESP32
-
ESP32 Deployment
- Create a standard config in ESPHome
- Set
framework: esp-idf
-
Packages
- Include packages from hall-9.yaml or selectively by umcommenting
- Changes are automatically pulled by ESPHome upon updating
-
Speech End Detection
- Set to “aggressive” to reduce latency
📡 Prepare Home Assistant Voice Pipeline
-
Whisper (STT) & Piper (TTS)
- Install add-ons
- Configure both via Wyoming
-
LLM of Choice
- Example: Ollama (networked) or ChatGPT
- Integrate via Add-On
-
Assistant Pipeline
- Configure in Home Assistant
- Reference Whisper & Piper
- Design a new case
- Update from repo
- Docker for external Whisper Info