Skip to content

About

A self-contained Raspberry Pi and Docker rain radar display with animated observed rainfall, local history, outage-resilient playback and LAN multi-screen support.

Topics

Resources

Contributing

Stars

68 stars

Watchers

1 watching

Forks

Repository files navigation

Pi Rain Radar

A dedicated weather screen for your home, with rain radar at its heart. Watch rain and clouds move, follow local weather trends, explore aviation reports and replay the weather your Pi has collected. Build a quiet, glanceable display with just the widgets you want.

Curious how it came about? Read the story behind Pi Rain Radar.

Rain and cloud playback centred on Coventry

Recorded on 27 September 2026 in v0.8.0: 13 frames spanning 09:00–11:00 BST, with rain and clouds on both maps, weather charts, Rain forecast, Sun/Moon and Camera open. A recording of Live playback, not current conditions; weather readings, Rain forecast and Camera reflect capture time. Radar by RainViewer and Rainbow, clouds by Rainbow, basemap by Natural Earth, weather by OpenWeather. Static preview · Gallery.

Status

v0.12.0 is the current pre-release. I tested and accepted the published release on my Pi 4 / 2 GB. Release CI passed 422 tests and image startup/restart checks on ARM64 and AMD64. The Ludicrously Quick Start pins this release; the portable fresh-install/reboot route remains experimental. See release notes and validation.

Upgrading from 0.6.0 or earlier starts a fresh archive and removes the old rolling history (up to seven days). Back up first if you want to preserve it. Keys, PIN, map and browser preferences remain; Live rebuilds from available radar. Existing 0.7.0 candidate archives are preserved. See upgrade details.

New in 0.12.0

  • A little aviation weather on your own screen. Choose an airport and collect METAR observations and TAF forecasts from NOAA Aviation Weather Center every five minutes. Keep the original reports together or split them into separate widgets. Hover or tap a code to understand it, then scrub Archive to see the reports your Pi had acquired at that point. A handy way to get familiar with aviation weather terminology. Explore Aviation.
  • Trends that look beyond the last reading. Top-dock arrows consider the preceding hour, with no arrow for stable conditions or insufficient evidence. Compact three-letter chart labels save space, while hover/tap explanations keep them understandable. Live charts show the latest value throughout playback; Archive follows the selected historical position. Weather and charts.
  • Your screens, your preferences. Set units and wind/Sun/Moon formats once globally, then let each screen inherit them or override individual choices. Consistent dock text, roomier Sun/Moon values and an independent wind-arrow choice make the display easier to read. Existing settings migrate when upgrading from 0.11.0. Upgrade details.
  • Small details that make daily use calmer. Cloud freshness allows for normal publication delays, the availability popup sits closer to the playback dock, and tighter chart spacing and themed controls reduce clutter.

See what’s next for planned improvements and ideas for future releases.

Build your first Raspberry Pi radar screen

Start with the Ludicrously Quick Start: a photographed guide to assembly, preparing the memory card, connecting from your computer and running the guided installer. No previous Pi experience needed. The fresh-install walkthrough is tested on Pi 5 with the official 7-inch Touch Display 2; Pi 4 installer testing remains pending.

Already have a working Pi setup? Use the manual Pi guide or the Docker instructions below.

Run with Docker

Install Docker with the Compose plugin. For a new installation on Linux or a Pi (existing installations should use Upgrade):

mkdir -p ~/apps/pi-rain-radar
cd ~/apps/pi-rain-radar
curl -fL https://raw.githubusercontent.com/alex-soul/pi-rain-radar/main/compose.yaml -o compose.yaml
docker compose pull
docker compose up -d

Use sudo docker if your Linux user needs it. Open localhost:3080 on the host, or http://<host-name>.local:3080 from another device on your home network. Allow roughly 2–3 minutes for initial radar acquisition.

The configuration download follows main; Docker runs the latest published image, including pre-releases. It does not build unreleased application source. For a fixed release and matching configuration, see version pinning.

Ready-built images support Linux ARM64 (64-bit Raspberry Pi OS) and AMD64. No Git, Node installation or local build is needed. For Windows/macOS and remote setup of Map, OpenWeather and optional PIN, see Quick Start.

Upgrade

Device Power enabled? Follow the power upgrade instructions first.

cd ~/apps/pi-rain-radar
docker compose pull
docker compose up -d

Settings stay in the existing data volume. The first upgrade to 0.7.0 resets older-format history; later compatible upgrades preserve the new archive. Browsers running v0.1.2 or later reload automatically when the app version changes, after Settings is closed. See upgrades and migration for older source installs and version pinning. The latest channel currently includes pre-releases; upgrades happen only when you run these commands.

