I wanted an easy way to see what my Snapmaker U1 was doing from across the room, so I built an open-source WLED status bridge that runs directly on the U1.
No Raspberry Pi, Home Assistant, external PC, or cloud service is required once installed.
The bridge reads the U1’s local Moonraker data and translates the printer state into WLED lighting.
Status Indicators
- White breathing — Idle
- Orange breathing — Bed heating
- Red-orange breathing — Hotend heating
- Orange-red breathing — Bed + hotend heating
- Green breathing — Printing
- Yellow/orange breathing — Paused
- Solid green — Print complete
- Solid red — Cancelled
- Fast red — Error
During printing, the green breathing rate increases as the print progresses, giving you a rough visual indication of print progress from across the room.
Improved Warmup Detection in v1.0.1
One of the things I wanted to get right was the initial heating sequence.
The U1 can report that it is printing while the bed and hotend are still coming up to temperature. Simply using the printer state would therefore turn the LEDs green too early.
Version 1.0.1 tracks the initial warmup separately.
While the U1 is warming up, the LEDs continue showing the appropriate bed/hotend heating status. They switch to green only after the commanded heaters reach their target temperatures.
Once printing has started, normal temperature fluctuations do not cause the LEDs to jump back into the heating colors.
The bridge also monitors the bed and all four U1 extruders.
How It Works
Snapmaker U1 → Local Moonraker API → Python Bridge → WLED JSON API → LED Strip
The Python bridge runs directly on the Snapmaker U1.
It queries the local Moonraker API for printer state, heater information, and print progress. It then sends the appropriate commands to a WLED controller over the local network.
After installation, the U1 handles the bridge itself.
Why I Built It
I wanted something that would let me walk past the printer and immediately tell what it was doing without opening an app or checking the U1 screen.
I also didn’t want to dedicate another Raspberry Pi or computer just to control the status lighting.
Since the U1 already exposes useful printer information locally, it made more sense to let the printer drive the status lights itself.
Reliability
The bridge is designed to keep running without user intervention.
It includes:
- Automatic startup with the U1
- Duplicate-process prevention
- WLED connection retries
- Moonraker failure handling
- Startup-state handling
- Firmware-update repair script
- Service start/stop/restart/status commands
- Uninstall script
- Automated tests for the printer-state logic
If Moonraker temporarily becomes unavailable, the bridge preserves the current LED state instead of displaying a false printer status.
Hardware, I Tested
My setup uses:
- Snapmaker U1
- BIQU PopStation Mini
- WLED-compatible controller
- Approximately 3 ft of addressable RGB LEDs
- 20 LEDs configured in WLED
The LED strip is mounted underneath my PopStation Mini.
The software isn’t tied to the PopStation, though. The PopStation is simply where I chose to mount the LEDs.
Other WLED-compatible controllers and addressable LED installations should work as well.
Open Source
I’ve released the project on GitHub with the source code, installer, repair tools, documentation, and testing information:
GitHub:
The goal is to make it reproducible and easy for other U1 owners to modify.
I’d especially like to hear from anyone who tries it with a different WLED controller or LED setup.
I’ll also be adding photos and a demonstration video of the system running on my U1.
Important: This is an unofficial community modification and is not affiliated with or endorsed by Snapmaker. Installation requires root/SSH access to the U1 and modifies printer startup configuration. Make backups and understand the risks before modifying your printer.





