← Back to Projects

InfinityX

Role: Engineering Student Repository: nicx17/InfinityX
ESPHome Home Assistant ESP32 Hardware

Overview

This project integrates an ESP32 microcontroller directly inside an Infinity Bluetooth speaker to bring it into Home Assistant. By wiring the ESP32 directly to the speaker's physical Play/Pause, Power, and Volume buttons, the microcontroller mimics physical button presses. Power for the ESP32 is drawn directly from the Bluetooth speaker's internal circuitry, making it a fully self-contained smart integration.

Features and Integration

  • Direct Hardware Integration: ESP32 mimics physical button presses using GPIO outputs.
  • Self-Powered: Draws power directly from the speaker.
  • Power Control: Short and Long Press mimicking.
  • Playback and Volume Control: Dedicated play/pause and volume controls mapped through GPIO.
  • Status Sensor: Reads speaker power state to report back to Home Assistant dynamically.

Hardware Configuration

Outputs (Active Low, Open Drain) connect to corresponding button pads:

  • PWR (Power button): GPIO16
  • PP (Play/Pause button): GPIO17
  • VOLU (Volume + button): GPIO18
  • VOLD (Volume - button): GPIO19

The speaker power status is read via GPIO34 (Input), connected to a point on the PCB that goes high when the speaker is on.

Home Assistant Setup

The device uses the native ESPHome Integration. Auto-discovery broadcasts its presence via mDNS. Virtual buttons and the speaker power status sensor appear as entities in Home Assistant, ready for dashboards and automations.

View Source: nicx17/InfinityX