Your weather station, made clear — live conditions, forecasts, alerts, radar, and history on every screen.
See the code![]()
Your weather station, made clear.
Stormdesk Lite is a fast, focused interface for current conditions, forecasts, warnings, and on-demand radar. Open Stormdesk Lite or read the design specification.

View the interface tour · View the mobile warning state
StormDesk brings your current weather, forecast, alerts, radar, and history together on one clean screen. Use it on a computer, wall tablet, phone, or another screen in your home.
It works with Tempest, Ecowitt, Ambient Weather, Davis, AcuRite, La Crosse, and many other personal weather stations. You can also use StormDesk without a weather station.
No StormDesk account. No subscription. No ads.
Download StormDesk · Visit the website · Get help

Interface preview from the current source. Station readings in these images are labeled demo data; radar comes from HookEcho. Downloaded releases may precede this redesign.
Open the latest release, then choose the file for your device.
| Your device | File to choose | What to do |
|---|---|---|
| Windows 10 or 11 | StormDesk_*_x64-setup.exe | Open the file and follow the installer. Allow access on private networks when Windows asks. |
| Mac | StormDesk_*_universal.dmg | Open the file, then drag StormDesk into Applications. |
| Ubuntu, Debian, or Linux Mint | StormDesk_*_amd64.deb | Double-click the file, or use the short command below. |
| Other 64-bit Linux computers | StormDesk_*_amd64.AppImage | Make the file runnable, then open it. See the short command below. |
| Raspberry Pi 4 or 5 | StormDesk_*_arm64.deb | Use a 64-bit Raspberry Pi system, then install it with the short command below. |
| Android or Fire tablet | StormDesk_v*.apk | Open the file and allow installation from your browser or Files app when asked. |
If a Mac says it cannot verify StormDesk, open System Settings → Privacy & Security and choose Open Anyway.
For the optional natural male voice (Kokoro Michael), install uv,
then run python3 scripts/install-natural-voice.py from this repository. Setup downloads about
350 MB once; speech then runs locally on the CPU without an account or cloud service. An installed
pw-play, paplay, or aplay provides audio playback. Restart StormDesk and use Enable / Test voice;
the setting shows Natural male voice · local when ready. The ordinary system voice remains available
on installations without the voice pack. If an installed voice pack fails, the app reports the error
instead of silently changing back to the robotic voice.
Spoken watches and warnings: open Settings → Basics → Sounds & notifications, enable Read warnings and watches aloud, then press Enable / Test voice. Keep the dashboard open. The status below the button explains blocked playback or missing voices; the test does not send push notifications.
The Linux app falls back to the local espeak-ng engine when browser speech cannot start.
Debian and Arch packages install it as a dependency. AppImage users should install espeak-ng
with their package manager (for example, sudo apt install espeak-ng or sudo pacman -S espeak-ng).
Browser mode uses the browser's speech engine and may require a system voice and an initial tap.
On Linux, browser speech may also require speech-dispatcher and espeak-ng; restart the browser
after installing them. An embedded browser without speech support reports an error instead of
claiming an announcement played; use the Linux app's native fallback in that case.
Warnings and watches bypass quiet hours just as official alert notifications already do; routine
advisories stay silent. Closed-app and locked-phone announcements are not supported.
For Ubuntu, Debian, or Linux Mint:
sudo apt install ./StormDesk_*_amd64.deb
For a 64-bit Raspberry Pi:
sudo apt install ./StormDesk_*_arm64.deb
For the AppImage:
chmod +x StormDesk_*_amd64.AppImage
./StormDesk_*_amd64.AppImage
To build a local AppImage from source, run bash scripts/build-appimage.sh with Docker
running. It builds in Ubuntu 22.04, matching the release workflow and avoiding Arch's
newer GTK loader layout and incompatible bundled strip tool. The unsigned preview is
written to src-tauri/target/appimage-ubuntu/release/bundle/appimage/. Build caches stay
under ~/.cache/stormdesk-appimage; no host packages are changed. Published, signed
updater artifacts still come from the GitHub release workflow.
If the AppImage opens a blank window, use browser mode:
./StormDesk_*_amd64.AppImage --browser
The easiest option is to run StormDesk on another computer in your home, then open the address
shown by StormDesk in the Chromebook browser. If Linux is enabled on your Chromebook, you can also
download the AppImage and run it with --browser.
Tempest owners need a personal-use token from tempestwx.com → Settings → Data Authorizations. StormDesk can find the stations connected to that token, so you do not need to hunt for sensor numbers.
Other supported stations send readings directly from your home network. StormDesk shows the exact address to enter in your station's app or console.
Don't own a weather station? Choose Skip — just show me the weather somewhere, then search for your town or postcode.
The desktop app shows an address such as http://192.168.1.20:8088 in its window title. Open that
address on another device connected to the same Wi-Fi. Leave StormDesk running on the main
computer so the other screens can reach it.
Use the address ending in /public for a read-only screen that cannot change settings.
Recorded on a Samsung Galaxy S24 Ultra. Watch both phone demos.

