Scott manley lands on the moon using a 1982 zx spectrum and pure math
Scott Manley just piloted a lunar module onto the Sea of Tranquility—on a computer with less raw power than a microwave clock. The 3.5 MHz Z80 CPU inside the 48 KB ZX Spectrum never touched a 3-D accelerator; instead it crunched trigonometry in Sinclair BASIC, line by line, until a wireframe Moon filled the CRT.
The cheat code was geometry, not silicon
Manley’s “Kerbal Lunar Module” is not a port of the modern game. It is a ground-up re-implementation that treats every orbital vector as a spreadsheet. Altitude, vertical velocity, remaining Δv—each variable arrives every two seconds through an RS-232 dongle originally sold for dot-matrix printers. The Spectrum’s CPU then solves a dozen simultaneous equations, decides which edges of the landing pad are visible, and fires 256 pixels to the screen before the next telemetry packet hits the 8-bit bus.
Latency hovers around two seconds. That sounds laughable until you remember Apollo 11’s flight computer took 10 seconds to compile a new burn. Manley’s throttle commands are buffered in a 40-byte circular queue—tiny, but enough to arrest a 5 m/s descent rate before the grey surface rushes up.

Why this matters in 2024
NASA’s CLPS program is about to pay private companies to drop instruments on the Moon for cheap. Every gram of guidance logic that can be trimmed translates into dollars saved. A proof-of-concept running on 48 KB reminds mission planners that fault-tolerant code is often smaller—and older—than the bloat riding today’s orbital CubeSats.
Manley’s build also torpedoes the myth that retrocomputing is nostalgia in cosplay. The same cycle-counting discipline that squeezes a Lander into 16 K of RAM is the discipline required to harden firmware against radiation-hardened microcontrollers that cost 100 000 USD a pop. When the next lunar night lasts 14 Earth days and a reboot is impossible, “obsolete” starts looking like “battle-tested.”
He posted the 14-minute video at 03:00 UTC; by dawn it had 1.3 million views and the comment section had already reverse-engineered the RS-232 routine into a 31-byte subroutine. Someone in Berlin is now porting it to the East German KC 85/2. The Moon, it turns out, is platform-agnostic.