projectMM Installer ?
Plug in your ESP32. Pick a release + device. Flash. Get the device on your network. Open it in a browser.
The picker shows stable releases, release candidates (v…-rc…),
and a latest build published on every merge to main — all flagged
(beta) except stables. Newest stable is the default; pick
latest to try the newest unreleased changes.
Ethernet works out of the box for the device you pick — its PHY type and pins come from the catalog, no rebuild. Boards without Ethernet just use WiFi.
- Already configured (Ethernet cable, or WiFi set on a previous flash) — nothing to do. The device joins on boot and appears under "Your devices" below automatically.
- New, over WiFi — the installer's Configure Wi-Fi step opens right after flashing: enter SSID + password, click Connect.
- Skipped that step? The device boots a SoftAP
MM-XXXX(4 hex digits from the chip MAC). Join it, openhttp://4.3.2.1, enter your WiFi credentials, or restore a config backup there instead, which carries them (see "Back up a device's config first" below).
Devices you've provisioned via this page are remembered in this browser. Clear browser data wipes the list.
Erasing or migrating a device wipes its WiFi credentials and module config, so
save it all first. Backup + restore is also the answer when an update misbehaves.
An on-device update that fails, or a device that comes back without its settings,
usually means the partition layout changed between releases (right now: 4 MB
classic boards updating to v4.0+). Back up, erase install, restore. One .json bundle holds everything; keep it
private, it contains the WiFi password. Two ways to make one:
- Current firmware: open the device's own page and press Backup (⤓) in the File Manager. That is the whole story.
- Older firmware (no Backup button yet; any release since
v3.0.0, July 2026), or as a browser-side alternative: drag
Backup projectMM config to your bookmarks
bar, open the device's own page, click the bookmark. No bookmarks bar?
and paste it into
the browser console (F12) on the device's page. Safari can't drag bookmarklets:
copy the snippet into a bookmark's address by hand, typing
javascript:in front of it, or use Chrome/Edge (flashing needs them anyway).
After flashing, restore the bundle via the new firmware's File Manager (⟲). The
bundle carries the WiFi credentials, so you can even skip the Configure Wi-Fi
step: join the device's MM-XXXX access point, open
http://4.3.2.1, restore, take the offered restart, and the device
comes back on your network.
Open the device's own web interface in a browser — at its mDNS name or its IP:
http://<devicename>.local— the mDNS hostname tracks the device's name. Out of the box that'sMM-XXXX(same 4 hex digits as the SoftAP / the name Improv reports), sohttp://MM-XXXX.local. Rename the device in its UI and the hostname updates to match. Works on most home networks.- or its DHCP-assigned IP, visible in your router's client list.
Prefer your phone, or your smart home? Control it from WLED Native or Home Assistant — see the getting-started guide.
Updating an existing device? Check the migration notes for any breaking change — most updates need nothing, but a few ask you to re-set or re-add a control.
Source code and releases: github.com/MoonModules/projectMM.