

For Rhythm owners
Version 2 is a rewrite of the software inside your Sunlight Generator: a new interface, faster and more accurate dial control, and usage history. If you choose to connect it to Wi-Fi, it can also sync its clock, follow sunrise and sunset, and work with Apple Home and Home Assistant. It runs fully offline if you’d rather.
Free for every owner. We’ll fit it in person where we can reach you. Try it below first — this is the real software, running in your browser.
Version 2.4-m14, running in your browser. The same software that would be on your generator.
1.0.0 → 2.4-m14
Every generator we’ve shipped runs version 1.0.0. Anything below marked optional stays off unless you turn it on.
Brightness
Now
Turn the encoder. Long press for on/off.
After
Same controls. 1% steps instead of coarse ones, and a fade between levels rather than a jump. The encoder is decoded in hardware now, so fast turns don't drop steps or reverse.
Schedules
Now
Two on/off times per day, set on the device.
After
Still two, still set on the device. They can optionally follow sunrise or sunset with an offset, which needs a network connection to know where you are. A 24-hour ring shows the day.
Clock
Now
Set by hand. Drifts, and is lost when the unit is unplugged.
After
Kept through a power cut either way. If you connect it to a network it sets itself; if you don't, you set it by hand as before.
Wi-Fi
Now
Not supported.
After
Optional. The generator runs fully offline and every function above works without it. Connecting it is what enables clock sync, sunrise/sunset, home apps and updates.
Home apps
Now
Not supported.
After
Optional, and requires Wi-Fi. Apple Home and Home Assistant, over Matter. Google Home and Amazon Alexa require CSA Matter certification, which is pending.
Usage data
Now
Not recorded.
After
Time on and average level, per hour and per day, kept for 14 days. Stored on the device. Nothing is uploaded.
Updates
Now
Open the enclosure and connect to the internal port.
After
Downloaded and installed over Wi-Fi if the generator is connected. Offline units still need the internal port.
Getting it
Version 2 is loaded through a port inside the enclosure, so the generator has to be opened to reach it. We’d rather do that than have you risk it. Onsite upgrades are complimentary, subject to availability in your area.
Recommended
Tell us roughly where you are and we’ll confirm whether we can reach you, then arrange a time. We bring the tools, open the unit, load version 2, reassemble it and check it works. We can set up Wi-Fi and a home app while we’re there if you want them — neither is required.
For the technically inclined
This one carries real risk.
You have to take the enclosure apart to reach an internal USB‑C port. If the write is interrupted, or the wrong image is loaded, the generator can be left unusable and will have to come back to us. Nothing was shipped in the box for this.
macOS · Apple Silicon
The installer writes the firmware packaged inside it, which is not always the newest version listed on this page (currently 2.4-m14). It does not check for anything newer before it writes. Once the generator is on version 2 it can pick up later versions over Wi-Fi on its own, if you connect it.
Either way, this is the last time your generator needs opening. From version 2 on, updates arrive over your Wi-Fi on their own.
Roadmap
Planned items are things we have started, not dates we are promising.
What every generator in the field does today.
Included in this upgrade.
Committed to in the firmware, not yet dated. We will not list anything here we have not started.
Where this is going. Not started, so no date and no promise — kept apart from Planned for exactly that reason.
Release notes
Upgrading installs all of it at once. Open a version to read what it brought.
Connected generators check for new firmware and install it, showing progress on screen. Rollouts are staged and can be stopped centrally. An image that fails to boot is rolled back to the previous one automatically. Offline generators are unaffected and keep working.
Adding a second app re-offered the original setup code, which some apps reject. The generator now issues a fresh code per home.
The level reported to Apple Home was sent with the wrong value type and silently rejected, so the tile showed a stale percentage while on/off worked. The tile now tracks the dial.
A dropout after a router restart could be misread as a wrong password and stop retrying. Also fixed on networks that only assign IPv6 local addresses.
A mistyped password retried indefinitely instead of reporting the failure. It now stops and says so, and a rejected password is not saved.
Reset cleared the device's own settings but not its Matter fabrics, so a reset generator still reported itself as paired. It now clears both.
Wi-Fi names containing curly apostrophes or accents rendered as empty boxes. Text is now mapped to characters the font contains.
After an unexpected restart the generator can send us a diagnostic report. It asks first, every time, unless you choose otherwise. Declining erases it.
Previously drawn with hard pixel edges.
Serial, model and colourway, in a partition a factory reset does not touch, so a reset unit still knows what it is.
It previously overstated how many apps were connected.
The generator is a Matter dimmable light. Pair it with Apple Home or Home Assistant to control brightness and on/off from an app, a voice assistant or an automation. Requires Wi-Fi.
A home automation and the generator's own schedules both drive the light with no priority between them — last change wins. The pairing flow says so and offers to turn the schedules off.
Pages previously cut straight from one to the next.
Set up on the device with a touch keyboard, or from your phone by scanning a code on screen. Everything the generator did before still works without it.
Time is taken from the network when connected, and checkpointed to the hardware clock and to storage either way. Previously the time was lost on unplug.
A schedule can anchor to sunrise or sunset with a minute offset instead of a fixed time. Location is resolved approximately from the network connection.
From this version the firmware can be pushed to the generator over Wi-Fi. This upgrade is the last one that requires opening the enclosure.
Version 1 was one 2,391-line source file driving a menu. Version 2 is 193 files: a page carousel, a compositor that fades between pages, and a text renderer for the round display.
Version 1 sampled the encoder once per loop, so a fast turn aliased — dropped steps, and sometimes registered the wrong direction. Counting now happens in the ESP32's pulse counter, which cannot miss an edge. Turn response is also eased and velocity-aware.
Shows the whole day and where the light falls in it.
Time on and average level, per hour and per day, kept for 14 days on the device. Nothing is uploaded.
Walks through turning, pressing and swiping on first power-on. Replayable from Settings.
Press and hold to sleep the screen, touch to wake, and an automatic sleep after five idle minutes. The light is unaffected.