Repository navigation
Installation
This guide walks you through installing the HUB75 Studio firmware and integrating it with Home Assistant.
- A supported HUB75 controller (see Supported Hardware for latest list)
- Apollo Automation M‑1 (rev4 or rev6)
- Adafruit Matrix Portal S3
- ESPHome 2025.12.x+
- Home Assistant 2025.12.x+
- Plug your controller into your computer using a USB cable.
- Open the HUB75 Studio Web Installer.

Select your controller type from the Web Installer. For Apollo M‑1 controllers, the revision is printed on the board.
⚠️ If your controller is already attached to a panel, the revision label is on the inside, so you may need to detach it to check.
- If you choose the wrong controller/revision, don't worry—you won't brick the device. You might just get a blank display and can simply try a different option.

- In the Web Installer, click Connect.
- Select the USB port your controller is connected to.
- Click Install
stuartparmenter.hub75-studio.
📷 Image placeholder: screenshot of Web Installer showing connect + install buttons.
The tool will erase, flash, and install the firmware. Once finished:
- You will be prompted to set up Wi-Fi.
- You will then be asked to add the device to Home Assistant.
👉 If you don’t already have ESPHome set up in Home Assistant, install the ESPHome integration first.
To unlock advanced features, install the ESPHome Builder add-on in Home Assistant and adopt your device.
- In Home Assistant, go to ESPHome and choose Adopt for your device.
- ESPHome will generate a configuration based on your controller and re-flash the device. This may take a few minutes depending on your hardware.
📷 Image placeholder: screenshot of ESPHome showing Adopt dialog.
After adoption:
- Automatic firmware updates from the Web Installer stop.
- You now have full control over configuration, including adding pages and features.
In the ESPHome integration settings, click on the settings wheel next to your device. Check "Allow the device to perform Home Assistant actions." This allows the device to get things like your weather forecast.
The base configuration for your controller is available here:
You can always pull the latest updates for your adopted device from these files.
See the Customization Guide for detailed information on configuring your device.
Some packages are included but disabled by default. To enable them, uncomment their entries in your ESPHome config.
Example: enabling the Now Playing page:
"Now Playing" media player page
- path: packages/pages/now-playing.yaml
vars:
uid: "living_room"
page_friendly_name: "Now Playing - Living Room"
ha_base_url: "http://homeassistant.local:8123"
media_player_entity: "media_player.living_room"📷 Image placeholder: screenshot of Now Playing page running on M-1.
Other optional pages include:
- Music visualizer
- Media/video streaming (YouTube, GIFs, etc.)
- Custom dashboards
To stream animated GIFs, videos, or YouTube content to your display, you must also install the Media Proxy for Home Assistant.
- Follow the instructions in the media-proxy-addon repository.
- Once installed, your device can connect through media-proxy to handle streaming sources.
- Configure ESPHome packages that use media streaming, and they will automatically route through the add-on.
📷 Image placeholder: screenshot of streaming video playing on display.
Once installed and adopted, you can:
- Add your own custom LVGL pages.
- Change the number or layout of panels.
- Enable advanced effects like real-time audio visualization or video streaming.
✨ That’s it! Your HUB75 controller is now ready to use with Home Assistant.