A computer you cannot touch
How to think about spacecraft once you stop treating them as hardware.
A spacecraft is a computer you cannot touch, operating in an environment trying to kill it.
Almost everything in space systems falls out of that one sentence. Every protocol, every diagram, every operational quirk — they are all consequences of those two facts: the machine is unreachable, and the place it lives is hostile.
If you sit with the sentence long enough, you can almost derive the field from scratch. So before we go anywhere else, let me try to make you sit with it.
The constraint that changes everything
A web server can fail and be restarted. A database can be patched. A network switch can be replaced. Even badly designed systems survive on Earth because, eventually, somebody can walk into the room and fix them. The entire stack we build on — TCP retries, systemd journals, Kubernetes pods coming back up — rests quietly on the belief that somebody can physically reach the machine if everything else fails.
A spacecraft gets no such mercy.

Once the rocket leaves the pad, the machine disappears into an environment where power is scarce, communication is intermittent, radiation slowly damages electronics, and physical access is gone forever. It runs for years on solar panels and a battery, in a vacuum, while every component in it slowly degrades. The only thing connecting it to Earth is a radio link that may work for ten minutes at a time, twice a day, on a good day.
When the spacecraft rises above the horizon of a ground station, operators work the contact window carefully. Commands are queued. Telemetry is scanned. Clocks are checked. Software updates are weighed against risk. A few minutes later, the spacecraft disappears again into silence.
This is not an edge case. This is the actual situation of every operational satellite, every Mars rover, every interplanetary probe, every space station module. It is the situation of every machine humanity has ever put above the atmosphere. And it has been the situation for sixty-five years.
The field of space data systems is the answer to a single question: how do you build reliable computational systems under those constraints? Every protocol that follows is a piece of that answer.
The invisible protagonist
The visible protagonist here is a spacecraft — a single, fictional machine we will follow from launch through autonomy through becoming part of an interplanetary network. But the real protagonist is something else.
The real protagonist is uncertainty.
On Earth, we have built decades of infrastructure to hide it. DNS resolves names. TCP retries. Filesystems sync. Kubernetes restarts. Modern systems assume connectivity will eventually stabilize, and “did it work?” usually has a fast, definitive answer.
In space, uncertainty is not an edge case. It is the environment itself.
Every interesting problem in the field is, at its core, a problem of uncertainty:
- Uncertain communication. Did the signal arrive? Was it corrupted? Was it the signal I think it was?
- Uncertain delivery. Did the command execute? Did it execute once, or did the spacecraft retry and execute it twice?
- Uncertain state. What is the spacecraft doing right now? The telemetry I’m looking at is forty seconds old, or forty minutes old. What has changed since?
- Uncertain timing. The spacecraft’s clock has drifted. By how much? In which direction? Do I trust the timestamp on this packet?
- Uncertain corruption. A bit flipped somewhere. Was it caught? Was it caught correctly?
- Uncertain connectivity. The link will reappear in twenty-three minutes. Or it won’t. There is no way to know which until it does or doesn’t.
- Uncertain intent. The operator typed the command they meant to type. Probably.
Every protocol you will meet is, in some sense, a structured response to a specific kind of uncertainty: a way to convert I don’t know into I know, with these specific assumptions, to this specific degree, until this specific time.
Once you see this, the field stops looking like a pile of disconnected acronyms and starts looking like a coherent engineering discipline. Telemetry framing, file delivery, delay-tolerant routing, synchronization, security — each one exists because some form of uncertainty had to be made manageable.
The acronyms are surface detail. The deeper subject is how knowledge survives distance, delay, and failure.
Situations, then protocols
Most introductions to space systems begin with standards documents and packet formats — TM, TC, AOS, CFDP, DTN. The problem is not that these systems are complicated. The problem is that they are usually introduced before the reader understands the operational pressures that shaped them.
We will go the other way. We will begin with situations:
- a silent spacecraft after launch,
- a corrupted frame during a weather disturbance,
- a software update crossing light-minutes,
- a rover waiting through planetary night,
- a ground station trying to reconstruct reality from delayed telemetry.
From those situations, the protocols emerge. The goal is not to memorize standards. The goal is to develop the intuition that makes the standards feel inevitable — to walk you up to each protocol from the operational pain that demanded it, so that by the time the packet format appears, every field reads itself.
The journey of a bit
A single motif runs through the entire primer. We will call it the journey of a bit.
Somewhere on the spacecraft, a sensor measures a voltage. That voltage becomes a number. That number becomes a packet. That packet becomes a frame. That frame becomes a modulated radio signal. That signal becomes a wiggle of electromagnetic field in the space between two antennas. That wiggle becomes, on the ground, a voltage again. And then a number. And then, eventually, a row on a screen that an operator looks at and decides whether to send a command back.
We will revisit that journey at progressively deeper layers — from radio energy to packet, from sensor to downlink queue, across the gap between spacecraft and antenna, through a network that forgets to exist. Each visit exposes a layer that was invisible the time before.
By the end, the same bit will have traveled through radios, clocks, queues, protocols, antennas, ground networks, operators, and autonomous systems. What first appeared simple will gradually reveal the machinery required to preserve meaning across space.
When the narrative seems to be jumping between scales — from a transistor inside a spacecraft to a continent-scale ground network to a Mars relay constellation — it is really just looking at one bit from different distances.

The spacecraft we will follow
The spacecraft is fictional. It has to be — real missions carry political and proprietary baggage that gets in the way of teaching. But it is fictional in the way a good thought experiment is fictional: every constraint it experiences is a real constraint that a real mission has experienced. Its orbit is real. Its radio is real. Its failure modes are real. Its protocols are real.
We will not give it a name. It does not need one. It is a stand-in for the family of machines we’re really following — the satellites and probes and rovers and stations whose job is to send numbers across distances large enough that the numbers’ meaning depends on what we agreed about them long before they were sent.
You will meet it in Chapter 1, hanging silent above the South Atlantic, waiting for its first pass over a ground station. The operators are staring at screens that show, with great precision, nothing. They are waiting for a signal that may arrive in eight minutes.
Or may never arrive at all.
Let’s go meet it.