November 26, 2025
Description
The Energy Ring is a modern 3D-printed LED indicator lamp powered by an ESP32 running WLED.
Designed to be both stylish and functional, this light ring can sit on your desk, shelf, or nightstand and display any data you want, fully controlled over Wi-Fi, Home Assistant or using the WLED APP
The Energy Ring can be mapped to any Home Assistant value or automation, making it incredibly versatile:
If you want a visual, ambient way to understand what your smart home is doing — this is it.
No smart-home setup? No problem.
Install the WLED app on Android or iOS and use the Energy Ring as a premium RGB lamp:
✔ Hidden electronics in the base (standard ESP32 board)
✔ Smooth and even LED diffusion around the full ring
✔ USB-powered
✔ Clean wiring channel through the stem
✔ Modular design for easy assembly
✔ Works with WLED + Home Assistant OR standalone WLED app
✔ Print-friendly model with no supports
Whether you want a visually stunning energy monitor, a battery indicator, a notification lamp, or simply a unique modern LED decor piece, the Energy Ring is both beautiful and infinitely customisable.
You can swap the colours and thresholds to show:
These are the exact components used in this project:
This is the Wi-Fi microcontroller that runs WLED and controls the LEDs.
👉 Buy here:
https://www.amazon.co.uk/dp/B0CNYM28CK?ref_=ppx_hzsearch_conn_dt_b_fed_asin_title_4
This adapter makes it super easy to connect the LED strip to your ESP32 using standard Dupont jumper wires.
No soldering required — plug-and-play.
👉 Buy here:
https://www.amazon.co.uk/dp/B0DMCM489M?ref_=ppx_hzsearch_conn_dt_b_fed_asin_title_1&th=1
This is the high-density COB (chip-on-board) WS2812B LED strip that produces the smooth glowing ring effect once placed inside the diffuser.
👉 Buy here:
https://www.amazon.co.uk/dp/B0D5B5CGVX?ref_=ppx_hzsearch_conn_dt_b_fed_asin_title_6&th=1
This project uses a standard ESP32 running WLED.
You can flash WLED in under 10 seconds using the official installer:
Once installed, connect to your Wi-Fi and your Energy Ring will appear on your network as a WLED device.
If you want the Energy Ring to show grid import/export or any energy state, here is the exact YAML automation used for the colour states in the preview images:
alias: Energy Ring – Simple Grid Colours (Cyan Low Import)
triggers:
- entity_id: sensor.grid_power
trigger: state
actions:
- choose:
- conditions:
- condition: template
value_template: "{{ grid_power > 50 }}"
sequence:
- target:
entity_id: light.wled
data:
rgb_color: [0, 255, 0] # GREEN
brightness: 255
transition: 1
action: light.turn_on
- conditions:
- condition: template
value_template: "{{ grid_power >= -50 and grid_power <= 50 }}"
sequence:
- target:
entity_id: light.wled
action: light.turn_off
- conditions:
- condition: template
value_template: "{{ grid_power < -50 and grid_power >= -500 }}"
sequence:
- target:
entity_id: light.wled
data:
rgb_color: [0, 255, 255] # CYAN
brightness: 255
transition: 1
action: light.turn_on
- conditions:
- condition: template
value_template: "{{ grid_power < -500 and grid_power >= -1000 }}"
sequence:
- target:
entity_id: light.wled
data:
rgb_color: [255, 165, 0] # ORANGE
brightness: 255
transition: 1
action: light.turn_on
- conditions:
- condition: template
value_template: "{{ grid_power < -1000 }}"
sequence:
- target:
entity_id: light.wled
data:
rgb_color: [255, 0, 0] # RED
brightness: 255
transition: 1
action: light.turn_on
mode: restart
variables:
grid_power: "{{ states('sensor.grid_power') | float(0) }}"
License:
Standard Digital File License