This project came about when I was thinking about whether or not real candles were allowed in my apartment building considering they're a fire hazard. I wanted to create something that mimicked a single candle without having any real fire danger. I wanted it to be battery-powered, have moving shadows like real flame, and have the ability to be 'blown' out like a real candle. I started by getting an off the self addressable RGBW led array and started coming up with a function that could have a moving flame. I use a single vector in cylindrical coordinates to represent the flame, this gets mapped to the circle of LEDs. when the flame vector moves, another function interpolates between the old and new positions and dumps that path to a queue to be displayed. a queue is used so that the microcontroller can run through while also checking the air pressure sensor in the main loop. two pressure sensors are used to create a pitot tube to measure airspeed. two MEMS pressure sensors were used for their low power draw and low cost compared to one differential pressure sensor.
Flat circuit board design
to the right, this is what the final assembled circuit board will look like once the top and bottom are broken off and resolder on.
to the left, this is the base charger/programing board. it contains the UART to Serial converter to program the ESP 32
https://github.com/Engineermanx2/fakecandle