This is an overview of the demo of Core Rope Memory as we presented it at yesterday's Dublin Maker. There are already design improvements in the planning stage so watch this tag.
Here's a photo of how the demo currently looks:
The green donut shaped magnets, and the red wires (let's call them rope-wires) woven through and around them, are the Core Rope Memory. Everything else you see is equipment for reading the values from it. If you take that piece of balsa wood out of all the other circuitry, it still contains the same data, because it is the weaving of the wires that stores data into the memory.
At the top left, plugged into the battery, is the pulse generator. This is a circuit based on the 555 timer chip that generates a square wave. The red wire coming from that circuit is a probe that can send that pulse through the horizontal wires in the memory, one at a time.
Each of the green cores has another wire (let's call it the core-wire) wrapped around it several times. Because of an effect called electromagnetic induction, we can induce a current in the core-wires. If a rope-wire goes through a particular core, and we send a pulse through it, a current starts to flow through that core-wire. If the rope-wire goes around the core, no current is induced. We can interpret this as 1 (where a current is induced) and 0 (where no current is induced). That means that we can encode a binary string for each rope-wire. That binary string's length with be equal to the number of cores. The wires in the photos encode T (10100), I (01001), M (01101), U (10101), I (01001).
When the Arduino senses new values in the core-wires, it interprets them according to a sort of truncated ASCII, and displays the character on the LED display. I knew I only wanted to display capital letters, and I had reasons for using 5 bits, so I pre-pended 010 to the values read from the memory, and display the resulting ASCII character.
It's a pity I had to include a multiplexer in this demo, because it makes it look more complicated than it is (I had simply run out of analog pins on the Arduino), but I'll be able to use it in future versions of the demo.
Thanks again to everyone who made Dublin Maker 2015 possible, and special thanks to the author of this Core Rope Memory tutorial.