The cabin COâ‚‚ scrubber is a proportional feedback loop: crew exhale COâ‚‚ at a fixed rate P, and a scrubber removes it at a commanded rate R(t) that tries to hold the cabin at a target level.
dCO2/dt = P − R(t)
R(t) = clamp( Kp · ( CO2(t − τ) − target ), 0, Rmax )
τ = round-trip light time = 2 · distance / c
In Ground Control mode the commanded rate uses a CO₂ reading from τ seconds ago, because that is how long it takes telemetry to reach Earth and a command to return — a real radio signal cannot beat the speed of light. Near Earth τ ≈ 0, so the loop tracks the target smoothly. As distance grows toward Mars (τ up to ≈ 42 minutes round trip at maximum range), the same gain Kp that was stable up close starts overshooting: the controller is always reacting to old information, so it keeps "correcting" a cabin state that no longer exists, and the CO₂ level rings or diverges — exactly the instability a pure time-delay adds to any proportional loop (roughly, oscillation risk grows once Kp·τ gets large).
In Onboard Autonomous mode the same controller reads the current cabin CO₂ with τ = 0, so it stays well-behaved at any gain. This is why real deep-space life-support systems (ISS can tolerate ground-assisted control; a Mars-distance ECLSS cannot) must run their control loop onboard rather than from Earth once the round-trip delay gets large — this simulator lets you watch that exact hand-off boundary emerge.
- Distance slider — sets the light-time delay (log scale, from LEO-like proximity to Mars maximum range).
- Gain Kp — how aggressively the scrubber reacts to a CO₂ error; higher gain reacts faster but destabilizes sooner under delay.
- Crew size — sets the CO₂ production load the scrubber has to keep up with.
- Mode toggle — switches the control loop between Earth-delayed and onboard-immediate feedback.