High Level Design

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.

Detailed Design

Software Design

Understand how we navigated programming the simulation and how the code actually works.

Hardware Design

Housing Design and Manufacturing, Component Selection, and System Integration

Results and Conclusions

What we achieved, what went well, and what didn't.

Appendix

Permisions, Code, Skematics, References, etc.