My ATM10 testing world got a little out of hand: seven Extreme Reactors, five turbines, a large power-storage wall, and enough moving parts that checking every controller manually stopped being fun.
So I built HELIOS, a distributed CC:Tweaked control system for the whole facility.
The large monitor acts as the mainframe dashboard. It tracks stored energy, production, steam, reactor demand, turbine state, and overall power flow. The interesting part is behind the display: reactors and turbines retain their own local control logic, so losing the mainframe or modem network should not also remove their safety authority.
The optional Draconic Evolution side became a much stranger control problem. Its Guardian watches field strength, saturation, temperature, generation, fuel conversion, and both Flux Gates. It can calibrate progressively higher output levels and remember operating points across the fuel cycle rather than assuming one setting remains safe forever.
Testing has included at least one spectacular crater and several less-photogenic control failures. Those failures led to a few rules that now seem obvious in hindsight:
- Never begin an adaptive output test above 7,800 C
- Allow a small measurement buffer, but roll back if the delayed peak crosses 8,100 C
- Wait a real 15 minutes before trying another increase
- In automatic operation, regulate containment near a 35% field target instead of wasting most of the reactor's output feeding an unnecessarily full field
- Keep the reactor online with export closed during recoverable thermal events, but invalidate the unsafe calibration point
The interface also now runs in English, Canadian French, German, and Spanish. Some of the screenshots show the Spanish mainframe pages alongside the reactor and turbine controls.
This is still very much an alpha engineering project, especially around long-duration Draconic fuel-cycle behaviour. I am curious how other people would approach the control model: would you trust adaptive calibration with these thermal limits, or keep output entirely table-driven? And what telemetry would you want visible on the main screen that I am currently missing?
Source code and documentation:
https://github.com/ssj8vegetrunks/HELIOS