DIY Dual-Channel Clock Generator with an Si5351 and STM32

Wilko Lunenburg's Blue Pill-powered device produces square waves of 50% duty cycle for every frequency.

Jeremy Cook
4 years ago

Last month, we featured a pulse generator by Wilko Lunenburg, which works as intended to produce variable length pulses at several frequencies. The number of frequencies that it can produce, however, is somewhat limited. As he puts it, “for many the length of a pulse is less important than its frequency.” So for his latest project he’s made a clock generator that creates a square wave at a set 50% duty cycle for every frequency in its range.

For timing, he’s using an Si5351 clock generator chip, which can output frequencies of between 4 kHz and 200 MHz. These signals are fed into an STM32 Blue Pill board. This setup can output frequencies of up to 40 MHz on channel 1, and for reasons that are explained in the writeup, a second channel produced “only” up to 10 MHz. While good enough for most tasks on the high end, its low frequency range is especially impressive, outputting a minimum of 1 millihertz, or 1 cycle every 1000 seconds.

The device sits inside of a nice project box, with dual encoders used to manipulate each frequency. Seven decimal places are shown, and can be selected via the encoder buttons for modification, though the precision is likely a bit lower in reality. Much of the hardware is recycled from a mostly-unused DIY oscilloscope build, which seems to have worked out surprisingly well!

Jeremy Cook
Engineer, maker of random contraptions, love learning about tech. Write for various publications, including Hackster!
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles