1. Acquisition
I found this calculator in one of the back rooms of the Book Art Museum (Łódź, PL), where I worked for five years. As a lover of old technology (and a new kid on the block in retro computing), I was more than happy to bring it to my lab and start restoring it to a working order.
2. Cleaning
I did it in my old lab at the museum. Prior to firing it up, I cleaned the Soemtron with compressed air already at the museum; it collected mighty amounts of dust, so I did the blowing outside. This also involved pulling the twelve PCBs from the arithmetic/logic unit cage, blowing air on each one of them, with extra care not to damage the delicate components like signal transformers or the ferrite core memory.
3. Initial Power Up Attempt
Connected the calculator to a variac and powered it up, bringing the voltage gradually up to nominal value (240V). Nixie tubes lit up showing zeros. Attempts to enter numbers were failed - nothing changed on the display when doing it as the documentation specified. At some point all tubes went dark and had intermittent contact, suggesting the power rail going down somewhere. Time to call it a day...
4. Transport
I took the calculator to my lab in Gdańsk on my return trip from the museum.
5. Debugging the Nixie display issue
First I powered the thing up, then measured the voltages, made sure they're within spec. While the Nixie positive and negative voltages were present on the PSU, the anode driver didn't get the positive. Reflowing solder on the connectors seems to have helped - almost certainly a cold joint. I reflowed other connections on the motherboard too, as they're under some mechanical stress from inserting and removing the ALU boards from their sockets.
6. Debugging the keyboard
Some keys were sticky, so I decided to take the keyboard apart and make sure that the switches work properly. The keyboard uses mechanical micro-switches in SPDT configuration, where all the NC contacts are wired in series to the ground (detecting the inactive state of the keyboard), and NO contacts are routed to a number decoder and function decoder logic. These decoders translate each key to BCD-coded numbers.
7. Still not alive...
Despite the keyboard now working properly, the calculator still doesn't even want to show the number I just entered. The function and number decoders proved OK after some testing. Documentation study and more work will be necessary - I'm suspecting a faulty ferrite core memory driver, or the memory itself. Got to take a deeeeeeeeeeeeep dive...
Logic levels for the Soemtron ETR22x units are 0V and -12V. +12V is mainly a bias for the logic gates, the core drivers use a -13.5V (adjustable) non constant current supply, the core current is set by 3x120r (paralleled) in the respective drivers. There is no loop wire in the cores to monitor these currents.
Logic symbols on the original German drawings is something rather obscure (AND is a circle, NAND filled circle). Full redrawn circuitry and logic for the ETR220 to MIL-STD-806 / IEEE Std 91/91a is available at - https://www.soemtron.org/soemtron220sn105669.html - circuit and logic drawings for each board, psu, display, backplane, wiring, block diagram. Some pages have basic timing diagrams.
The 220 downloads page has the German logic keys and drawings, manuals etc. That page also has a full English translation of a very comprehensive Russian technical manual describing the 220 in much detail.
The keyboard is the Achilles heel of any 22x series machine (220, 222, 224), all parts need to work well, a common line through every key combined with decoded keys serve to de-bounce the signals by delay timing the falling and rising edges. The switches are silver plated so corrode with non use, and heavy handed use breaks keyboard tracks and/or solder joints.
If you have 15 0’s after resetting (Lo key) the main 5 bit Z counter controlling the display sequence and core control is basically good. The master reset Lo does not clear the 3 temporary stores I, II, III, so there maybe data still in them, the down pointing triangle key is “recall”, might show data if the core is cycling correctly.