[Filip] got his hands on a sweet old Hammond X5 organ, but it had one crucial problem: only half of the keys worked. Each and every C#, D, D#, E, F, and F# would not play, up and down the keyboard, although the other notes in between sounded just fine.
Those of you with an esoteric knowledge of older electric organs will be saying “it’s a busted top-octave generator chip”, and you’re right. One of the TOGs worked, and the other didn’t. [Filip] rolled his own top-octave generator with a Pico, in Python no less, and the old beauty roared to life once more.
But what is a top-octave generator, you may ask? For a brief period of time in the early 70s, there were organs that ran on square waves. Because a musical octave is a doubling or halving of frequency, you can create a pitch for every key on the organ if you simply create one octave’s worth of pitches, and divide them all down using something as simple as a binary counter IC. But nobody makes top-octave chips any more.
Back in 2018, [DC Darsen] wrote in asking us if we knew about any DIY top-octave designs, and we put out an Ask Hackaday to see if you all could make a top-octave generator out of a microcontroller. We got a super-optimized code hack in response, and that’s worth checking out in its own right, but we always had the nagging suspicion that a hardware solution was the best solution.
We love how [Filip]’s design leans heavily on the Pico’s programmable input/output hardware modules to get the job done with essentially zero CPU load, allowing him to write in Python and entirely bypassing the cycle-counting and assembly language trickery. The voltage shifters and the switchable jumpers to swap between different top-octave chip types are a nice touch as well. If you have an organ that needs a top-octave chip in 2024, this is the way we’d do it. (And it sounds fantastic.)