What you get

  • See what is there—and what is missing. Two, four or six hours of Live radar with adjustable playback speed and per-map detail in the availability popup. Provider gaps stay visible, and late observations fill their original positions.
  • RainViewer or Rainbow Weather — or both. Choose either provider for Main and Overview independently, so you can compare them or manually switch when one has problems.
  • Optional Rainbow rain and cloud layers. Usage depends on map geometry and enabled layers. Actual local counters and an optional request cap help track it; see setup, costs and limits.
  • Explore up to 24 hours of radar history. Scrub or replay a selected window from the local rolling archive (seven days by default, configurable), with optional provider labels. Archive playback shows the observations actually available and builds as the app runs.
  • Camera and historical weather. Collect one direct or Home Assistant camera snapshots at a configurable one-to-ten-minute interval. Replay it alongside saved readings and Rain forecast. Generic HA sensors can supply all ten source readings, with optional OpenWeather fallback. See setup.
  • Aviation weather. Raw METAR and TAF reports with code explanations, combined or separate widgets, and replay of reports as this installation acquired them.
  • One radar server, multiple displays. Each browser remembers its own buttons, layout and theme while sharing the same configured location and acquisition. Use it on your home network, optionally install it on phones and laptops or connect privately through Tailscale, and see the Android and Windows examples.
  • Playback that handles delays. Live can reuse earlier radar for less than 30 minutes and automatically pause while waiting for enough data to resume. Missing observations remain visible; Live and Archive rules explain the difference.
  • Coventry defaults, with location, map zoom and time zone configurable in Settings.
  • Optional six-digit settings PIN, managed in the UI, with host recovery.
  • Optional OpenWeather current temperature, feels-like, wind/gusts and minute precipitation forecast, using your own One Call 4.0 key.
  • Ten optional source readings plus derived T−Td (dew point depression): temperature, feels-like temperature, wind speed, wind gusts, wind direction, humidity, dew point, visibility, pressure and UV index—with global display defaults, per-screen overrides and wind-arrow choices.
  • Stats for nerds. An optional widget shows provider freshness, acquisition timing, missing frames, weather updates and local Rainbow API counters.
  • Subtle colour indicators show API health and data gaps without cluttering the screen; details are available in Settings and the log. See the illustrated indicator guide.
  • Optional host restart/shutdown from Settings, per-display UI lock and a small diagnostic log.
  • Light/dark themes and touch controls. Designed for 16:9 landscape displays and tested at 1280 × 720. Other screen shapes receive best-effort layout support.

Radar works out of the box without an API key. Overview and Rain forecast start closed.

Running costs

Start with RainViewer for radar and add the optional sources you need. OpenWeather offers 1,000 One Call 4.0 calls/day free, but its default 2,000-call limit permits charges; set your account limit deliberately. Rainbow advertises 30,000 Tiles API tiles/month free, then $0.20 per 1,000 tiles. These are separate account allowances, shared with any other apps using them. Checked 24 September 2026: OpenWeather, Rainbow.

My current setup uses RainViewer on the main map and three Rainbow layers: Overview rain and clouds on both maps. Rain and clouds on both maps would be four Rainbow layers. I still need to run through a full month before I know the actual cost; neither setup has a guaranteed monthly bill. See usage and limits. Storage duration likewise depends on retention, enabled layers and available space.

A feature-rich setup with no weather API bill

You can use most of the app without paying for weather data: choose RainViewer for both Main and Overview, add Rainbow clouds on one map, and enable OpenWeather readings plus Rain forecast. For one installation running continuously at the default Coventry map geometry:

  • Both radar maps: RainViewer needs no key or subscription. The app shares acquisition and paces requests at about 71/minute maximum, below RainViewer's published 100 requests/IP/minute limit. Other installations or apps on the same public IP share that limit. RainViewer limits.
  • One cloud layer: six tiles per new ten-minute frame works out to approximately 25,920–26,784 tiles in a 30–31-day month, below Rainbow's 30,000 free tiles/month. This is a steady-state estimate, not a billing guarantee: different map geometry, initial history loading, retries and other account usage add requests. Check snapshot billing in your account, watch the counters and use the app's request cap. Rainbow allowance.
  • Weather readings and minute rain forecasts together: two calls every ten minutes are about 288 calls/day, comfortably below OpenWeather's 1,000 free calls/day. Activate One Call 4.0 and set its account limit to 1,000/day rather than the chargeable default of 2,000. OpenWeather allowance and limit.
  • Sun/Moon, charts, replay and your local camera: local calculations and stored data add no weather API charges; a camera you already access locally needs no extra subscription from this app. Additional screens reuse the Pi's collected data.

With those allowances respected, the weather API bill can be £0/$0 while retaining radar, clouds, weather, forecasts, astronomy and camera playback. Your Pi/display, electricity, internet and any separately paid camera service are outside that estimate. I still need a full billing cycle to confirm real Rainbow usage.

Hardware recommendations

See the Raspberry Pi setup guide for assembly and installation.

Hardware, enclosure and touchscreen in use, with two finished-display photos stacked on the right

Documentation

Node.js 24, Sharp and plain browser JavaScript. The backend prepares map frames; the browser plays them over locally bundled maps. Settings and acquired data persist in a Docker volume. The supplied configuration serves port 3080 on the home LAN; an optional bind-address setting restricts it to loopback.

Licence and data

Pi Rain Radar is MIT-licensed. You may use, modify and redistribute the software, including commercially, while retaining the copyright and licence notice.

Weather data is subject to separate provider terms. RainViewer's public API is intended for personal, educational and small community use; commercial integrations must check terms with the provider. OpenWeather requires your own eligible subscription/key. See third-party notices.

Radar data may be delayed or incomplete. Areas without rain colouring may have no detected rain—or no available data.

Support

Tip

Questions about installation, the interface, troubleshooting or development? Give your AI this repository link and ask. The documentation covers beginners and developers; screen indicators explains the colours.

Inspiration

Inspired by Eric Lewin's Pi Weather Station. Pi Rain Radar is a new application, not a fork.

About

A self-contained Raspberry Pi and Docker rain radar display with animated observed rainfall, local history, outage-resilient playback and LAN multi-screen support.

Topics

Resources

Contributing

Stars

68 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages