LED Lamp with Color Mixing

To get more experience with addressable LEDs and control interfaces, I designed and built a 3D-printed LED lamp powered by an ESP32 microcontroller and two strips of addressable RGBW LEDs. The system features a custom control module that enables smooth and intuitive color mixing through a combination of hardware and firmware design.




Key Features

  • Custom Control Module – Integrated rotary encoder and circular LCD display for intuitive color mixing.
  • Precision Input Filtering – A first-order low-pass filter on each encoder channel eliminates noise, ensuring smooth and accurate control.
  • ESP32 Core – Wi-Fi enabled microcontroller driving two addressable LED strips for lighting control.
  • Custom Firmware UI – Small round display presents the interface where users choose the desired RGB mix.
  • Dedicated White Channel – In addition to RGB mixing, the lamp uses a separate white LED to produce cleaner, more efficient white light for practical use, controllable via the same interface.

Controls

The control module integrates a rotary encoder and a round LCD display running custom firmware that provides real-time feedback on color selection. A knurled dial ring offers tactile control, complemented by a discrete push button at the base for confirmation input and on/off control.


LED Lamp Controls
Exploded view of the control module.

Hardware

To enhance the precision and responsiveness of the rotary input, I designed and implemented low-pass filters for each encoder channel to remove electrical noise from the encoder signals. This ensures that dial movements feel smooth, accurate, and consistent. In addition to the filter, each rotary encoder channel includes a voltage divider that reduces the 5V signal to the 3.3V level required by the microcontroller.


LED Lamp Schematic
Wiring diagram made in Fritzing.

LED Lamp Wiring
ESP32 Controller with the wiring and power/peripheral ports.