Skip to main content

Iterations: Refining the Core Concept of Lit

··799 words·4 mins
Ryan Horricks
Author
Ryan Horricks
Engineer and Storyteller | I create solutions that bridge software, hardware, and human experience. With a passion for learning and a knack for problem-solving, I turn ideas into reality, driven by curiosity and a love for innovation.
Table of Contents
Lit - This article is part of a series.
Part 2: This Article

Project: Lit
Role: Founder and Hardware Developer

Overview
#

Iterations is the second phase in the development of Lit, focused on creating and testing three prototypes based on the ESP8266, ESP32-S2, and ESP32-S3 microcontrollers. These prototypes explored hardware limitations, refined key subsystems, and tested wireless synchronization for sound-reactive lighting effects. Each iteration brought valuable insights into optimizing power systems, enhancing user interfaces, and advancing networked connectivity.

Objectives and Challenges
#

  • Exploration of Hardware Limitations: Evaluated the capabilities of the ESP8266, ESP32-S2, and ESP32-S3 for processing-intensive tasks, including audio signal processing, network synchronization, and real-time lighting effects.
  • Subsystem Refinement: Enhanced physical user interfaces, transitioning from basic buttons and potentiometers to rotary encoders paired with OLED displays.
  • Power System Optimization: Improved energy efficiency, reduced noise in power supplies, and enabled seamless operation on USB power with battery preservation.
  • Network Synchronization: Made use of UDP Multicast-based communication to enable synchronized lighting effects across multiple devices.

My Contributions
#

1. Prototyping and Design
#

  • Developed three prototypes:
    • ESP8266 Split Rail Controller: Tested networked sound reactivity using experimental firmware that offloaded audio processing to other devices.
    • ESP32-S2 Controller: Incorporated a rotary encoder and I2S microphone for UI control and sound reactivity while evaluating its performance in audio processing. Found significant limitations in its capabilities compared to the S3.
    • ESP32-S3 Controller: Added an OLED display and I2S microphone for enhanced sound-reactive functionality and user interactivity.
  • Designed and fabricated custom adapter boards for microcontrollers to simplify breadboarding and prototyping.

2. Exploration of Hardware Limitations
#

  • Implemented experimental firmware to enable the ESP8266 to synchronize lighting effects with audio-reactive data processed on other devices.
  • Conducted performance evaluations of the ESP32-S2 and ESP32-S3, identifying the latter as optimal for audio-intensive applications due to its dual-core architecture and advanced processing capabilities.

3. Subsystem Refinement
#

  • Enhanced user interfaces across iterations:
    • Started with basic buttons and slide potentiometers.
    • Transitioned to a rotary encoder paired with an OLED display for intuitive, hardware-level control of brightness, effects, and color palettes.
  • Tested and refined modular construction techniques to improve the reliability and maintainability of prototypes.

4. Power System Optimization
#

  • Integrated a USB Pass-Through Circuit using P-Channel Mosfets and Schottky diodes, enabling simultaneous device operation and battery charging without impacting battery health.
  • Reduced noise in the split-rail power supply with capacitors, achieving partial stability for the ESP8266. However, due to remaining instability, the design was eventually retired.
  • Designed and tested efficient power delivery systems to support both analog and addressable LED systems, minimizing quiescent current draw and ensuring reliable performance.

5. Network Synchronization
#

  • Leveraged UDP Multicast-based communication for wireless synchronization across devices, enabling real-time lighting effects.
  • Experimented with using a Raspberry Pi Zero W as a dedicated router for managing network operations. This approach was abandoned due to insufficient processing power.

6. Practical Construction
#

  • Used JST-XH connectors and custom protoboards to facilitate modular design and ease of assembly.
  • Embedded LED panels seamlessly into enclosures, prioritizing aesthetics and accessibility for testing and maintenance.

Outcomes and Learnings
#

  • Functional Prototypes: Developed three unique controllers, each addressing specific challenges in power systems, network connectivity, and user interfaces.
  • Technical Validation: Demonstrated the feasibility of sound-reactive, networked lighting systems while identifying limitations in certain hardware configurations.
  • Scalable Insights: Gained a comprehensive understanding of modular design, power management, and network synchronization for future iterations.

Technical Summary
#

  • Skills: Microcontroller Integration, Power System Design, Sound Reactivity, Network Synchronization, Modular Prototyping
  • Tools: ESP8266, ESP32-S2, ESP32-S3, EasyEDA, KiCad, JST-XH Connectors, FreeCAD, Logic Level Converters
  • Features: Audio-Responsive Lighting, OLED UI, Split-Rail Power Supplies, Modular Construction, Wireless Synchronization

Gallery #

ESP32-S3 LED Controller
#

Breadboard
#

Layout
#

Protoboard
#

Product
#

ESP32-S2 LED Controller
#

Continuing with my experiments, and my penchant for using spare parts, I built another controller using the ESP32-S2. I equipped it with a rotary encoder, however my prime interest was in seeing how limited the S2 was compared to the S3, when being tasked with audio processing. The answer was quite - it did in fact work, however it came at the cost of UI responsiveness, with the web server often slowing to a crawl, and the audio processing time entering into the DANGER ZONE.

Breadboarding
#

Assembly
#

Power Pack
#

Installation
#

ESP8266 Split Rail LED Controller
#

Looking to experiment, I created another controller for a fixed installation using some parts I had lying around. It drives a single string of 5V addressable LED’s, as well as a strip of analog 12V LED’s, both being powered from either 5V USB pass-through, or a single Lithium Polymer Battery. What’s more, using experimental firmware, I was able to have it sync to the audio reactive data from my other devices (without needing to do the processing itself).

Breadboarding
#

Power Supply
#

Noise
#

Mainboard
#

Installation
#

All-Together
#

Live Demo
#

Ensemble
#

Lit - This article is part of a series.
Part 2: This Article