← Back to Case Studies

SOLIS Smart Light

An embedded and mobile-controlled smart light system that combines ESP32 firmware, BLE communication, and a Flutter app into a local-first wake-up and ambient lighting product.

Background: A local-first smart lamp product that combines embedded firmware, a physical device interface, and a companion mobile app without depending on Wi-Fi or cloud control.

Problem: The key challenge was making hardware control feel seamless from both directions: the physical switch and the mobile app both needed to control the same lamp states reliably and intuitively.

Solution: I built the system around an ESP32 with ESP-IDF firmware and a Flutter app connected over BLE, using a synchronized state model so the lamp, switch indicator, and mobile UI stay consistent.

Process: The work combined embedded C firmware, BLE communication design, RTC synchronization, PWM dimming control, persistent settings storage, and pragmatic mobile app architecture in Flutter.

Results: The final system works as a wake-up light, ambient light, and daylight-style lamp with smooth local control, BLE-based device communication, and synchronized behavior across physical and digital inputs.

What I learned: I learned a lot about cross-domain product development: BLE UX constraints, state synchronization between hardware and mobile UI, and how important clean module boundaries are in embedded-software systems.

Tags:

#ESP32 #ESP-IDF #Embedded C #BLE #Flutter #IoT

Links

LinkedIn profile - pictures & more info