OpenIQ Devices
← Back

Surfer Watch

· v1.1.2
★★★★★ (6) ↓ 1,000 downloads 1 Free

About

Surfer Watch — a surfer-focused watch face for the Garmin Instinct series. Supported: Instinct 2, Instinct 2X Solar, Instinct 3 Solar 45/50mm. Two modes: Shore Mode for daily wear, Surf Mode for in-water use. All on one screen, no menus. No API keys required for weather (via Open-Meteo or Garmin) or swell data. StormGlass free key required for tide data. OpenWeatherMap 2.5 api key required for OWM weather source. SHORE MODE (default) • Next tide time, direction (high/low), and predicted height via StormGlass API • Weather condition with day/night icons and temperature • Wind direction arrow and speed (configurable: km/h, knots, mph, m/s) • Precipitation chance • Sunrise/sunset with next event time • Moon phase (16 phases, computed locally) • Heart rate with configurable arc gauge (stress, solar, body battery, or disabled) • Battery, notifications, Bluetooth connectivity • Custom clock font (switchable via settings) • Seconds on wrist raise (or always-on via setting) SURF MODE • Swell height, period, and direction from Open-Meteo Marine API (free, no key) • Tide curve graph with "now" marker • Configurable bottom view: swell or tide curve (set default, enable/disable wrist gesture toggle) • Interpolated current tide height in subscreen circle • Wind direction and speed for your surf spot • Water temperature: watch sensor or ocean surface (Open-Meteo Marine, hourly, works offline) • Configurable arc gauge (solar, stress, body battery, or disabled) • Sunrise/sunset for surf spot • Surf spot location: manual entry or one-tap GPS copy WEATHER SOURCES • Default: Garmin built-in weather (zero config, updates via phone) • Optional: Open-Meteo (no key needed, updates every 5 min, hourly wind forecast for surf mode offline use). Uses WMO weather codes which are model-based — may occasionally show "overcast" when it's actually raining. Precipitation probability is a forecast (chance of rain), not a real-time indicator. • Optional: OpenWeatherMap 2.5 (free, no credit card). Uses station observations for more accurate current conditions and the most granular weather icons (50+ conditions including smoke, haze, dust). Precipitation probability comes from Garmin built-in. SWELL + OCEAN TEMPERATURE • Open-Meteo Marine API — free, no key, no quota • 24-hour hourly forecast, advances automatically even offline SETUP • Weather and swell work immediately — no setup needed • For tide data: get a free StormGlass API key at stormglass.io • For surf mode: set your surf spot coordinates in settings • Enter keys in watch face settings via Garmin Connect app OPEN SOURCE Free, no PRO version, no ads. Full source code, specs, and documentation: https://github.com/leomnovaes/surfer-watch-face-garmin Built by a surfer for his own wrist, spec-driven with AI assistance.

What's new

# Changelog ## v1.1.2 ### Fixed - Temperature now correctly displays in Fahrenheit when set to imperial (was showing Celsius value with "°F" suffix) - Temperature, tide height, and swell height now each respect their own unit setting (temperature, elevation, distance can be configured independently) - Mixed unit configurations now work correctly (e.g., distance in miles + temperature in Celsius + elevation in meters) ## v1.1.1 ### Fixed - Weather/wind/sunrise data no longer goes "--" on settings changes (all fields now persisted to Storage) - Black flash on first render removed (lazy init no longer skips first frame) - `onPartialUpdate` clip region cleared properly (fixes frozen display when AlwaysShowSeconds is on) ### Improved - Font glyph trimming: removed unused glyphs from crystal icons (17→3), seg34 icons (22→1), moon icons (28→16). Saves ~1.9KB runtime memory. - Peak memory reduced from 59.7KB to 58.0KB (1.8KB headroom) ## v1.1.0 ### New Features - **Always Show Seconds** — keep seconds visible in low-power mode. Off by default to save battery. - **Configurable Arc Gauge** — choose what the arc displays per mode: Stress, Solar Intensity, Body Battery, or Disabled. - **Surf Bottom View Configuration** — choose default bottom section (Swell or Tide Curve) and enable/disable wrist gesture toggle. ### Improved - Sunrise/sunset accuracy upgraded to ±1 minute (SunCalc algorithm) - Architecture refactored to Crystal Face pattern for better memory efficiency - GPS and moon phase moved from per-tick to event-driven - Weather glyph mappers consolidated into single function - Storage keys shortened, version gating prevents stale data on updates - Dead code and unused resources removed ### Changed - Removed Home Latitude / Home Longitude settings (GPS from watch is sufficient) ## v1.0.2 ### Fixed - Wind and swell arrows now correctly point in the TRAVEL direction - Precipitation probability consistent across all weather sources - Switching weather source clears stale data ### Changed - Surf mode temperature shows 1 decimal place - Ocean surface temperature option added (Open-Meteo Marine) - Settings reordered for better UX - Launcher icon updated to 62x62 PNG ## v1.0.0 Initial public release of Surfer Watch. ### Features - Shore Mode: time, date, battery, HR, stress arc, tide, sunrise/sunset, weather, wind, precipitation, moon phase, notifications, Bluetooth - Surf Mode: swell, tide curve, interpolated tide height, wind, water temperature, solar arc, surf sunrise/sunset - Weather Sources: Garmin built-in, Open-Meteo (no key), OpenWeatherMap 2.5 - Tide data via StormGlass API with backup key support - Swell + ocean temperature via Open-Meteo Marine API (free) - Double wrist gesture toggles surf bottom view - Custom clock font (Saira Condensed / Rajdhani) - Supported: Instinct 2, Instinct 2X Solar, Instinct 3 Solar 45/50mm

Permissions

CommunicationsPositioningBackgroundSensorHistory

Details

Compatible with 4 devices
Updated May 31, 2026
Developer website ↗
Open on apps.garmin.com ↗