August 31, 2026·7 min read

Putting the sky on the ceiling

My three-year-olds point at every plane that crosses. I'm building a way to point back — the real sky, planes and all, projected onto the ceiling over their beds.

By Andrew Pyle

My twin boys are three, and like a lot of three-year-olds they are transfixed by anything that moves — cars, trains, excavators, and above all the things in the sky. A plane goes over, both heads tip back, and I get the question I can't really answer: what's that? Where's it going? I can say "an airplane, buddy," but that's the end of what I know, and it's never the end of what they want to know.

It turns out the sky is already answering. Almost every aircraft overhead is broadcasting exactly who it is — position, altitude, speed, heading, call sign — several times a second, in the clear, on a frequency called 1090 MHz. The system is ADS-B, and the quietly wonderful part is that none of it is hidden. A radio dongle that costs about thirty dollars pulls those signals straight out of the air. The answer to "what's that?" has been raining down on us the whole time. We just weren't listening.

01The ceiling

The ceiling instead of a screen

The obvious thing to do with that data is put it on a screen — a map, a dot, a label. But a phone map is the wrong shape for what I actually want to give them. A plane isn't a row in a table or a dot on a grid; it's up there, over our real house, at a real angle. So the idea I can't shake is the ceiling. Mount a projector, paint the background pure black so the rectangle disappears into the plaster, and render the sky onto the ceiling above the bed — the real sun and moon where they are this minute, the bright planets, a scatter of stars, the ISS when it passes, and the planes crossing through all of it in real time. Lie back, look up, and the ceiling is the sky. When you hear a jet outside, it slides across the ceiling at the same moment.

The reason a screen is wrong isn't resolution; it's orientation. It asks you to translate — that dot on the flat rectangle in my hand stands for a thing above and behind me. A three-year-old can't do that translation, and the translation is the whole thing I want to remove. On the ceiling there's nothing to translate. Up is up.

02Radio into light

How the radio becomes light

Under the hood it's less mystical than it sounds, which I mean as a compliment. The dongle is a repurposed television tuner — the same cheap chip sold to watch digital TV, run instead as a software-defined radio listening on 1090 MHz. A decoder called dump1090 does the unglamorous work: it pulls the Mode S messages out of the noise and turns a stream of radio bursts into a clean, trustworthy list of aircraft, each row carrying a position, an altitude, and a call sign, refreshed a couple of times a second. It's shouting its GPS position to no one in particular, and I'm just standing under it with a bucket.

A small Python program reads that list and — this is the part I find genuinely lovely — uses an astronomy library to compute where the sun, moon, planets, and stars actually are for our exact location and time. Those libraries load the same JPL ephemeris tables NASA uses to fly spacecraft, and collapse them down to a plain altitude and compass bearing for one roof on one evening; the ISS falls out of its published orbital elements the same way. The program fuses the planes and the sky into one picture and pushes it to a browser running fullscreen, which is what the projector throws — the whole thing built to live on a little Raspberry Pi, quietly turning radio into light.

03The geometry

The geometry is the hard part

The hard part isn't the data; it's the geometry. A ceiling isn't a screen you face head-on — it's above you, so the image has to be mirrored and rotated to line up with the real sky. Screen-up has to become the direction of the actual north wall; left and right have to flip for the upward throw. Get it a little wrong and every plane sits in the wrong place, which — for a project whose entire promise is "that dot is the plane you just heard" — is the one failure that ruins the trick. And it's calibration per room, not once: the projector throws at an angle from wherever the furniture allows, so the skewed rectangle it paints has to be corrected back into a square that maps onto real bearings. The signal is universal — 1090 MHz is the same over every house on earth — but that last transform, from a fact in the sky to a pixel on this plaster, is stubbornly local. That local last step is almost always where the interesting work turns out to be.

04The open sky

Public signal, nobody catching it

Somewhere in building this I realized the project isn't really about aircraft at all; it's about signal that's already public and almost nobody bothers to receive. The sky over every house is thick with it — position reports, satellite passes, the slow arithmetic of the planets — broadcast in the clear, free for anyone with a few dollars of radio. The raw signal is the commodity. What's scarce is the interface: the willingness to catch the stream and shape it into something a person can look at without training. That's the same lesson nearly everything else I build keeps teaching me. The data is rarely the hard part; the value lives in the last mile between a stream of bytes and something a person actually believes.

05Where it stands

Where the project actually stands

Where it actually is, honestly: it runs on my desk. The sky part works — I can open it right now and watch the real sun, the real moon, the ISS when it's due. Plug in the radio and planes appear. What doesn't exist yet is the version that matters: mounted on a ceiling, calibrated to a room, running on its own over the boys' beds every night. Between "neat thing on my monitor" and "the thing I just described to you" is a real gap, and I'm standing on the near side of it.

I know how projects like this die, because I've watched it happen. The desk prototype is delightful, and delight is dangerous, because it feels like arrival. The last stretch — the mount, the calibration, the unglamorous reliability of something that has to just work while I'm asleep — is exactly where the ceiling stays blank. Saying that out loud is my best defense against it.

06Runs unattended

It has to work while I'm asleep

The requirement that separates this from a weekend toy is that it has to run on its own while I'm asleep, over two beds, with nobody in the room to nudge it. That single constraint drags in everything I already know about running things unattended: a projector that powers on cleanly, a browser that can't leak memory until it wedges at 4am, a Pi that comes back by itself after the power blinks. The desk demo that behaves while I'm watching it is the easy ninety percent; the last ten percent — the part that survives a night with no operator — is where ceilings like this stay dark.

It's the same standard I hold my production systems to, and for the same reason: "it worked when I tested it" is a claim, and the only thing that counts is the ceiling actually lit and correct at a random hour no one is checking. So the honest measure of this project was never the demo on my monitor. It's a night when a kid half-wakes, looks up, and the sky is simply right — planes and all — without a single person having touched it.

07Why the nights

The real reason it's worth the nights

But the reason I keep coming back isn't really about airplanes. The sky over all of us is saturated with signal that's public, free, and completely invisible, and the whole distance between invisible and wondrous is one person willing to build the interface. Thirty dollars of radio and a little patience turns an empty sky into a legible one — a fact I find quietly thrilling by itself. The reason it's worth my nights, though, is older and smaller than any of that: a kid tipping his head back to ask what's that, and a dad who'd rather build the answer than shrug. If I get it right, the boys — and their little sister, once she's old enough to point too — will grow up in a room where the ceiling tells them the truth about the sky: that it was never empty, and that you can find out what's up there if you care enough to listen. That's the whole project. The radio is just how I keep the promise.