
Software Design
Understand how we navigated programming the simulation and how the code actually works.
Our project was heavily inspired by the Chernobyl Visually Explained video. We aimed to recreate all parts of the simulation on the RP2040 using the 4-bit color VGA library. The simulation models the Soviet-era RBMK nuclear fission reactor. The nuclear fission of Uranium-235 is represented by the following equation:
We simulate a representative section of the fission reactor, including Uranium fuel, neutrons, and various other moderators. All decayed materials are represented as non-fissile nuclei in our simulation.
In addition to the simulation and real time statistics, we designed and implemented a user interface that can adjust various parameters of the simulation, including toggling automatic/manual control, adjusting the reactor cooling, target power, simulation speed, etc. Through this control panel, we are able to simulate both controlled and uncontrolled chain reactions.
Core 0 and Core 1 Threads
Our program is organized as follows: The main simulation and animation takes place on core 0 of the RP2040. In addition, it draws timing sensitive statistics like the frame timing. Core 1 handles the peripheral logic like creating and drawing the graphs in the lower half of the screen. Core 1 also contains additional threads that poll the various hardware inputs. This organizaiton takes advantage of the multi-core architecture of the RP2040.
Understand how we navigated programming the simulation and how the code actually works.
Housing Design and Manufacturing, Component Selection, and System Integration
What we achieved, what went well, and what didn't.
Permisions, Code, Skematics, References, etc.