ENERGY RING (ESP32 + WLED)
Print Profile(1)

Description
Commercial Licensing Available
Membership
Sell physical prints of my designs with a DSL Design commercial license. STL files remain hosted on MakerWorld. 👉 Available via my MakerWorld Membership
Boost Me (for free)
If you like my designs, please leave a like or boost — it really helps!
🟣ENERGY RING (ESP32 + WLED)
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
⭐ What It Can Show
The Energy Ring can be mapped to any Home Assistant value or automation, making it incredibly versatile:
- ⚡ Grid import/export status
- 🔋 Battery percentage (home battery, power bank, phone, EV…)
- 🌡 Room temperature or humidity
- 🚗 EV charging status
- 🔥 Solar generation intensity
- 🛎 Doorbell, phone, or app notifications
- 📦 Package delivery alerts
- 🕒 Time-based colour schedules
- 🧠 Pretty much anything Home Assistant can read, this can display!
If you want a visual, ambient way to understand what your smart home is doing — this is it.
⭐ Home Assistant Optional
No smart-home setup? No problem.
Install the WLED app on Android or iOS and use the Energy Ring as a premium RGB lamp:
- Full colour control
- Brightness sliders
- Effects
- Music reactive modes
- Schedules
- Groups
- Wi-Fi control only (no cloud)
⭐ Features
✔ 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
⭐ Print Notes
- Diffuser: translucent filament or white (0.8–1.2mm wall)
- Base & body: PLA / PETG
- ESP32 sits inside the lower base section
- LED strip/ring threads through the hollow stem
- The top ring snaps neatly onto the body
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.
🌈 100% Customisable
You can swap the colours and thresholds to show:
- Battery percentage
- Room temperature
- EV charging status
- Electricity tariff price
- Doorbell or phone notifications
- Solar production level
- Weather alerts
- Anything Home Assistant can read — the Energy Ring can display!
🛒 Parts You Need to Build the Energy Ring
These are the exact components used in this project:
1️⃣ ESP32 Development Board (WLED Compatible)
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
2️⃣ LED Strip → Dupont Adapter (Wiring Converter)
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
3️⃣ WS2812B COB LED Strip (The actual LED lighting)
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
📘 Setup & Instructions
🟦 Install WLED on your ESP32
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.
🟡 Home Assistant Automation (Optional)
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) }}"
Boost Me (for free)
🔥 NEW 3D PRINT: The Energy Ring 🔥
A modern, Wi-Fi controlled LED ring powered by an ESP32 + WLED — and it looks insane on a desk or shelf.
Use it as a Home Assistant indicator to show:
⚡ Grid export/import
🔋 Battery %
🌡 Room temperature
🚗 EV charging status
📱 Phone or doorbell notifications
…or anything you can imagine!
Or skip Home Assistant completely — just use the WLED app on iOS/Android and enjoy it as a super clean RGB lamp.
All electronics hide neatly inside the base.
One USB cab
License
You shall not share, sub-license, sell, rent, host, transfer, or distribute in any way the digital or 3D printed versions of this object, nor any other derivative work of this object in its digital or physical format (including - but not limited to - remixes of this object, and hosting on other digital platforms). The objects may not be used without permission in any way whatsoever in which you charge money, or collect fees.
















Comment & Rating (55)