How to Scientifically Measure Time by the Flicker of a Candle Flame



Candle flames are designed to be as stable as possible, but if multiple candles are bundled together, they will naturally vibrate depending on gravity and the diameter of the flame. Hardware engineer Tim has published an attempt to measure one second using this vibration.

Candle Flame Oscillations as a Clock – Tim’s Blog

https://cpldcpu.com/2025/08/13/candle-flame-oscillations-as-a-clock/

When multiple candles are lit and their flames are brought close together, a synchronization phenomenon occurs in which the flames oscillate in unison with each other. Furthermore, it is known that if the distance between the candles is gradually reduced, the oscillation of the flames changes at a certain distance. A research team led by Yoshiko Okamoto of Yamanashi University studied this phenomenon in 2016, and published their findings in the following paper.

Synchronization in flickering of three-coupled candle flames | Scientific Reports
https://www.nature.com/articles/srep36145

You can see how a candle flame flickers by watching the following movie: The brightness of the flame changes as the flame height changes and sticks together and separates.

Candle Triple Oscillation - YouTube


The graph on the left below shows the change in the brightness of the flame over time. The vertical axis is the brightness intensity, and the horizontal axis is time. Looking at this, we can see that the flame flickers at a fairly regular interval. The right side of the image shows the power spectral density of the luminance signal, which indicates that the oscillation, or flickering, cycle is stable at about 9.9 Hz.



It has been shown that the flickering of the flame is determined by the size of the fuel source, i.e., the diameter of the candle, and the Earth's gravity. In other words, if you place a candle of a certain diameter in a quiet place, the flickering of the flame will be stable and you should always get the same periodic signal of about 9.9 Hz.



Tim devised a mechanism to convert flame vibrations into an electrical signal using a phototransistor in a 3mm wired package. The phototransistor has internal gain, so it can supply enough current without additional amplification. When connected to a constant voltage source via a sensing resistor and observed on an oscilloscope, the output signal was very stable, oscillating at approximately 9.9 Hz.



Tims also said there's a capacitive flame detection method. High-temperature flames and their combustion products contain a certain amount of ionized molecules, which have different dielectric properties than the surrounding air and can be observed as a change in capacitance. In his experiment, he used a

CH32V003 microcontroller to detect the capacitance between a wire suspended in the flame and a ground wire wrapped around a candle.



Although the signal obtained in this way was noisier than the optical signal, it was still sufficient to detect vibrations.




Tim reduced the noise in the noisy capacitive signal by averaging 32 measurements, then used an

infinite impulse response (IIR) filter to extract and remove the baseline of the signal, isolating only the high-frequency components.

In the graph below, the left side shows the raw data averaged over 32 measurements. The center shows the signal after baseline removal and zero-crossing detection . The right side shows the power spectral density of the raw signal (top) and the signal after high-pass filtering (bottom), revealing a sharp peak at the dominant frequency, approximately 9.9 Hz, despite the fluctuating input signal.



By converting this 9.9Hz signal to 1Hz using a fractional counter, you can make the connected LED blink at 1Hz, or once per second.

The following movie shows an LED blinking at 1 Hz based on the flickering of a candle flame.

A candle oscillator - YouTube


All of the code developed by Tim is available in a GitHub repository.

GitHub - cpldcpu/CandleSense: Detecting oscillations in a candle flame triplet using only wires and a CH32V003 microcontroller.
https://github.com/cpldcpu/CandleSense

in Science,   Video, Posted by log1i_yk