Upgrading A Soviet Calculator With A Modern CPU

An MK-85 with a modern CPU replacement

Today’s supply chain issues can make it hard to buy microcontrollers, or really any kind of semiconductor. But for those keeping retrocomputers alive, this problem has always existed: ancient components might have been out of production for decades, with a dwindling supply of second-hand parts or “new old stock” as the only option. If a rare CPU breaks, you might have no option but to replace the entire computer.

[Piotr Patek] ran into this issue when he obtained an Elektronika MK-85 programmable calculator with a broken CPU. Unable to find a replacement, he decided instead to build a pin-compatible CPU unit based on an STM32 microcontroller. Of course no modern CPU is pin-compatible with a Soviet design from the 1980s, so [Piotr] had to design a small interposer PCB to match the original pinout. This also gave him enough space to add an efficient DC/DC converter chip that generates the 2.5 V supply for the STM32.

As for the software, [Piotr] managed to port the original BASIC interpreter, which was written in PDP-11 assembly, to a modern equivalent written in C. While he was at it, he fixed a few bugs that had been sitting there for about 35 years. The updated CPU also allows the MK-85 to run circles around its contemporary siblings: [Piotr] timed it to be about thirty times faster than the original chip, while using a comparable amount of power.

If you also happen to have an MK-85 with a dodgy CPU, you’ll be pleased to find that the schematics and source code to [Piotr]’s modification are all available on his blog. This is probably the first calculator CPU update we’ve seen, although we’ve featured other ancient calculators updated with new firmware, and some completely new calculator designs based on classic hardware.

Thanks for the tip, [cmholm]!

16 thoughts on “Upgrading A Soviet Calculator With A Modern CPU

  1. Latin keys with Cyrilic only as a shift option printed way less prominently on the side.
    BASIC, a program language made up of English words.
    Even shortcuts to those BASIC commands printed far more prominently than the Cyrilic writing.

    Man, it must suck to grow up in non-English speaking parts of the world and then develop an interest in computers. I can see if it was some tiny language spoken in only a few villages but Russian? Why don’t more people create programming languages based on their own natural language or if they do why don’t they take off?

    1. Speaking from experience, it’s not a problem at all coding with English words when it is not your primary language. Once you learn what the keyword are, it’s just like typing the same words in your own language.

      Especially so today when people all over the world are adopting English words in conversations in their own local language.

    2. Built-in ASCII was a big obstacle. If you want non-English keywords/letters, on early machines you had to play with character generator, etc. Not something for a regular user, you will admit. Only computer designer could do that …

      It’s easier today, but nobody uses only BASIC interpreters any more.

    3. It’s easy to change keywords. One could even write a BASIC where the keywords are in a table, so easily changed.

      But the program won’t run on the same interpreter if the keywords are different.

      I don’t know if it’s rumour or truth, but I’ve seen talk that Quebec at some point wanted html keywords to be in French. If there was any truth, I assume a political thing, disconnected from reality.

      My first thought was “yes, that will work”, until I realized it wouldn’t. Maybe it would work if Quebec completely isolated itselfso every website used this bpnew version and nobody outside could view the pages, and nobody inside could view pages from outside.

      1. Not the really an issue. Many basics tokenize the program. Most traditional .bas files are not text but the program in tokenized form. A table for the tokens and keywords could be modified. In fact it was often. There was a program called the wedge for commodores back in the day that would change some keywords and even their function so you lost let but gained something more useful.

  2. If you comapre the Elektronika MK-85 and the Casio PB-100 they look nearly identical. I wonder if this is a copied design or if Elektronika had a custom machine made for them by Casio?

      1. Using a PDP-11 clone for a calculator seems like a case of massive overkill. Too bad they are not available anymore. They could make for cool mini PDP-11s
        So it would seem to me that the next step would be wright a PDP-11 emulator that runs on this and you would have a full replacement for that cpu for other projects. Of course it would also make that calculator compatible with it’s own software base.

Leave a Reply to tnt23 Cancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.