Visuals

Real Screenshots, Live Data.

Planetaria running on a Galaxy Watch 7: the live Earth with NASA clouds, night-side city lights, earthquake markers, the ISS crosshair, and the time and weather card

Unretouched screenshot from a Galaxy Watch 7: the terminator is where the Sun really is, the clouds are NASA's latest complete VIIRS mosaic, the orange markers are live USGS earthquakes, the crosshair is the ISS, and the card is the local time and MET Norway weather for the watch's real location.

Overview

A Firmware Port, Done Properly.

The Planetaria desk globe renders the Earth per-pixel on an ESP32. This project asks: what does that instrument become on a watch? The answer is a native Kotlin Wear OS app whose render cores are line-for-line ports of the firmware — the same spherical projection, the same subsolar lighting, the same framing defaults — wrapped in a platform-correct watch experience: a swipe carousel, ambient mode, a Watch Face Format face, a tile, and complications.

It's standalone (no phone app), free, with no account and no subscription.

What It Shows

Fourteen Views, One Swipe

A wrap-around carousel, every view computed for this minute and the watch's real location.

Earth

The Live Planet

Real day/night terminator, daily NASA VIIRS clouds, Black Marble city lights on the night side, USGS M4.5+ earthquakes pulsing at their epicentres, and the ISS crosshair on its real orbit. Frame it sun-centered like the desk globe, or centered on your own coordinates.

Moon & Planets

Tonight's Moon, Every World

The Moon keeps its near side toward you — tidally locked like the real thing — lit exactly as much as tonight's moon. Mercury through Neptune render from real imagery (Solar System Scope, CC-BY), each with the firmware's sun-framed terminator.

Night Sky

A Planisphere for Your Sky

The constellations above the watch's actual location, from the Yale Bright Star Catalogue — with the naked-eye planets marked, so "what's that bright star?" has an answer on your wrist.

Tides + Face + Tile

The Rest of the Instrument

A live NOAA tide dial for the nearest station; a Watch Face Format face (the Earth by the hour + four slots); a glanceable tile centered on you; and four complications — moon %, next tide, sunrise/sunset, next ISS pass.

Under the Hood

Architecture Notes

The interesting engineering isn't the pixels — it's keeping an always-correct instrument honest on a battery.

Golden-Tested Cores

Pure Kotlin, No Android

The astronomy and both software renderers live in pure-JVM modules with zero Android dependencies, pinned by golden tests against the firmware's output and reference ephemerides — so the watch's Earth is provably the desk globe's Earth. (They're also the seed of a future Apple Watch port.)

Offline-First

Two Clocks, One Cache

Astronomy computes on-device forever — no network required. Live layers read one disk-cached bundle refreshed on a gentle schedule; every feed degrades to stale rather than blank. Time-lapse runs on an accelerated scene clock while data freshness stays on the real one.

Edge Backend

A Server That Costs Nothing

Watches never hit NASA/NOAA/USGS directly — a Cloudflare Worker (free tier) aggregates and edge-caches the feeds, one fetch shared across the fleet. It runs unattended at $0, so the app's lifetime isn't chained to a personal server.

Battery Discipline

An Instrument, Not a Toy

Frames tick slowly in real-time mode, ambient dims instantly and renders once per system tick, the time-lapse spin only runs while charging, and the R8-minified release is smoke-tested on hardware — which is how two silent minifier bugs were caught before shipping.

Honest status

v1.0 is built, signed, and running on hardware (Galaxy Watch 7); the Google Play listing is in preparation. Details on the CosNFX store page.