Mighty MK-52: The Spaceworthy Soviet-era Calculator

Firstly, if you’re coming here for something related to Prusa 3d printers, I’m afraid you’ve come to the wrong page: Begone with you!

I bought something very cool from Russia (and I took it apart here):

Source: Paul Hoets

Its an Elektronika MK-52 Programmable Scientific calculator, from the 1980s. MK is an abbreviation for Микрокалькулятор, “microcalculator”. It buzzed along at 75kHz, and with a 4kb EEPROM, and so unlike any other USSR calcs, it could store algorithms and DIY programs indefinitely (more on that later)

The first USSR mass-produced desktop calculator was created in 1971, pocket calculators in 1974, the first engineering calculator in 1975, and by 1978, the first programmable calculator.

By the start of the 1980s, programmable calculators were a big thing in USSR. Being able to write little programs that could greatly simplify complex math tasks, right in your hands was pretty cool. In terms of the history of computing, these calculators were the closest thing to a personal computer, and in such a massive empire as the Soviet Union with all its variety of financial and engineering problems, a calculator was pretty awesome piece of gear.

Archive.org, with……adjustments

Access to flexible programmable calculators helped deal with many new issues, such as bank fraud in the late 80s and early 90s.

Speaking of a slightly later model, the Soviet Calculator Museum spoke of one situation:

“Famously, the MK-85 was used to combat economic fraud. During the turmoil of the 1990s, Zelenograd’s Angstrem collaborated with Ankort on mods for Elektronika’s MK-85B and MK-85C models. The “B” models were used in banking, while the “C” (Crypto) models were for cryptographic purposes. These MK-85 models had special firmware with powerful encryption algorithms, allowing for efficient coding of texts of up to 1,500 symbols. The widespread bank confirmation fraud was nipped in the bud thanks in part to the MK-85’s banking mods.”

You could even play games on these things. According to Sergei Frolov of xnumber.com fame:

“One behind another, the most popular scientific and technical magazines… started to teach how to work with the calculator.  “Science and Life”, started in October 1983 a special section named “Man with the calculator”, talking about how to work with the B3-34, and including plenty of useful and game programs. The magazine “Engineering – Youth”, beginning in 1985 included a column on programming the B3-34 under the name “The Calculator – your assistant”, and then organized the “Club of Electronic Games”, which printed the most fascinating and fantastic stories: “The True Truth” and “Way to the Earth”, here the readers were given the chance “to run into” the engineering of “landing” on a lunar surface and carry out a flight back from the Moon to the Earth by a ship, not adapted to such lunar flights, called the “Kon-Tiki”.  School kids and adult calculator users waited with impatience the next number of “Engineering – Youth” to continue their flight back to the Earth…”

As I said, this was all very new.

Calculator games on an 11-digit VFD screen was the excitingness equivalent of Cyberpunk 2077. I mean, just look at the dispaly:

Source: Paul Hoets

Not exactly a universe of opportunity for gamification….

Its not hard to imagine how mind-blowing the Russian-invented Tetris was when it pitched on the scene a few years later in 1984. Tetris broke ground on basic ideas on what a game is and why it’s fun. It also captured the drudgery and endless futility of life in the Soviet Union, and so perhaps had deeper philosophical meaning than the rather linear MK-52 games.

Source: Wikipedia

Nonetheless, people loved the MK-52, and because it contained quite a few undocumented features and bugs (contrary to Wikipedia saying there was “only 1 known bug in the MK-52…”), this meshed with seriously early hacker culture in the unexpected artform/hobby of errorology: “the amateur study and documentation of calculator errors for entertainment”.

These people were wild cyberpunk, dude.

Memory Storage: A game-changer

The model prior to the MK-52, the MK-61 (weird version ordering system, I know…) could not store its programs when power was lost: imagine a newbie co-worker noticing that Sergei has left his calculator on while going for a smoke. Over he walks to the workbench, and with innocent and pure motives of saving AA battery power, turns off their colleague’s MK-61. And so it was, the astronomical navigation algorithm dear Sergei had been working on that whole day….. was now gone. Lost forever. Like…tears in the rain. Or…or algorithms in the EEPROM.

This obviously was a pretty serious limit to the MK-61, and so the МК-52 was given an internal EEPROM module (512 bytes) for storing programs, even when powered off.

A giant leap forward.

In fact, it was the only Soviet calculator to contain a dedicated EEPROM. The MK-52 was priced at 115 rubles at the time — about $5 in 2021 USD, quite an amazing price. Until you pick it up, and you feel the creaking, cheap plastic, and awful buttons. But hey, it does indeed work. It has a beautiful green vacuum fluorescent display, delightfully horrible blocky plastic molding, a hefty weight to it with its four AA batteries and solid internals, and inscrutable function, due to the combination of Cyrillic and the weird, weird, very weird, reverse Polish notation.

Reverse-Polish-Notation: Something Tony Hawk would do

When I first got my dirty mitts on the MK-52 and successfully fired it up, the first thing I couldn’t fail to notice was…was…no equal sign? Maybe it was using a different symbol? As I hammered in numbers and tried to get a simple sum performed, I couldn’t help but notice that something felt distinctly weird about this calc. After digging a bit deeper, I discovered that the normal way of using a calculator and performing math (the way we take for granted) isn’t the only way to get the job done. Enter Reverse Polish Notation.

Reverse Polish Notation is a way of expressing arithmetic expressions that drops the use of brackets to define the order (the priorities) for evaluation of operators – you might remember the BODMAS mnemonic from school for the sequence Brackets, Orders, Multiply, Divide, Add, Subtract. So using this common notation, we would write (2 + 8) * (12 – 2), and the brackets tell us we first need to add 2 to 8, then subtract 2 from 12, and finally multiply the completed two results together.

With Reverse Polish Notation………it……….um……er…………………shucks, I actually still have no idea how it works actually, and I’m not even going to try. Go watch a Youtube video or something. Or better yet, spare yourself. We don’t use it no more. But if you like math, and enjoy thinking in different ways, then like me, you will slowly invest some time getting a vague idea of how it works – I’m not even at the vague understanding yet. Its the middle of the 2021 heat-wave here, I’ve just eaten lunch, and others are better qualified to explain it.

The naughty bits of an MK-52

If you want a full an pedantic tour of the internals of the MK-52, you should watch this boring guy’s video, and maybe consider subscribing to his channel – he could use a push to get his butt moving and make more videos.

Source: Wikipedia

Power was provided either by a wall-wart, or by 4x AA batteries. Don’t be fooled by the dim VFD and its logical-looking internals: this calc eats through AA batteries. According to Wikipedia, it needs about 90mA max when being used.

For this reason, one shouldn’t leave the AAs in, as there is a very well-placed hole in the plastic battery chamber for noxious battery excreta to leak through, messing up your antique circuitry, the exact problem I experienced. This is a good case for replacing the power arrangement with something a bit more lithium-ion.

The program memory had a maximum of 105 commands, each one a byte, with 15 registers, plus an extra four that would be used for the number stack that was being worked on. You could even do Boolean algebra on binary numbers, although you’d need to input using hex. Hex would be inputted using the following key equivalent key presses:

HEX: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

KEYS: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -, L, C, Г, E, (blank).

The MK-52 had the option of using four external ROM cartridges that would extend functionality. These cartridges contained programs and algorithms for dealing with specific problems, like maritime navigation, school math, surveying, engineering, and even for space navigation. They had games too.

BRP-Astro: Astronavigation module (not publicly available)
BRP-3: Mathematic software 
BRP-4: Games and useful programs
BRP-Geo: Geodetic module

The cartridges would plug into the port at the back, which had hinged doors like so:

I upgraded my calc’s doors to be a more spiffy colour, and results do not disappoint. This isn’t a real hack though: connecting a logic analyzer or Arduino to the MK-52 and getting some data out and doing something with it, now that would a true hack.

Maybe when I am less busy and have some more time, I will be able to dig deeper. Alas, however:

This is the way.

For those more diligent than I, English guide to controls, here.

Slight Variations

There appear to be two slight variants, one with the “Электро́ника МК-52” label screen-printed as well as having its memory controls placed in a straight line, and a version with molded label and zig-zag organized memory controls. Beyond this, a pretty funky selection of colours can be had:

