Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESP32 Sonos Touch Controller

ESP32 ESPHome Home Assistant Display License

A standalone touchscreen controller for Sonos, powered by ESP32 + ESPHome + Home Assistant.

This project documents the hardware setup, wiring, working display configuration, and the ongoing touch controller integration.


🚀 Project Goal

Build a dedicated Sonos control screen that:

  • Connects to Home Assistant
  • Displays device information
  • Provides future touchscreen interaction
  • Runs fully on ESPHome
  • Supports OTA updates

🧱 Hardware Used

  • ESP32 (esp32dev)
  • 3.5" SPI TFT display (ST7796, 480x320)
  • Touch controller (suspected XPT2046)
  • USB 5V power supply

📄 See: hardware.md
🖼 Wiring diagram: docs/wiring.png


🗺 Roadmap

v0.1 – Display Foundation ✅

  • ESP32 + ST7796 display initialization
  • Stable SPI configuration
  • RGB test rendering
  • Device name + IP display
  • Wi-Fi connection
  • Home Assistant API integration
  • OTA updates enabled

v0.2 – Touchscreen Integration (In Progress)

  • Identify exact touch controller model
  • Validate SPI / CS / IRQ wiring
  • Obtain dynamic X/Y coordinates
  • Axis calibration
  • Touch stability validation

v0.3 – Sonos UI Prototype

  • Basic UI layout
  • Volume slider
  • Play / Pause
  • Next / Previous
  • Media info display

v0.4 – UI Polishing

  • Smooth refresh
  • Responsive touch zones
  • Screen sleep mode
  • Brightness control

v1.0 – Stable Sonos Control Panel

  • Full Sonos control
  • Multi-room selection
  • Production-ready configuration
  • Complete documentation
  • Touch fully validated

✅ Current Status

Feature Status
Display (ST7796) ✅ Working
SPI Communication ✅ Stable
Wi-Fi ✅ Working
Home Assistant API ✅ Connected
OTA ✅ Working
Web Server ✅ Working
Touchscreen ❌ Under Investigation

📺 Display Validation

The working baseline configuration:

  • Shows RGB test bars
  • Displays device name
  • Displays IP address
  • Connects to Home Assistant
  • Runs stable under ESP-IDF

See:

About

standalone ESP32 touchscreen controller for Sonos powered by ESPHome and Home Assistant.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors