← All Projects Test Complete - Day 16

ESP32-C3 & LED Filament Project Update to ESP32-S3

Battery-powered LED filament flicker controller, tuned for maximum runtime

Announced September 22, 2026

ESP32-C3 & LED Filament Project Update to ESP32-S3 cover image

A battery-operated build driving an LED filament bulb with randomized flicker and an on/off schedule, which ran 16 consecutive days on a single 1200mAh 3.7V cell before the battery finally depleted, thanks to an aggressive low-power duty cycle on the ESP32C3 Board will be changed to an ESP32-S3 with onboard battery charging

  • ESP32-C3
  • ESP32-S3
  • Battery Powered
  • Embedded C++
  • Deep Sleep
  • PWM
  • Low Power

Overview

This build was focused on squeezing as much runtime as possible out of a single 1200mAh 3.7V battery while driving an LED filament bulb through randomized flicker and a scheduled on/off cycle. The test concluded at day 16, when the battery finally depleted.

Power Management

To stretch battery life, the ESP32-C3 runs underclocked at 40MHz with WiFi turned off entirely, spending most of its time asleep. A 4 hour on / 20 hour sleep-and-watchdog duty cycle keeps average power draw low, while a 4700uF capacitor bank protects the circuit with a safe power-down when voltage gets too low. Update to ESP32-S3 with on-board battery charging and optimized sleep function

Charging and Component Changes

An in-line USB-C charging board keeps the battery topped up without breaking the circuit. The original 100 ohm current-limiting resistor was swapped for a 220 ohm 1W resistor, which dims the LED filament slightly in exchange for meaningfully longer runtime per charge.

Current Status

Test complete: 16 days on a single charge before the battery depleted. Next up is analyzing the runtime data and planning improvements for the next round.

Key Features

  • Ran 16 consecutive days on a single 1200mAh 3.7V Li-ion cell before the battery depleted
  • ESP32-C3 underclocked to 40MHz with WiFi disabled to cut power draw
  • Duty cycle of 4 hours awake / 20 hours in sleep + watchdog mode
  • Drives an LED filament with randomized flicker plus an on/off schedule
  • 4700uF capacitor bank for safe power-down under low-voltage conditions
  • In-line USB-C charging board for the battery
  • Upgraded from a 100 ohm to a 220 ohm 1W resistor to dim the filament and extend battery life
  • Board change - ESP32-S3 at 80mHz for the dual-core, with battery management on-board