I've been trying to clean out the bins full of old junk. I figure, now that I'm working full time, it makes more sense to purchase new rather than try to repair things like broken coffee grinders and headphones so ancient all the foam has crumbled away.
And I discovered this:
If I remember correctly, it had yellow vinyl lettering once -- which didn't make the controls any less enticingly obscure. But the fun part is what I discovered when I popped the lid to put in a fresh battery and see if it still ran (it does):
That's discrete logic. Or to be precise, TTL 700-series logic gates, 1960's technology. I had time and patience then, and as a legacy of a mis-spent youth behind a soldering iron, a bin of old chips. Even back when I made this thing, there were simpler options. Going back to individual gates is just plain hard-core.
If I reconstruct correctly what I designed here some twenty years ago, the much-loved 555 to the far left is used as a clock, with that blue trim-pot presumable setting the pulse width (the front panel sets the frequency). Then the 7474 dual flip-flop, set up in cascade mode, counts repeatedly to four in binary.
Things get trickier with the 7400 chips. At least one of these quad NAND gates -- my memory has it -- is doing a sort of binary inversion; changing the count from 0-3 to 3-0 instead. I'm betting the 7404 hex inverter is being a primitive output driver, because that's what I tended to use them for back then (except for one time I created two oscillators out of one DIP's worth!)
And that chip on the bottom? Binary to BCD decoder, entirely to drive the 4 LEDs on the top surface. (And if you are the kind of person who read this far, you don't need me to explain the 7405 sitting in the upper right corner. Which is, despite the name, not part of the 7400 series!)
And that's a whole bunch of soldering for the actual function. Which was a test instrument for a stepper motor driver.
What? Okay; a stepper motor is a motor wound with multiple windings, each with their own wire. Instead of free-spinning when current is applied (like a DC motor) a stepper flips to the selected winding. By switching rapidly through consecutive windings you cause the motor to rotate -- at a extremely accurate rate and position. You'll find them in 3d printers (among the many applications).
I had another box, basically full of solid-state relays, that was providing the amperage necessary for the stepper. But the signal was being shoved down RJ11 -- telephone wires and connectors -- so it was converted to binary for the journey.
And also because it started as binary; the final form of the controller was one of these:
This was my first computer, purchased somewhere around 1984. Lovely machine and I still own it but even when I used it to control a stepper motor I hadn't turned it on in over a decade. It had a parallel port and an operating system so transparent (CP/M) that it was easy to write a program in BASIC that spat binary out to the first couple of pins on the port.
A lot of effort for the original application, which was merely to run a motor at a pre-determined rate. But as they say, once you are in the software domain... Half a decade or so later, I pulled the thing out for an exhibit and fund raiser for an attempt to put on William Gibson's seminal work of cyberpunk science fiction, Neuromancer, as an opera. And it was trivial even after having not written any code in years to tinker up a quick routine in BASIC that would turn a pair of motorized slats, pause, then turn them back to the starting position. Lather, rinse, repeat.
The driver box hasn't existed in years. Nor is there any application for this baroque control chain. All I'm left with is the elegant little box, which will dutifully chase on command when the switches are placed in the right configuration.
(Just for completists; the knob is rate, the switch below it is direction, the switch below the button inhibits the oscillator so the button can be used to "bump" the circuit in precise single steps. Or would, if there was a debounce circuit on that board.)