January 31, 2026, 9:42pm 1
For a long time I have a delay line of the Olivetti P101 programmable calculator. Now I come at an age were I find I have to choose between giving it away or doing something with it*. The latter seems better (for now), so I finally started reverse engineering the board, with the purpose of interfacing it with some modern hardware, like an Arduino, to see it working and maybe demonstrate its operation.
So far I made photo’s (see: https://electrickery.nl/comp/divcomp/p101DelayLine/) and and very first attempt of a schema (more on this later, hopefully). At least I know all of the board is an amplifier transforming the output of the delay line to the logic levels used in the P101.
The logic power…
January 31, 2026, 9:42pm 1
For a long time I have a delay line of the Olivetti P101 programmable calculator. Now I come at an age were I find I have to choose between giving it away or doing something with it*. The latter seems better (for now), so I finally started reverse engineering the board, with the purpose of interfacing it with some modern hardware, like an Arduino, to see it working and maybe demonstrate its operation.
So far I made photo’s (see: https://electrickery.nl/comp/divcomp/p101DelayLine/) and and very first attempt of a schema (more on this later, hopefully). At least I know all of the board is an amplifier transforming the output of the delay line to the logic levels used in the P101.
The logic power level is likely 10V, the logic levels are somewhere between 0 and 10V (this is way before TTL).
Greetings,
Fred Jan
*) Unless someone is in dire need of a delay line for an otherwise complete and operational P101.
2 Likes
amenjet February 1, 2026, 11:00am 2
Am I correct in saying that you have the nickel wire in the background there? So you have the complete memory system, wire and electronics? The electronics looks pretty simple, as I understand it the bits are sent as torsion on the wire by an elecromagnet and are recovered at the other end by a similar coil and magnet arrangement. Do you have the transducers on the wire as well? What I’m not sure is how the data is encoded on the wire. Is it clocked at all or just data pulses, detected by pure timing? Is there a ‘start’ signal, etc. I think the data must circulate and be regenerated after it is read, with new data inserted during the regeneration. An Arduino or Pico (probably a better bet, as the PIO might be able to help) should be able to be interfaced and used to exercise the memory. an interesting project indeed. I got as far as buying some nickel wire to make one of these, but, as always, had not time to do it.
fjkraan February 1, 2026, 1:15pm 3
Hi Amenjet,
Yes, I have the complete delay line package (updated the page with an overview image). Delay lines indeed operate by torsion pulses, but I do not yet know how it is applied. Magnets seem like a reasonable guess. There is now also an image of the traces drawn on the on the component side, to make drawing the schematic easier. What I already know, is that the board has only the amplifier at the receiving end of the delay line, not the amplifier or pulse-encoding logic to drive it.
1 Like
amenjet February 1, 2026, 3:34pm 4
Interesting. The schematic will give you a base to work with. I’ve seen mention of strips of nickel that rotate the wire when a magnetic field is applied, and also I think I’ve seen a magnetic field applied directly to the wire. The strips give a torsion pulse, the direct approach is compression I think. I can’t quite tell what is going on in the 101 from your photos though.
With the latest update I combined the traces with the component annotations and that makes it very easy to draw a schematic.
The schematic is still a bit disorganized, but there is a proper signal flow visible The torsion mechanism is very likely as far as I can see. Will try to make macro images tomorrow.
2 Likes
EdS February 1, 2026, 8:53pm 6
There are good references in the wikipedia page for the 101 - of course, an individual investigation is a good adventure anyway.
There’s a video here for anyone who’d like a closer look:
The hack42 site has some technical info in Italian. Automatic translation of part of it:
The information is contained in the sequence of twists inflicted on the wire by the writing circuit in the delay line (LDR). When the bit is set to 1 (ON), the writing waveform switches halfway through the bit period.
The medium is therefore accessed strictly sequential, with a latency proportional to the length of the steel wire. The degree of parallelism is 1 bit.
Given a write frequency of 1 MBit/Sec, a total capacity of 1920 Bit and a gap to incorporate tolerances in the electro-mechanical system, we have a recycle time or latency of 2.1 mSec.
The delay line with a plate with the readout amplification circuit, for protection is boxed in a sheet metal structure.
A metal frame provides the framework for side-by-side mounting of the LDR and a half-plate to be inserted into the 9th position of the drawer unit.
The circuit is divided into three functional blocks: the amplifier of the signal generated by the electromagnetic transducer, a squaring device and a pulse generator with a duration of 0.5 μSec.
LDR Description by Alessandro Graciotti
Amplifier block diagram Delay line.
The input signal is amplification by a two-stage NPN-PNP differential amplifier (T6–T9) followed by a single-ended NPN output circuit (T1). The transducer is connected to the non-inverting input of the amplifier; the output signal is fed back to the inverting input, entirely for the DC component, attenuated approximately 400 times for the AC component. The calculated open-loop gain of the amplifier is approximately 500; due to the feedback effect, the effective AC gain is therefore approximately 220 (confirmed by measurements).
The feedback filter return (C4 and C5) is connected to the transducer return at a constant voltage of approximately +9V obtained with the zener Z2 (1N756) in series with a diode. This way, any noise present on the power supply will not be amplified as it is presented in common mode on the two inputs. The quiescent output voltage stabilizes, due to the total DC feedback, at the same level as the input.
The amplified signal drives a classic Schmitt trigger (T4 T5) whose threshold is set at approximately 7V, i.e., two volts below the amplifier’s quiescent output voltage; the hysteresis is approximately 1V. The transducer voltage required to excite the Schmitt trigger is therefore approximately -8mV. The output of the squarer is a positive signal of approximately 5V, the duration of which depends on the shape of the input signal.
The square signal drives a 500nS monostable oscillator consisting of T2 and T3. The output of the univibrator is approximately 12V without a load.