Nuclear Reactor Simulator Is The Project Of A Lifetime

Have you been watching Chernobyl? Well, so has everyone else. Right now it seems the whole Internet is comprised of armchair dosimetrists counting roentgens in their sleep, but [Mark Wright] doesn’t need a high-budget TV show to tell him about the challenges of wrangling the atom with 1980s technology. He’s done it for real. His memories of working at a Westinghouse Pressurized Water Reactor over 30 years ago are so sharp that he’s been building a nuclear reactor “simulator” running on the Raspberry Pi that looks nearly as stressful as sitting in control room of the real thing.

The simulator software is written in Python, and is responsible for displaying a simplified overview of the reactor and ancillary systems on the screen. Here all the information required to operate the “nuclear plant” can be seen at a glance, from the utilization of individual pumps to the position of the control rods.

To play the game, if one can call it that, you must keep the virtual reactor going at peak performance for as long as possible. Sounds easy? You’ll also have to avoid making procedural mistakes and deal with randomized fault conditions. Did your plant just lose its outside source of power? Turbine just go offline? You better know which buttons to push, and when.

But the software is only part of the equation. Just as flight simulator aficionados build physical cockpits for their digital aircraft, [Mark] has built an incredible control panel for his NuclearPi. It includes an absolutely dizzying array of annunciators, indicator lights, buttons, and knobs. Everything is connected to the Pi through four 32 channel I/O expanders from AB Electronics UK, but even with a whopping 128 channels available, he still had to use some 7404 gate ICs to make everything fit.

The control panel has gone through several hardware revisions over the last couple years, as he finds what does and doesn’t work. At one point [Mark] was using 6.3V incandescent bulbs. Not great, not terrible. But he since switched the whole board over to 12V, with an array of relays for delivering power to the appropriate annunciator. We’d love to see, and hear, this thing in action.

But perhaps the most impressive element of this project is just how long [Mark] has been working on it. He described the initial version of the simulator in the March 1984 issue of 80 Micro, a magazine for TRS-80 owners. A full two years before the explosion of Reactor No. 4 at Chernobyl demonstrated the complexity of nuclear power to the general public, he was tinkering with his own virtual version using a string of Christmas lights and a 1.78 MHz processor.

Looking at the final simulator as a stand-alone project, it’s impressive enough. But to see a project with such a long and storied history is truly something special. While the individual tinkerer might never be able to build their own reactor, [Mark] has proved that at least the experience of having a home nuclear reactor is not outside the realm of possibility.

39 thoughts on “Nuclear Reactor Simulator Is The Project Of A Lifetime

    1. In school (as a nuclear engineer) we had a scale model primary coolant loop that was used for labs (there was also an operating reactor in the building that was used for other labs, but the mini coolant loop was great for some things). Said miniature coolant loop was fairly old and actually heated the water up pretty hot; it was notorious for springing leaks and spray hot water everywhere. Really kept you on your toes.

      Pretty sure it’s still in use, it wasn’t that long ago that I was using it.

    1. The annunciators light panels, vertical gauges, and pistol grip switches are very similar to what we have at my plant. They did a pretty good job, and so did Mr. Wright. Simulators are a very important part of our training allowing us to practice for the big one with as great amount of realism.

    2. Watched that a couple of weeks ago, the timing of it’s release (12 days before Three Mile Island) with the plausibility of the plot and great acting is quite a combination.

          1. Also, there’s the weapons grade irony of people campaigning against nuclear power until it turns out to be one of the few ways, if not the way that humanity could hope to avert a climate catastrophe – and then campaigning against it because their own earlier campaigning against it has made it entirely too expensive and slow to implement.

  1. Oddly enough back in my Apple 2 days I sometimes would pass the time with a game that reiterated everything that went wrong with TMI. The idea was to not allow the reactor to go supercriticla and cause a core meltdown. Which as it happens the containment building would have,ah, contained but the programmers of the original game didn’t know that. My brother translated it from one of the other examples of computer graphics and BASIC.

  2. Now what I want is the simulation of a PXK Pergium reactor, as used by the Colony from that Star Trek episode. And complete with the Horta grabbing the circulation pump, and Scotty’s attempt to replace it, at least temporarily.

  3. I’m a software/electrical/mechanical/nuclear engineer for a nuclear simulator at a large plant. I was in nuclear plant operations for 2 decades before making the move to the simulator. Each simulator has around 15,000 analog and digital IO points for switches, meters, lights, recorders, buttons, and such. Most of the code is in Fortran. It’s really a lot of fun keeping it all working. I applaud this guy’s motivation!

    1. Hi Matt,
      I started in Technical Support right out of college. My plant was still under construction (four units, then two and finally one was built). As part of our training, we got to take a Power Plant Principles course offsite at the simulator. Experiencing the simulator is what started this obsession in building my own. Seven years later, on my last day at the plant, the Shift Foreman escorted me around the control room where I tried to memorize everything!

      1. WOW!! I can’t believe I found this!! Sorry to be so dramatic, but I received that issue in the mail in 1984 (along with A BUNCH of it brothers). I thought that was the coolest project I’d ever seen. Many years later and many moves later, I found all of my TRS-80 stuff and realized that the Raspberry Pi would be the perfect platform to bring this project back and I have been working on a version of this project for the Raspberry Pi for 4 or 5 year (mostly just off and on as I haven’t REALLY taken the time to learn the Raspberry Pi programming techniques.) I would love it if you would be willing to chat some about the original code and where it is now.

      1. Every single component is identical to the real thing down to the lighting, the annuciator SPL, and carpet. We take some liberties with some components such switches that may require a dozen decks of contacts in the plant. The simulator only needs one.

  4. I really like the picture where he shorted the fuses for testing… Good thing this is a simulator.
    On a more serious note, good job altough a bit annoying to read because you have to click “next” after every small article/note.

  5. Any idea if the software is available/open-source? The WordPress site he has this hosted on is using an almost unusable theme so I’m not fond of trying to wade through all that white-space.

    1. Mark was kind enough to upload the Python source for his simulator, PCB files, and even the images used for the labels on the panel to GitHub right before this article went out. He’s set the bar very high, but it would be awesome to see somebody else take up the challenge of building a sister station.

  6. I remember a shareware DOS game called Oakflat nuclear power plant simulator. Never did get the full version of it but I had a lot of fun with it when I was younger.

  7. Hi, after some info exchange between me and the NuclearPi author, I was able to implement the HAL (HW abstraction layer) which makes it possible to run the NuclearPi without real HW using different drivers (MQTT and LED Strip drivers are in (slow) development). First example of the HAL using the GUI driver is here: https://youtu.be/3PuAU9ARX8k

Leave a Reply to gregg4Cancel 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.