| Storm watch | Weather timeline |
|---|---|
![]() | ![]() |
| Local signals | Weather history |
|---|---|
![]() | ![]() |


rtl_433Brand-by-brand instructions are in the technical guide.
Open Settings → Diagnostics or the Health Center. StormDesk checks your station, forecast, alerts, radar, saved history, and other connections. Copy support report creates a safe report you can paste into a GitHub issue without including passwords, tokens, or your location.
Common fixes:
--browser.If you are still stuck, report a problem and include the support report.
The technical guide covers Docker, Home Assistant, MQTT, alert services, read-only sharing, station upload formats, building from source, data sources, testing, and troubleshooting.
StormDesk stores its settings and weather history on your own computer. It has no user accounts, ads, or app tracking. Forecast and alert providers receive only the information needed to return weather for your area.
The regular home-network dashboard is meant for people you trust. Use /public for guests or any
screen that should not see or change private settings.
StormDesk is free and open source under the MIT License.
JavaScript
47.2%
Rust
25.4%
HTML
21.3%
CSS
4.3%
Your weather station, made clear — live conditions, forecasts, alerts, radar, and history on every screen.
See the code![]()
Your weather station, made clear.
Stormdesk Lite is a fast, focused interface for current conditions, forecasts, warnings, and on-demand radar. Open Stormdesk Lite or read the design specification.

View the interface tour · View the mobile warning state
StormDesk brings your current weather, forecast, alerts, radar, and history together on one clean screen. Use it on a computer, wall tablet, phone, or another screen in your home.
It works with Tempest, Ecowitt, Ambient Weather, Davis, AcuRite, La Crosse, and many other personal weather stations. You can also use StormDesk without a weather station.
No StormDesk account. No subscription. No ads.
Download StormDesk · Visit the website · Get help

