2025 One Hertz Challenge: Atomic Decay Clock Is Accurate But Not Precise

At this point, atomic clocks are old news. They’ve been quietly keeping our world on schedule for decades now, and have been through several iterations with each generation gaining more accuracy. They generally all work under the same physical principle though — a radio signal stimulates a gas at a specific frequency, and the response of the gas is used to tune the frequency. This yields high accuracy and high precision — the spacing between each “tick” of an atomic clock doesn’t vary by much, and the ticks cumulatively track the time with very little drift.

All of this had [alnwlsn] thinking about whether he could make an “atomic” clock that measures actual radioactive decay, rather than relying on the hyperfine transition states of atoms. Frustratingly, most of the radioactive materials that are readily available have pretty long half-lives — on the order of decades or centuries. Trying to quantify small changes in the energy output of such a sample over the course of seconds or minutes would be impossible, so he decided to focus on the byproduct of decay — the particles being emitted.

He used a microcontroller to count clicks from a Geiger-Müller tube, and used the count to calculate elapsed time by multiplying by a calibration factor (the expected number of clicks per second). While this is wildly inaccurate in the short term (he’s actually used the same system to generate random numbers), over time it smooths out and can provide a meaningful reading. After one year of continuous operation, the counter was only off by about 26 minutes, or 4.4 seconds per day. That’s better than most mechanical wristwatches (though a traditional Rubidium atomic clock would be less than six milliseconds off, and NIST’s Strontium clock would be within 6.67×10-11 seconds).

The end result is a probabilistic radiometric timepiece that has style (he even built a clock face with hands, rather than just displaying the time on an LCD). Better yet, it’s got a status page where you can check on on how it’s running. We’ve seen quite a few atomic clocks over the years, but this one is unique and a great entry into the 2025 One Hertz Challenge.

2025 One Hertz Challenge: Timekeeping At One Becquerel

The Becquerel (Bq) is an SI unit of radioactivity: one becquerel is equivalent to one radioactive decay per second. That absolutely does not make it equivalent to one hertz — the random nature of radioactive decay means you’ll never get one pulse every second — but it does make it interesting. [mihai.cuciuc] certainly thought so, when he endeavored to create a clock that would tick at one becquerel.

The result is an interesting version of a Vetinari Clock, first conceived of by [Terry Pratchett] in his Discworld books. In the books, the irregular tick of the clock is used by Lord Vetinari as a form of psychological torture. For some reason, imposing this torture on ourselves has long been popular amongst hackers.

Without an impractical amount of shielding, any one-becquerel source would be swamped by background radiation, so [mihai] had to get creative. Luckily, he is the creator of the Pomelo gamma-ray spectroscope, which allowed him to be discriminating. He’s using an Am-241 source, but just looking for the characteristic 59.5 KeV gamma rays was not going to cut it at such a low count rate. Instead he’s using two of the Pomelo solid-state scintillation as a coincidence detector, with one tuned for the Am-241’s alpha emissions. When both detectors go off simultaneously, that counts as an event and triggers the clock to tick.

How he got exactly one becquerel of activity is a clever hack, too. The Am-241 source he has is far more active than one decay per second, but by varying the distance from the gamma detector he was able to cut down to one detection per second using the inverse square law and the shielding provided by Earth’s atmosphere. The result is a time signal that is a stable one hertz… if averaged over a long enough period. For now, anyway. As the Am-241 decays away, its activity decreases, and [mihai] admits the clock loses about 0.4 seconds per day.

While we won’t be giving the prize for accuracy in this contest, we are sure Lord Vetinari would be proud. The Geiger-counter sound effect you can hear in the demo video embedded below is great touch. It absolutely increases the psychic damage this cursed object inflicts.

Continue reading “2025 One Hertz Challenge: Timekeeping At One Becquerel”

On the left side of the image, three lit candles are positioned next to each other, so that the flames merge. On the right side, an oscilloscope screen is shown displaying an oscillating waveform.

2025 One Hertz Challenge: A Flaming Oscillator And A New Take On The Candle Clock

Candle clocks were once an easy way to build a clock without using complex mechanical devices: just observe how quickly a thin candle burns down, mark an identical candle with periodic gradations, and you had a simple timer. These were the first candle-based timekeeping devices, but as [Tim]’s flicker-based oscillator demonstrates, they’re certainly not the only way to keep time with a flame.

Generally speaking, modern candles minimize flickering by using a wick that’s designed to balance the amount of wax and air drawn into the flame. However, when several candles are brought close together, their flames begin to interfere with each other, causing them to flicker in synchrony. The frequency of flickering is a function of gravity and flame diameter alone, so a bundle of three candles will flicker at a fairly constant frequency; in [Tim]’s case, it was about 9.9 Hz.

To sense this oscillation, [Tim] originally used a phototransistor to detect the flame’s light, but he wanted an even simpler solution. He positioned a wire just above the flame, so that as it flickered it would periodically contact the wire. A flame has a different dielectric constant than air does, so the capacitance between this and another wire wrapped around the bundle of candles fluctuates with the flame. To sense this, he used a CH32V003 microcontroller, which reads capacitance, performs some signal processing to get a clean signal, counts oscillations, and uses this time signal to blink an LED once a second. The final result is unusually mesmerizing for a blinking LED.