What? No red? Not even a maroon? Maybe Russian people were getting a bit tired of red by 1982….

The item I bought is the dark grayish black, but the light blue is certainly quite a funky colour. The VFD’s for all of them are pretty much the same, a mild glowing green.

A Calculator Fit for a Rusty Space Station

As the 80’s drew to a close, and the Soviet Union began to collapse, the MK-52 got one more claim to fame: it flew to space as part of the Soyuz TM-7 mission. Its purpose was as a backup in case the computers that worked out the docking trajectories with the MIR space station failed. This included a special cartridge module that contained programs that the cosmonauts in MIR actually used, but being military/restricted, no one ever got a chance to see it.

That’s all I can say about the MK-52. I really enjoy messing with old devices like this, especially objects that have cultural and historical meaning, and everyday items from countries and empires that no longer exist are usually hands-off for most people: not so for some of these antiques. I like the fact that using it requires me to think and use it in a way I’m not normally used to, but the VFD screen is quite exciting, and the unique tactile feel of its keys remind me that this isn’t your normal calculator.

As I wrap up this article, I’m working on three mods for my MK-52: One is solving the leaky battery issue by adding some lithium-ion; next is to replace the blurred green display cover with some clear, lasercut acrylic.

The final idea is to explore the cartridge port on the back with either an Arduino, or my cheapo Chinese logic analyzer that, embarrassingly, I have so far failed to get working. The MK-52 hopefully will give me some impetus to do so.

Please make a comment if you like this article, say hi, say something funny, say something rude but funny, or follow me on Instagram. Or, like, all of the above.

To go along with my initial Youtube takeapart, I also made a set of, not one, not two, but three flavors of MK-52 stickers on Redbubble, because why not.

Paul Hoets is a freelance maker who lives in South Korea. If you liked this article and would like to contribute to his empire of dirt, silicon and tech. education, buy him a coffee!

