Ourania
Realtime space TV on a Raspberry Pi.
Ourania is a small custom device that sits in my home and behaves like a little CRT television. You flip through channels that receive live data from rocket launches, ISS position, moon phase, etc. It’s also got Teletext (see Ceefax) with personal utilities like my to-do list, agenda, a Spotify visualizer, and even a game of Connect 4.
Where the idea came from
I’d been meaning to make some kind of hardware project for a while. Two things I saw stuck with me: an e-ink frame that displayed illustrations of the birds heard outside the owner’s house, and a Polaroid camera that instead of producing pictures, printed poems based on what the camera saw. I was inspired by the whimsy of it all, and how two seemingly unrelated yet simple ideas can make a product that isn’t necessarily useful but is beautiful.
Even though I wanted to make something like this, I couldn’t find an idea, but I knew I wanted to go for something retro. I’d seen an image of CRT screens rendering pixel art in a way that makes them feel alive, a way today’s high-res displays just can’t convey. That’s purely down to how the display works: phosphor tubes, pixel bleeding, and so on, the components that define what a CRT actually looks like. I told myself “I bet I can reverse engineer this” and ended up making a CRT shader.
It reminded me of two things
While testing various images on the shader, I was reminded of the little CRT TV I had as a kid, on which I watched cartoons and played PS2 games. At the same time I was making music in Ableton, and I kept thinking about old Sony equipment that displayed VU meters through a tiny display. Something about that nostalgia hit me deeply and I decided to combine these things together. I almost immediately bought a Raspberry Pi 4 and a 4-inch LCD display, and got the CRT shader running on it.
The final shape
I started with something simple, a weather report, then my todo list, then my agenda. So the shader suddenly turned into a TV. I had channels I could flip through, displayed on this little custom device in real space.
I kept adding more and more channels, and at some point I noticed it had become mainly space-related info, with the personal things sitting alongside as tools. That felt like the final shape of the product: a space TV, with Teletext making the separation between passive info and personal tools.
I named it Ourania. I tend to lean toward languages I’m familiar with when I name things, and Ourania is the Greek muse of astronomy, which fit a space-themed TV. The logo mark uses a black hole for the first O.
Keeping it single-purpose
I really, really like single-purpose tech like MP3 players, Kindles, dumb phones. Things that do one thing.
As I was making the various channels, at some point it started feeling like a phone. I didn’t like that, so I held back from adding more controls. Once the TV idea landed it stopped feeling that way. Even though Teletext allows some personal tools, it still feels like a self-contained thing that does one thing well (space stuff) rather than an “everything device” like a phone is. I didn’t want to create yet another distraction.
Giving it a personality
In the beginning the UI was very simple, mostly text to relay the info. But where’s the fun in that? My OP-1 Field has an audio effect it illustrates as a piece of food going through the stomach of a cow. That’s FUN. I wanted illustrations that convey meaning, with some whimsy where possible.
But that’s a personality in itself and I wasn’t sure it was the personality I wanted to convey. Because I was drawn to space stuff, it felt more at home to stylize things through those retro-futuristic UIs of Westworld, Silo and Severance.
Designing for the real screen
A layout that looks fine on a crisp canvas can turn to mush once it’s bleeding through phosphor and scanlines, so a lot of the work was designing for the actual display rather than the idea of it.
Because the shader inadvertently makes everything a bit blurry, I worked with a generous minimum text size, and leaned on all-caps and bright colors to keep things legible. Below a certain size the type just smears.
One of my favorite things is the channel switching effect. It’s a subtle warping and localized glitch that makes it feel old.
Struggles along the way
None of this went perfectly to plan. The buttons were the big one. Initially I wanted the gadget to not have touch at all, just because I like tactility and the retro feel of it. During the build I put buttons on the right side of the screen so I could navigate without hooking a keyboard or mouse up to the Pi. Then I went looking for a button pad or individual buttons to wire in, but nothing I found fit my vision. To keep the on-screen ones in theme I made them unchanging, always the same buttons no matter what’s on screen, to emulate physical buttons rather than UI buttons that change with the page. I also considered, and half-built, a phone remote to get rid of them entirely, but it felt like overengineering, and honestly the on-screen buttons felt much better.
Before Connect 4 there was a Snake game. I decided to replace it simply because the vertically stacked direction buttons aren’t easy to hit on a time-based game. Connect 4 stayed because it’s turn-based.
Data was mostly easy. NASA has great APIs, and hooking up Todoist, Google Calendar and Spotify was straightforward too. The one thing that fought me was the Spotify VU display. I wanted the needle driven by the actual waveform of the song, which turned out to be almost impossible because of DRM. So I built a fallback that merges the 30-second free preview with a BPM lookup, so the needle bounces to the beat of the song, not synced to the exact moment, but it feels reactive.