Close

Project Conceptualization

A project log for vivid-aura

LED control for people with deadlines

brad-arnettBrad Arnett 07/30/2023 at 02:120 Comments

Project Description

This project aims to create a versatile, WiFi-enabled LED controller specifically designed for use with NeoPixel-compatible LED strips, with potential support for other LED types in future.

The controller uses a Raspberry Pi Pico W or an ESP32 as the main computing module. Power is supplied either via the 3.3v power pins or through the built-in USB port. The controller is capable of driving up to 100 LEDs in a single chain, although the performance may vary based on your setup and whether logic level converters are used.

In terms of control and interface, the project incorporates a Microdot-inspired webserver. While currently minimal, there are ambitious plans to introduce more features such as HTTPS and potentially websockets. This webserver provides a RESTful API for LED control, allowing changes to the color (RGB or RGBW) of a single LED or all LEDs in the strip.

Moreover, an animation engine running on the second core of the controller board generates dynamic color changes based on user-defined Python functions. This offers the possibility of truly unique and customizable light displays.

The project is designed to be user-friendly, with no special hardware or software requirements beyond a flashing program (esptool) and a browser for accessing the control page. It is also set up for optional physical interface via GPIO pins that can be configured for button control.

On the connectivity front, an mDNS service is included to help users easily locate and connect to the controller on a network.

Discussions