v7 firmware — what changed
v7.1 is the largest single firmware update we've shipped since the dualETH-PixelControl launched. It rewrites pretty much everything you can see — the web UI, the API behind it, the network config, even the device's MAC address. Here's why we did it, and what it means if you're upgrading.
A new web UI, ground up
The old web UI was hand-written HTML and CSS embedded as literal C strings in the firmware source. Every change meant escaping quotes, re-flashing, hoping. The new one is a small single-page application with a proper REST API behind it — the kind of stack you'd expect to find on any modern device.
What you actually get from this:
- A live status dashboard that polls every few seconds. Uptime, free memory, packet rate per port, last reset reason, status LEDs mirrored in the browser. Everything you'd want when something isn't working as expected.
- Per-port pages with cleaner forms, validation, and immediate feedback on save.
- Mobile-friendly layout — the new UI works on a phone in the rack room.
The whole UI is around 38 KB and is served direct from on-chip flash, so it loads instantly even with no internet connection.
Each device gets a unique MAC
Earlier firmware shipped with a single hard-coded MAC address — every dualETH on a network shared the same identifier, and any installation with more than one device ran into ARP collisions. v7 derives the MAC from the chip's factory-burned identifier instead, so every board picks its own.
If you're upgrading from v6.x, your device's MAC will change on first boot of v7.x. That means:
- DHCP reservations pinned to the old MAC will need updating.
- Firewall rules and switch ACLs that filter by MAC will need updating.
- Device-management tools that identify by MAC will see your unit as a "new" device.
The new MAC is shown on the status page once the unit is back online.
WiFi is gone
The dualETH hardware never used WiFi — the radio was on the board but every revision of the firmware kept it parked. v7 removes the WiFi stack entirely. This frees roughly 30 KB of RAM and drops idle power draw by about 70 mA, which translates directly into more headroom for everything else: longer pixel runs, more reliable web UI under load, less heat.
If you have somehow been using the WiFi hotspot or station mode (we'd love to hear how — please get in touch), v7 will not work for you. Stay on v6.38 until we understand the use case.
A note on settings
The settings format on disk has changed shape — there are new fields, some old fields are gone. v7 detects the old format on first boot and resets to factory defaults to avoid loading invalid data into the new struct. You will need to re-enter your IP, port modes, and universe assignments after upgrading.
This is annoying for installations with many devices. A future release will add a configuration export/import so you can save a unit's settings to a file and push them to a fresh one — see the roadmap.
Should you upgrade?
If you're running a stable production install on v6.38, there's no urgency. v6.x will continue to be supported for bug fixes.
If you're on v6.x and:
- You want the live diagnostics dashboard
- You're running multiple units and the shared MAC has bitten you
- You want the better web UI
— then v7 is worth the migration effort.
The updater page walks you through flashing, and the firmware update guide covers the post-flash steps including the MAC change.