Interface preview from the current source. Station readings in these images are labeled demo data; radar comes from HookEcho. Downloaded releases may precede this redesign.
Open the latest release, then choose the file for your device.
| Your device | File to choose | What to do |
|---|---|---|
| Windows 10 or 11 | StormDesk_*_x64-setup.exe | Open the file and follow the installer. Allow access on private networks when Windows asks. |
| Mac | StormDesk_*_universal.dmg | Open the file, then drag StormDesk into Applications. |
| Ubuntu, Debian, or Linux Mint | StormDesk_*_amd64.deb | Double-click the file, or use the short command below. |
| Other 64-bit Linux computers | StormDesk_*_amd64.AppImage | Make the file runnable, then open it. See the short command below. |
| Raspberry Pi 4 or 5 | StormDesk_*_arm64.deb | Use a 64-bit Raspberry Pi system, then install it with the short command below. |
| Android or Fire tablet | StormDesk_v*.apk | Open the file and allow installation from your browser or Files app when asked. |
If a Mac says it cannot verify StormDesk, open System Settings → Privacy & Security and choose Open Anyway.
For the optional natural male voice (Kokoro Michael), install uv,
then run python3 scripts/install-natural-voice.py from this repository. Setup downloads about
350 MB once; speech then runs locally on the CPU without an account or cloud service. An installed
pw-play, paplay, or aplay provides audio playback. Restart StormDesk and use Enable / Test voice;
the setting shows Natural male voice · local when ready. The ordinary system voice remains available
on installations without the voice pack. If an installed voice pack fails, the app reports the error
instead of silently changing back to the robotic voice.
Spoken watches and warnings: open Settings → Basics → Sounds & notifications, enable Read warnings and watches aloud, then press Enable / Test voice. Keep the dashboard open. The status below the button explains blocked playback or missing voices; the test does not send push notifications.
The Linux app falls back to the local espeak-ng engine when browser speech cannot start.
Debian and Arch packages install it as a dependency. AppImage users should install espeak-ng
with their package manager (for example, sudo apt install espeak-ng or sudo pacman -S espeak-ng).
Browser mode uses the browser's speech engine and may require a system voice and an initial tap.
On Linux, browser speech may also require speech-dispatcher and espeak-ng; restart the browser
after installing them. An embedded browser without speech support reports an error instead of
claiming an announcement played; use the Linux app's native fallback in that case.
Warnings and watches bypass quiet hours just as official alert notifications already do; routine
advisories stay silent. Closed-app and locked-phone announcements are not supported.
For Ubuntu, Debian, or Linux Mint:
sudo apt install ./StormDesk_*_amd64.deb
For a 64-bit Raspberry Pi:
sudo apt install ./StormDesk_*_arm64.deb
For the AppImage:
chmod +x StormDesk_*_amd64.AppImage
./StormDesk_*_amd64.AppImage
To build a local AppImage from source, run bash scripts/build-appimage.sh with Docker
running. It builds in Ubuntu 22.04, matching the release workflow and avoiding Arch's
newer GTK loader layout and incompatible bundled strip tool. The unsigned preview is
written to src-tauri/target/appimage-ubuntu/release/bundle/appimage/. Build caches stay
under ~/.cache/stormdesk-appimage; no host packages are changed. Published, signed
updater artifacts still come from the GitHub release workflow.
If the AppImage opens a blank window, use browser mode:
./StormDesk_*_amd64.AppImage --browser
The easiest option is to run StormDesk on another computer in your home, then open the address
shown by StormDesk in the Chromebook browser. If Linux is enabled on your Chromebook, you can also
download the AppImage and run it with --browser.
Tempest owners need a personal-use token from tempestwx.com → Settings → Data Authorizations. StormDesk can find the stations connected to that token, so you do not need to hunt for sensor numbers.
Other supported stations send readings directly from your home network. StormDesk shows the exact address to enter in your station's app or console.
Don't own a weather station? Choose Skip — just show me the weather somewhere, then search for your town or postcode.
The desktop app shows an address such as http://192.168.1.20:8088 in its window title. Open that
address on another device connected to the same Wi-Fi. Leave StormDesk running on the main
computer so the other screens can reach it.
Use the address ending in /public for a read-only screen that cannot change settings.
Recorded on a Samsung Galaxy S24 Ultra. Watch both phone demos.

| Storm watch | Weather timeline |
|---|---|
![]() | ![]() |
| Local signals | Weather history |
|---|---|
![]() | ![]() |


rtl_433Brand-by-brand instructions are in the technical guide.
Open Settings → Diagnostics or the Health Center. StormDesk checks your station, forecast, alerts, radar, saved history, and other connections. Copy support report creates a safe report you can paste into a GitHub issue without including passwords, tokens, or your location.
Common fixes:
--browser.If you are still stuck, report a problem and include the support report.
The technical guide covers Docker, Home Assistant, MQTT, alert services, read-only sharing, station upload formats, building from source, data sources, testing, and troubleshooting.
StormDesk stores its settings and weather history on your own computer. It has no user accounts, ads, or app tracking. Forecast and alert providers receive only the information needed to return weather for your area.
The regular home-network dashboard is meant for people you trust. Use /public for guests or any
screen that should not see or change private settings.
StormDesk is free and open source under the MIT License.
JavaScript
47.2%
Rust
25.4%
HTML
21.3%
CSS
4.3%