Skip to content

Goldberg Function Generator

2012 November 28


A Goldberg function is what comes out of a shift-register when you use it wrong. Stick a couple of independent irregular pulse trains into the clock and data inputs of a CD4015 and translate the output with DAC. For extra fun, wire a switch (or a flip-flop) that arbitrarily swaps the inputs. The panel pictured here is of revision 1.

The block diagram for this revision is labeled ‘Original Goldberg Function Generator Block diagram’. The 2-part block diagram is of the latest (and final -I don’t like to backtrack) revision.

The essential addition was a switching matrix that allows either of the shift registers to access any combination of the internal (or external) pulse trains. In the Goldberg matrix diagram, sharp-eyed logic jockeys will notice that the user is not restricted from several combinations that will ‘flood’ the shift-registers and lock the output into a static state. I like to give the user enough rope to hang myself.

The name is , of course from ‘Rube Goldberg’  That reason for allusion should be obvious when you look at the block diagram



Hey doc!  Is this a noise ring?

no…not quite.

Here is the story


If you don’t know who Grant Richter is, go find out…


(I mean it!) Go find out . This crap’ll still be here when you get back .


I created the Goldberg* in 2000. It lumbered and lurched into existence from a bunch of experiments with old CMOS that I salvaged from a scrapped mainframe. I was ignorant of previous analog applications of shift registers (such as Electronotes PRTWEE(sp?) and Joe Paradiso’s DIY modules). The only notions I had were catalog descriptions of the Serge Analog Shift Register and my trusty old CMOS cookbook. My ignorance proved a boon to me when I tried random data input WITH randomized clock pulses. Now, as Grant has pointed out to me, my idea of music is bacon frying ( a fair cop, even though I’m a vegetarian). So I assumed that no one would be interested in this phenomenon except me.
The summer of 2001 was a magic summer for Wiard. Grant had a creative design spurt from which modules such as the Wogglebug have been realized. We were corresponding pretty frequently and he generously offered to put me up for a few days visit in Milwaukee .I took him up on it in late July. I decided that a scaled-down version of the Goldberg (dubbed Goldberg jr. – a toy -really) would be an appropriate bread and butter gift for my host. The decision to build a Goldberg , as opposed to any of my other contraptions, was strictly one of convenience for me. The core circuit has a low parts count and I only had a couple of weeks to get it ready.
Grant and I had big fun in Milwaukee but to my horror and embarrassment, the Golberg jr, failed when we plugged it in (during a torrential afternoon  thunderstorm BTW). I was forced to borrow some Wiard workbench space to try to revive it. Part of the problem was that the original circuit was designed for 12V operation and Grant has standardized on 15V. I added voltage regulation at the last minute but didn’t test all the operation conditions properly. Naturally, Grant was gracious anyway but to my mortification the failure forced him to have to fiddle with the innards of the gadget himself after I went home.
Soon after , I was flattered to hear from Grant about the fun he was having with it….
That ‘fun’ was twofold:

1) running the clocks up to the audio range. In those days I  lacked the self confidence to mess with audio design so I conceived the Goldberg strictly as a CV device. Grant was encumbered by no such constraints and immediately recognized its potential as a sound source as well as a CV source.

2) Adding recursion  by creating a data switch that would selectively pass the data from the end of the shift register back to the input thus putting the whole Goldberg circuit inside a cybernetic feedback loop. This allows a control voltage to select gradations of repetition in the output patterns. In my humble opinion that was a flash of genius.

This substantially evolved descendant of the Goldberg is the Noise Ring





Comments are closed.