Recently, I moved from Boston to New York City, which necessitated a purge in order to fit into our inevitably smaller apartment. One of the things I tossed out was an old Electronics Learning Lab from RadioShack, which consists of a breadboard surrounded by commonly used electronic components such as potentiometers, buttons, and LEDs. “You can throw this out,” I thought. “What are the odds you’re ever going to need it again?” The glow of decluttering lasted until I saw a project by Joseph Allen, who used the Electronics Learning Lab to re-create an acoustic version of an ancient form of computer memory: the delay line.
Before the proliferation of ferrite-core memories, which permitted random-access, multikilobyte memories, delay lines were a popular memory technology. In the classic example, sonic pulses, representing bits, were introduced at one end of a long tube of mercury by a transducer. The pulses would travel the length of the tube and be picked up by another transducer. These pulses would then be fed back into the starting end of the tube to create a loop. The longer the tube, the greater the number of bits that could be stored.
Allen told IEEE Spectrum he was inspired to revisit delay memory after seeing a Victor 1400 electronic calculator in a vintage shop. A marvel of mid-1960s solid-state engineering, the Victor 1400 used a magnetorestrictive delay-line loop in its arithmetic processing unit. “And I thought I could probably make one of these,” says Allen.
Allen’s implementation uses the same principle as mercury delay-line memory, except that the medium used to support the sonic pulses is air, not mercury. A loudspeaker emits a series of chirps, with the presence of a chirp indicating a 1. The chirps travel through air until they are picked up by a microphone. A chain of amplifiers turns the chirps back into digital pulses, and they are fed back into the speaker. Some flip-flops and a synchronized counter allow individual bits to be inverted by pressing a button that corresponds to each bit; the entire system can hold 4 bits (a quantity also known as a nybble. To view the memory requires an oscilloscope tapped into the circuit at two points, one to provide a synchronizing trigger signal and the other to read out the actual bits.
Fortunately, although I had thrown out the actual Electronics Learning Lab, I had kept the assortment of integrated circuits that came with it. This collection includes chips from the 4000 series, which is a menagerie of logic chips such as flip-flops, XOR gates, and pulse counters. The acoustic delay-line circuit uses seven chips: TL272, LM339, and LM386 op-amps; a 4001 quad NOR gate; a 4013 dual flip-flop; a 4070 quad XOR gate; and a 4017 decade counter. Two potentiometers set the threshold for passing audio signals picked up by the microphone back into the circuit and the frequency at which the circuit operates.
Having discarded the kit’s breadboard, I built the circuit using a regular breadboard, dipping into my own supply of components such as buttons to replace those built into the kit. For a microphone, I used a RadioShack monodynamic microphone and ran about 7 meters of hookup wire to drive a speaker: Because the circuit relies on there being a detectable delay between when a pulse of sound leaves the speaker and when it is picked up by the microphone, the further apart they can be placed, the better.
While the functional arrangement of Allen’s circuit is pretty straightforward, the physical layout is a different story. Gates on the same chip are often interconnected, and two of the ICs are used simultaneously in completely different parts of the circuit. I soon had wiring spaghetti all over my breadboard and realized, to my dismay, that I had become utterly spoiled by modern microcontrollers like the Arduino and the Basic Stamp. These let you do all the messy logic in software, with a rich collection of plug-and-play daughterboards and modules for popular hardware functions such as sensing or powering motors. But here I was back to the fiddly and error-prone business of creating hardwired logic, gate by gate.
Debugging the circuit raised another problem: noise. I should have paid more attention to the fact that in the video on his blog, Allen demonstrates his circuit in his basement. An acoustic delay-line memory, by its very nature, emits a clicking noise loud enough to be picked up across a fair distance when it’s working right and an irritating buzz when it’s not. Not wishing to drive my new neighbors (or myself) to distraction, especially late at night, I limited the operation of the circuit to a minute or so at a time. This made hunting down wiring mistakes difficult, especially when, say, I pressed a button to invert a bit and it worked a jumper loose.
In the end, I decided to break with habit and solder the circuit together on perfboard before getting it to work on the breadboard. Wiring the circuit as carefully as I could, I finally turned it on at an hour during the weekend when a little extra noise might be forgiven. I was able to reliably modulate the audible signal passing over the delay line as I pressed the various bit-controlling buttons. I could see bits flitting across the oscilloscope display, but I wasn’t quite able to get the nice sharp readout of a frame of 4 bits that Allen has been able to demonstrate, so we’ve used Allen’s pictures here to demonstrate the output. Nonetheless, as soon as I can purchase a pair of earplugs and get some more free time on a weekend, I intend to use a few of the other leftover chips from the Electronics Learning Lab and see if I can add a built-in display for the memory, eliminating the need for the oscilloscope.
This article originally appeared in print as “Store Bits in Thin Air.”