You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DarkSpir 8d2cad1d19
4 months ago
.gitignore Initial commit 4 months ago Add README 4 months ago
attiny10-lantern.cpp Initial commit 4 months ago
light_ws2812.c Initial commit 4 months ago
light_ws2812.h Initial commit 4 months ago
makefile Initial commit 4 months ago
ws2812_config.h Initial commit 4 months ago


Code to simulate a flickering flame with a WS2812 RBG LED utilizing a AtTiny 10


In germany we celebrate the St. Martin's Day every year at November 11. On that days evening many children will put a light into their selfmade lanterns and go to one of the local processions. In the early days they used a candle which looks nice but is quite a fire hazard if put into a paper lantern and put into a childrens hand. That's why around the 80s and early 90s people used battery powered lightbulbs on plastic sticks. The switches were crap and the bulbs were quite power hungry but it was much safer than a candle. Nowadays they still use the plastic sticks and the switches are still crappy but instead of AA battery they switched to coincells powering an LED which is most of the time a cold white LED. That's not the color of a candle which breaks kinda the aestetic so goal of this project was to modify a lantern light so that it shines with the correct light color and made it random-looking flicker to simulate a candle.


Core of this project is an AtTiny10 Microcontroller. It generates the color data for the WS2812 (or PL9823) RGB LED and utilizes a standby mode. My goal was to keep the original devices coincell battery (2x 1.5V) as power source and the consumption at the same level as the white LED solution (15mA).


  • Document the building process
  • Describe the switches
  • Describe the issues
  • Add photos, draw circuits, etc.