10 Comments

  1. I had also book with collection of games for it. If i show today this games, people will think i am mentally ill 🙂
    https://lordbss.narod.ru/pmk252.html
    One of them (google translation):
    You are a nuclear power plant operator. Let’s get acquainted with its device.

    The heat carrier (H2O, liquid Na, CO2), passing through the core, heats up and transfers energy to the second circulation cycle, where the generator is driven by a steam turbine (efficiency = 50%). The reactor is controlled by special cadmium control rods, which, being introduced into the core, absorb a significant part of the neutrons and limit the rapid temperature rise in the reactor. The throughput of the rods (SR) can be adjusted from 0 to 1000. When SR = 0, the chain reaction is vigorously suppressed and the reactor begins to cool down to ambient temperature. At SR = 1000, the reaction is not restrained by anything, and 1 decay stage passes in 1 min, as a result of which the number of free neutrons triples.

    The heating medium and water circulate thanks to a common pump. The pump power W (kg / min) can also be changed. At W = 0, the energy is not removed from the core, and the useful work of the generator is equal to 0. With an increase in power, the reactor cools better and the efficiency of the turbine increases.

    The reactor starts to pay for itself when the core temperature is above 600K. Prior to this, the energy required for the circulation of the coolant is drawn by the pump from the network.

    With an increase in the temperature of the core TAP, the energy yield also increases, but if the TAP exceeds the ultimate strength of the reactor Tpred, then an explosion occurs.

    The reactor control time is measured discretely, at some equal intervals Δt, therefore the energy release is also intermittent.

    Your task: to get as much energy as possible within a certain period of time and to avoid the release of radioactive substances from the reactor.

    The program implements the reaction:
    92U235 + 0n1 = 40n1 + 38Sr90 + 54Xe142 + 200 MeV (3.21 10-8 J)

    Instructions:

    Enter the data:

    constant 2.56 1013 – R2
    time step (from 1 to 6 min) – R4
    control time (10-60 min) – R8
    tensile strength (from 2000 to 5000K) – R9
    weight of uranium-235 (from 100 to 10000 kg) – RB
    heat capacity of the coolant, J / (kg K):
    water – 2112
    liquid sodium – 1320
    carbon dioxide – 1029
    ambient temperature (300K) – RE

    Press V / O S / P. The indicator shows the initial value of SR. It can either be changed or saved by pressing S / P. Then the indicator shows the value of the pump power. It can also be changed or left the same and press S / P. After 20 seconds, the indicator shows the total received energy in J. By pressing ↔️, you can find out the energy released during the last interval. Press S / R to start a new cycle.

    The results are recorded:

    core temperature – R0
    total energy received – RA
    the number of free neutrons in the reactor – RB

    If ERROR appears on the display, press B ↑:

    if the number on the indicator is> 1, an unacceptable overheating of the core occurred, and the reactor exploded. This means LOST. To start the next game, enter the mass of uranium in RB, control time in R8, change, if necessary, other initial data, V / O S / P.
    if the number on the indicator is ≤0, then your time is up. The result of the game (total energy) is stored in RA.

    1. This is a truly incredible link. Thanks you so much for sharing!
      I know there is so much about this calculator I’ll never know about, because the stories and the writings are in Russian, and plenty of it does not exist on the internet even. The second YouTube video I made on the Elka-50 Bulgarian calc involved a lot more exploration of the Cyrillic internet, because there wasn’t much available in English. But its definitely a calculator nowhere near as complex or interesting as the Mk-52.

      anonchan, are you from Eastern Europe?

  2. One correction, 115 rubles is might be only $5 today, but back in 80s average engineer’s salary in USSR was 120 rubles. In other words, out of reach for most regular people. Other thing is unavailability – even if price is affordable, there is no guarantee that you would be able to buy it. Especially applies to tools reserved for government and military institutions.

    1. That’s a good point. It was an impressively low price for such tech, but it doesn’t mean people in that economy, at that time, could just buy one. Thanks for explaining that.

  3. Well, your article is truly interesting but it has a couple of quirks.

    First off, 115 roubles in 1980s was quite a lot. Definitely not $5 by any means.
    If you take the official Soviet exchange rate of 0.6 dollar per ruble it becomes 175 dollars.
    Soviet ruble being not exactly convertible but… you know.
    To put it into a perspectie, my father worked in 1980s as a department head in a soviet ministry and his monthly salary was about 250 rubles.

    Secondly, it’s the displayed hexadecimal digits.
    You’ve correctly wrote the letters, however, those are not keys – the keys are marked traditionally A, B,C,D, E and F.
    But the displayed letters were as you write A – -, B-L, c-C, D-Г, F- blank

    And lastly, the errorology. Not really a error in your text, but I wish to supply some more info.
    When MK-51 does something bad, it would display а error message like this
    “ЕГГОГ”
    See the all caps, and those “Г” looking like small english “r”?
    Those are cyrillic and is read as hard “G”. So people called those EGGOG’s and the science was called “еггогология” (read “eggogologia” meaning “errorology”)

    The thing is, the ЕГГОГ was not always really an error.
    For example, if you take a really big number like “1e50” and square it you should get “1e100”, right? But the calculator display has only two digits for the exponent and can’t display the “100”, so it would display an ЕГГОГ
    However, the number is not lost, and it can be operated on.
    For example, divide the ЕГГОГ from previous example by “1e40” and you would get the correct answer of “1e60”

    Even better, you could square the ЕГГОГ from previous example and you would get number 1e200, which displays as “3ГГОГ” (letter “E” reversed becomes cyrillic “З” and reads “Z” so the word becomes “ZGGOG”) Still the number is there and can be operated on.

    And so on. Just by making arithmetic operations on ЕГГОГs, 3ГГОГs and the like you could change the calculator into the programming mode or even into execution mode, or even lock it up: the screen is blank, nothing works, you need to switch the power button, it was called “Тьма” (the Darkness)

    I don’t remember the exact operations needed but here we are. Those were the days.

  4. Nice article! But are all those calculator games lost forever, like tears in the rain? Please tell us it is not so. If found, I betcha they could be played on HP Reverse Polish Notation calculators.

    Also, RPN forever!! Once you go RPN you never go back 🙂 RPN is still used in the still-available-today HP-12C calculator.

  5. Reverse Polish Notation was standard used by Hewlett Packard at the time, all their scientific calculators used RPM. No = button either. But, of course, a big ENTER button.

    2 + 3 * 5 => 2 ENTER 3 ENTER 5 * +

Leave a Reply to anonchan Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s