Skip to content

Getting started (ESPHome)

Running WLED instead?

M-1 units ship with WLED, either the current build or the older WLED-MM on units shipped a while back. Both are covered on the Getting Started page, which has a tab for each.

This guide walks you through replacing the stock WLED firmware with hub75-studio, an ESPHome firmware tailored for the M-1, and getting it onto your home network and into Home Assistant.

Attach M-1 LED controller

Your M-1 LED Matrix and M-1 controller were shipped separately to minimize damage in shipping. Gently attach the controller to the back of the M-1 LED Matrix panel as shown in the GIF below.

Hands pressing the M-1 controller onto the back of the M-1 LED Matrix panel

Flash the firmware

Use the Rev6 build unless you have an older M-1 Controller!

All M-1 units currently being sold are Rev6. On the hub75-studio installer, select the Rev6 firmware before clicking Connect.

You'll flash hub75-studio onto your device from a Chromium-based browser.

1. Open https://pavlov-net.github.io/hub75-studio/ in Chrome, Edge, or another Chromium-based browser.

2. Pick the Rev6 firmware, click Connect, select the M-1's COM port, and follow the installer prompts to flash.

HUB75 Studio installer: selecting M-1 Rev6, clicking Connect, choosing the port, and installing

3. Confirm the M-1 BIOS screen

Once the firmware finishes installing, the panel displays the M-1 BIOS splash showing the CPU, RAM, and the last 6 characters of the controller's MAC address. Seeing this screen confirms the firmware installed successfully.

M-1 showing the M-1 BIOS screen with version, CPU, RAM, and ID after flashing

Connect to Wi-Fi

You'll join the device's hotspot from your phone and give it your home Wi-Fi details.

1. On your phone, open Wi-Fi settings and join the network apollo-m1-r6-XXXXXX, where the last 6 characters match the MAC suffix shown on the BIOS screen.

2. The captive portal opens automatically. Either pick your home network from the scanned list and enter the password, or scroll down and type your SSID and password manually.

Phone joining the apollo-m1-r6 hotspot and entering Wi-Fi details in the captive portal

3. Tap Save. The M-1 reboots and joins your home network. Once you see the screen with the clock move on to the next section to join to Home Assistant via the ESPHome integration!

M-1 showing the clock and date after joining Wi-Fi

Join to Home Assistant

Your device should be auto-discovered by Home Assistant using the ESPHome Integration as shown below!

Head to the Integrations page in Home Assistant (Settings → Devices & services) and accept the discovery prompt for your M-1.

Open your Home Assistant instance and show your integrations.

Home Assistant ESPHome integration: adding the discovered Apollo M-1 and finishing setup

Optional features

Adopt into ESPHome Device Builder

Required for advanced customization

Adopting the M-1 into the ESPHome Device Builder app lets you edit its YAML configuration. This is needed if you want to enable optional pages (Team Tracker, QR Codes, MSR-2 Radar, additional Now Playing instances), drive multiple chained panels, or change which pages the WizMote scene buttons map to. See the hub75-studio Customization wiki for the full list. Skip this section if the default firmware already does everything you need.

1. Install the ESPHome Device Builder inside Home Assistant OS by clicking the button below. Make sure to toggle on Start on Boot, Watchdog, and Show in sidebar.

Open your Home Assistant instance and show the dashboard of an app.

2. Navigate to the ESPHome Device Builder app by clicking the Open Web UI button on the far right.

ESPHome Device Builder app page with Start on boot, Watchdog, and Show in sidebar on, then Open Web UI

3. Open the three-dot menu in the top right, click Secrets, and confirm your Wi-Fi SSID and password are configured as shown below. Click Save in the bottom right once finished.

ESPHome Device Builder: opening Secrets from the top right menu to check wifi_ssid and wifi_password

# Your Wi-Fi SSID and password
wifi_ssid: "your-wifi-ssid-here"
wifi_password: "your-wifi-password-here"

4. Notice the Discovered 1 device banner at the top and click the SHOW button in the far top right to show your newly discovered device.

ESPHome Device Builder Discovered 1 device banner, clicking Show to reveal the Apollo M-1

5. Click Take Control and leave the name as is and click Take Control again. Finally, click Install to begin the installation process. This will take some time depending on how fast your device running Home Assistant is. Raspberry Pi, HA Green, etc. will take much longer than a mini pc.

Clicking Take Control on the discovered Apollo M-1 in ESPHome Device Builder and confirming

6. Once you see INFO OTA successful you can click stop in the bottom right and you're finished!

ESPHome Device Builder install log ending in INFO OTA successful, then the M-1 shown online

Media Proxy

The Media Proxy app allows you to view gifs, still images, YouTube videos, and even use Sendspin with album art when using Music Assistant!

1. Go to Settings → Apps and click Install app. Open the three-dot menu in the top right, choose Repositories, click Add, and paste in https://github.com/stuartparmenter/homeassistant-addons. Or use the button below: it adds the repository, after Home Assistant asks you to confirm, and opens the Media Proxy app so you can click Install in step 2.

Open your Home Assistant instance and show the dashboard of an app.

Home Assistant App store menu, Repositories, then adding the Media Proxy repository URL

2. Click the back button then search Media Proxy and click on it. Click Install and let it install.

Searching the Home Assistant App store for Media Proxy and clicking Install

3. Check off Watchdog and Auto Update then click Start

Media Proxy app page: turning on Watchdog and Auto update, then clicking Start

4. To test that it's working, head to the ESPHome integration page (Settings → Devices & services → ESPHome) then select your M-1 device from the list. Copy this url and paste it into the Media Source box. It should automatically start playing the gif!

Open your Home Assistant instance and show an integration.

M-1 device page in the ESPHome integration with a GIF URL pasted into Media Source

M-1 LED Matrix playing a green-tinted Matrix movie GIF

Click here to learn what all you can do with the Media Proxy!

WizMote remote

The M-1 ESPHome firmware has built-in support for the WiZ WizMote remote, so you can change pages, dim the panel, and toggle it on/off without your phone.

1. In Home Assistant, open the M-1 device on the ESPHome integration page (Settings → Devices & services → ESPHome).

Open your Home Assistant instance and show an integration.

2. Find the WizMote Auto-Discovery switch and turn it on.

3. Press any button on your WizMote. The M-1 picks up the WizMote's MAC and pairs automatically.

Turning on WizMote Auto-Discovery, then WizMote Status changing to Paired with the remote's MAC

4. Confirm pairing by checking the WizMote Status entity. It should read Paired along with the WizMote's MAC address.

WizMote Status entity in the M-1 Diagnostic card reading Paired with the remote's MAC address

Default button mapping

  • On / Off / Night: turn the panel on, off, or drop to a minimum night-mode brightness.
  • Brightness Up / Down: adjust panel brightness in steps.
  • Scene buttons 1-4: jump to Clock, Visual Effects, Pong, and Media Stream, in that order.

Visit the documentation page to learn how to configure the buttons to do anything you want!

Click here to learn how to use your new remote with SendSpin!