After thinking about the 1 Hz challenge, I decided to build something that has been rattling around in my head for a while: an electromechanical oscillator. I decided to adapt it into a basic, static 1Hz function generator that useses independent mechanisms to generate each waveform. I pared it down to only 2 functions (sine and square) when I noted the looming deadline. The output is buffered and it is mostly accurate and could be used for any circuit that needs a slow function, like a blinky or a clock or even a eurorack maybe!?

The sine function is generated by a scotch yoke actuating a 10k ohm linear fader set up as a voltage divider.

The square function is generated by a cam actuating a mini switch.

This is a questionable piece of home-made test equipment that, in proper fashion, was designed as I went along. I didn’t know what it was going to look like but I knew I wanted it to be sort of accurate, needlessly complicated, as mechanical as possible, and (most important) finished by the deadline.
This is the initial sketch, you can see the original design called for a piston for the sine wave but I quickly realized that a piston on a crank does not trace a sinusoidal path. Also the square wave side used a cats whisker and passed the signal through the gear wheel which, future me will find out, will be noisy as hell.
Once I settled on a scotch yoke mechanism to describe the sine function, I needed a way to get everything moving. This thing is as much about aesthetics as function and I want to machine as much of the mechanism as possible, including cutting the gear wheels. This also allows me to calculate a ratio that would work with a tiny DC motor I had ordered on Amazon at the start of the pandemic (and hadn’t used yet) and get ls me into the ballpark of 1 Hz and then I will adjust with speed with PWM.![]()
The drive gear ratio is 1:3.125 and then its 1:1 between the function gears, since I wanted them to stay in phase with each other (and obviously stay timed to 1Hz). I cut them using the smallest cutter set I have, this is the # 3 from a set of 0.6mm pitch metric cutters I ordered from Russia on eBay a few years ago. If anyone wants to learn about gears and gear cutting I recommend this book:
![]()
I cut the 50-tooth wheels out of bronze, then faced and cut them apart on the lathe, they were then bored and pressed onto small bearings. Up to this point the two function wheels were identical.
![]()
![]()
One wheel gets a collar pressed onto it, and crankpin for the yoke, and the other gets a collar with an insulator for the cats whisker (which in a later iteration becomes the cam you see here). The crankpin gear is fixed, while the cam gear rides in a slot, so that i could properly set the engagement with these teeny-tiny loosey-goosey Chinese bearings.
![]()
The tiny DC motor driving it has its own gearset, and it is mounted on a swinging arm (pivoting on the screw next to it) to control engagement. It is held in place with that comically oversized threaded rod. This photograph of the bottom shows everything. The 3D printed top was too flexible and was causing the yoke shaft to bind, so I added these fins to the bottom to stabilize the top around the bearing blocks:
![]()
Below is a prototype of the the first iterations of the functions.![]()
The first yoke BARELY worked because the flame used to solder it together annealed the thin brass plate. It was so easy to deform that the two shafts were no longer co-axial. The cat's whisker mechanism for the square function looked cool like a record player, but it made poor contact (despite the spring under the arm) and resulted in a super noisy signal. It was at this point that I scrapped them both and redesigned everything.![]()
The second yoke was made out of much stouter stuff, including brass bar and drill rod, it soldered up beautifully.
![]()
Once I got the scotch yoke sorted, I added...
Brian Stuparyk









Adam Smallcomb
charliex