In something of the reverse of this project, we’ve also seen an oscillator used for an (artificial) candle. There’s also a surprising amount of science that can be learned by studying candles.

Continue reading “2025 One Hertz Challenge: A Flaming Oscillator And A New Take On The Candle Clock”

2025 One Hertz Challenge: STM32 Blinks In Under 50 Bytes

Many of us have run a Blink program on a microcontroller before. It’s effectively the “Hello, World!” of the embedded space. However, few of us have ever thought about optimizing our Blink code to be as miniscule as possible. But that’s precisely what [Rudra Lad] did for this entry into the 2025 One Hertz Challenge!

This example of Blink, delay_blinky_13, is built specifically for the STM32F4 Discovery microcontroller development board. [Rudra] notes the code is “highly optimized” and compiles down to a binary size of under 50 bytes. The code doesn’t even use RAM, and it aims to get the blink as close to 1 Hz as possible. Many optimizations were used to crunch it down as small as possible. For example, the standard startup code isn’t used, with the entire program instead written in the Reset_Handler to save space. Bit-band is also used to write to peripheral registers to blink the LED, since this uses less instructions than the typical methods. Meanwhile, with many tweaks to the delay counting routine, [Rudra] was eventually able to get the blink frequency to 1.00019 Hz, as measured on a logic analyzer. That’s pretty darn close!

While it’s rare that you have only 50 bytes of binary space to blink an LED, work like this is a great way to flex your coding muscles. Code is on Github for the curious, and if you’ve worked up your own impressive tiny binaries, don’t hesitate to let us know!

2025 One Hertz Challenge: An Arduino-Based Heart Rate Sensor

How fast does your heart beat? It’s a tough question to answer, because our heart rate changes all the time depending on what we’re doing and how our body is behaving. However, [Ludwin] noted that resting heart rates often settle somewhere near 60 bpm on average. Thus, they entered a heart rate sensor to our 2025 One Hertz Challenge!

The build is based around a Wemos D1 mini, a ESP8266 development board. It’s hooked up to a MAX30102 heart beat sensor, which uses pulse oximetry to determine heart rate with a photosensor and LEDs. Basically, it’s possible to determine the oxygenation of blood by measuring its absorbance of red and infrared wavelengths, usually done by passing light through a finger. Meanwhile, by measuring the change in absorption of light in the finger as blood flows with the beat of the heat, it’s also possible to measure a person’s pulse rate.

The Wemos D1 takes the reading from the MAX30102, and displays it on a small OLED display. It reports heart rate in both beats per minute and in Hertz. if you can happen to get your heartrate to exactly 60 beats per minute, it will be beating at precisely 1 Hertz. Perhaps, then, it’s the person using Ludwin’s build that is actually eligible for the One Hertz Challenge, since they’re the one doing something once per second?

In any case, it shows just how easy it is to pick up biometric data these days. You only need a capable microcontroller and some off-the-shelf sensors, and you’re up and running.

Continue reading “2025 One Hertz Challenge: An Arduino-Based Heart Rate Sensor”

2025 One Hertz Challenge: Blinking An LED With The Aid Of Radio Time

If you want to blink an LED once every second, you could use just about any old timer circuit to create a 1 Hz signal. Or, you could go the complicated route like [Anthony Vincz] and grab 1 Hz off a radio clock instead. 

The build is an entry for the 2025 One Hertz Challenge, with [Anthony] pushing himself to whip up a simple entry on a single Sunday morning. He started by grabbing a NE567 tone decoder IC, which uses a phase-locked loop to trigger an output when detecting a tone of a given frequency. [Anthony] had used this chip hooked up to an Arduino to act as a Morse decoder, which picked up sound from an electret mic and decoded it into readable output.

However, he realized he could repurpose the NE567 to blink in response to output from radio time stations like the 60 KHz British and 77.5 KHz German broadcasts. He thus grabbed a software-defined radio, tuned it into one of the time stations, and adjusted the signal to effectively sound a regular 800 Hz tone coming out of his computer’s speakers that cycled once every second. He then tweaked the NE567 so it would trigger off this repetitive tone every second, flashing an LED.

Is it the easiest way to flash an LED? No. It’s complicated, but it’s also creative. They say a one hertz signal is always in the last place you look.

Continue reading “2025 One Hertz Challenge: Blinking An LED With The Aid Of Radio Time”

2025 One Hertz Challenge: A Game Of Life

The 2025 One Hertz Challenge asks you to build a project that does something once every second. While that has inspired a lot of clock and timekeeping builds, we’re also seeing some that do entirely different things on a 1 Hz period. [junkdust] has entered the contest with a project that does something rather mathematical once every second.

[junkdust] wanted to get better acquainted with the venerable ATtiny85, so decided to implement Conway’s Game of Life on it. The microcontroller is hooked up to a 0.91″ OLED display with a resolution of 128 x 32 pixels, however, [junkdust] only elected to implement a 32 x 32 grid for the game itself, using the rest of the display area to report the vital statistics of the game. On power up, the grid is populated with a random population, and the game proceeds, updating once every second.

It’s a neat little desk toy, but more importantly than that, it served as a nicely complicated test project for [junkdust] to get familiar working inside the limitations of the ATtiny85. It may be a humble part, but it can do great things, as we’ve seen many times before!