Shot Clock for Garmin

Shot Clock 2.0 — Release Notes

Everything below is new since your last update. Features previously limited to a private beta group are now available to everyone.

What's new

Most significant first.

Which watches get what

DOPE Cards, Notes, and Portal need a watch with a modern (vector) font renderer. They're not available on: Approach S50, Descent G2, fēnix 6 Pro / 6S Pro / 6X Pro, Forerunner 255 (all four variants), Instinct 3 AMOLED (45mm and 50mm), Venu Sq 2 / Sq 2 Music, and vívoactive 4 / 4S / 5. Every other supported watch gets the full set. Target Timer works on every supported watch, including the ones listed above.

Also improved

Renamed


Full changelog (v2.0)

The complete list of changes in 2.0. The summary above covers the significant ones.

DOPE Cards
  • Brand-new DOPE Card view: a four-quadrant layout (distance, elevation, windage, plus a live timer badge), drawn over new artwork with the current time at the top and the card name along the bottom, and text that resizes to fill the available space.
  • Each entry has its own target symbol (circle, square, diamond, triangle, hexagon, IPSC, or rectangle) and colour, from a fixed 9-colour palette, shown in Stage View. Distance is shown with the unit spelled out in full ("meters"/"yards") in teal (metric) or amber (imperial) text.
  • Each card supports up to 5 named wind brackets (defaulting to 5mph / 10mph / Full), with a windage value stored per entry per bracket.
  • Two display modes: Focus View (one entry at a time) and Stage View (up to 5 entries at once — the default view for new installs), with swipe or Menu to change the active wind bracket (wraps around at the ends).
  • Cards can be sorted by list order or by distance.
  • Up to 25 cards and 200 entries total across all your cards.
  • Reachable by double-tapping the lower-left button, or swiping left, from the watch face or an active timer, or from the Settings menu.
  • A brief green/red flash confirms a timer start/stop from the DOPE Card view — added specifically so a gesture start (which has no button click to feel) still gives you feedback.
  • Full watch-side edit-session flow via Portal: request a 6-digit code, edit on the website, sync changes back to the watch.
  • Cards will also be creatable and editable on the iPhone/Android companion apps, due shortly, and syncable straight to the watch.
  • Card and entry data now uses a single format shared identically across watch, iOS, and Android, so a card looks and behaves the same everywhere.
  • Fixed: a gesture start from the DOPE Card view could flash "started" without the timer actually starting.
  • Fixed: the DOPE Card timer ignored your Count Direction setting (count-up users saw a count-down).
  • Fixed: the progress ring around the timer disappeared after manually stopping the timer from the DOPE Card view.
  • Fixed several back-navigation glitches: a stray flash of the match timer when backing out after time expired, dropping straight to the watch face after a manual stop, and the back stack growing unbounded if you switched between the timer and the card repeatedly.
  • The progress ring around the timer now updates smoothly instead of once a second.
  • Fixed the gesture detector occasionally going silent on the DOPE Card view after sitting idle, previously requiring a trip back to the watch face to recover.
  • Fixed inconsistent swipe/button behaviour opening and reordering cards; the Portal sync code is now shown in the same blue used everywhere else.
  • On watches that don't support DOPE Cards/Notes/Portal, those rows are hidden from the menu entirely instead of appearing and crashing when tapped.
  • DOPE Card screens are available in German, Swedish, and Romanian, alongside English (AI-translated; not yet reviewed by a native speaker).
Custom time sequences & Garmin Connect settings
  • Custom time sequences now reject invalid alert times when entered in Garmin Connect: an alert can no longer equal or exceed its own phase's length, can no longer be negative, and can no longer be attached to a zero-length pause phase.
  • The "Centrefire/Sport" match is renamed "Centrefire/25m Pistol".
  • Removed the deprecated 300-second ISSF Centrefire course of fire, replaced by the new 240-second version under the 2026 ISSF rule change. If your saved sequence pointed at the old one, it now moves to a valid replacement.
  • Default-enabled matches for new installs changed: ISSF Standard Pistol, ISSF Centrefire/25m Pistol, PA Service 25, and Custom Time #1 are now on by default; WA48 and WA60 are now off.
  • The Custom Times section moved from the top to the bottom of the Garmin Connect settings page, and the whole page is now grouped by match family; WA1500 (12/20/35/90/165s) now has its own group alongside WA60.
  • Fixed a fresh-install bug where every match could end up disabled, leaving only the default GP Timer visible.
  • Fixed a crash when a match family name containing a space or slash (e.g. "Precision Rifle") was synced from the phone.
  • Fixed match-family enable/disable changes synced from your phone not taking effect until the app was restarted.
Notes
  • New feature: a notes list and reader on the watch, reachable from the Settings menu, with a live "N notes" count and an "Edit Notes" entry pointing at shotclock.au/portal.
  • 5 fixed font sizes (14-32px) plus an auto-size option, picked with a single button press while reading; your chosen size is remembered even if you switch watches.
  • The note body word-wraps to fit the screen, with an arc-shaped scrollbar and a page indicator; scrolling past the end of one note moves you to the next.
  • Up to 20 notes, 20-character titles, and 250-character bodies.
Portal
  • New shared sync flow (6-digit code) covers DOPE Cards, Notes, and custom time sequences from one consistent experience, with a progress bar while requesting a code and while checking for updates.
  • The watch now opens the Portal page on your paired phone automatically, with your code already filled in, instead of asking you to type a web address.
  • Renamed from "Web Editor" to "Portal", including a standalone "Open Portal" menu entry not tied to any one feature.
  • A clearer error screen now appears if the connection fails, instead of inline status text.
Target Timer
  • New feature: connect your watch directly to a Target Timer over Bluetooth Low Energy — no phone required. Start, stop, and reset the box in step with your watch's own countdown, and push your current time sequence to it whenever you change sequences.
  • Adds a new Bluetooth permission to the app, used only for this feature.
  • New Settings menu item under Other Systems, always visible, with live connection status shown as its sub-label; opens a box picker and a setup screen with an Enabled toggle and a Connect/Disconnect action.
  • Arming. A connected Target Timer will not move a thing until you arm the watch — double-tap the Back button, and a banner across the middle of the screen tells you it is live. Arming lasts for exactly one run and clears itself the moment the sequence starts, so a second run needs a second deliberate act. It also clears if you disarm, change sequence, or lose the connection. A watch in your pocket cannot turn a target.
  • Reconnecting. Once you have connected to a Target Timer, choosing Connect again offers that unit by name and takes it the moment it comes into range, with no picker to work through. If it drops out — you walked down to the firing line, or it lost power — the watch quietly reconnects by itself for up to five minutes. After that it is a manual reconnect again, because nobody should be silently rejoining the box they used last week. This is only safe because of arming above: a reconnected watch holds a live link and still cannot move anything until you say so.
  • The connect screen narrates each stage (Scanning / Connecting / Subscribing / Authorising) with a progress bar.
  • A small connection-status icon on the watch face shows whether you're connected (blue) or enabled but not connected (grey); hidden entirely when the feature is off.
  • Start timing is compensated for Bluetooth latency, so the box and your watch stay in step. When the watch is armed — meaning it is the thing starting the string, and your shooters are reacting to the targets turning rather than to a beep they cannot hear — the gesture-roll compensation is deliberately switched off, so everyone gets the full time the sequence promised instead of a second or two less.
  • Fixed: back-to-back commands sent to the box could be silently dropped; they're now queued and sent in order.
  • Fixed: after a sequence completed on its own, the watch could get stuck thinking the box was still running and ignore your next Start.
  • Fixed: a sequence finishing naturally used to send the box an abort signal and freeze it mid-turn, instead of letting it finish its own return cycle.
  • Fixed: the Connect action inside the setup screen stayed selectable while the feature was turned off, leading to a "Scanning…" screen that hung forever — it's now hidden while disabled.
Gestures, touch and navigation
  • Substantially reworked wrist-roll gesture detection: more reliable double-roll recognition, far fewer false positives, and accurate timing across different wrist orientations. Several distinct, real bugs were found and fixed along the way, including detections that could span several minutes instead of resetting promptly, and a timing error that silently doubled how gesture timing was measured.
  • A gesture-started timer's first tick is now shortened by the actual measured duration of your wrist roll, so the clock doesn't start late.
  • Fixed a rare crash/stall the first time the motion sensor reported data after being re-armed.
  • Gesture detection now pauses while the timer is running and only re-arms after a full reset, so it can no longer accidentally restart a running timer.
  • More responsive double-tap detection: taps that arrive while you're actively scrolling act immediately instead of waiting out the usual double-tap window, and the window itself is shorter.
  • The Back button and the lower-left button now track double-taps independently, so a tap on one can no longer combine with a tap on the other to trigger a false double-tap.
  • Touch input can now be turned off entirely as a Settings toggle (the Touch Guard option hides itself automatically when touch is off), for anyone who prefers buttons only.
  • Swipe left opens DOPE Cards and swipe right goes back, on both the watch face and the active timer view.
  • More consistent behaviour between physical buttons and touch swipes when navigating between sequences and DOPE Card entries.
Timer & display
  • The progress ring ("time slice") now animates smoothly, several times a second, on both the match timer and DOPE Card views, instead of jumping once a second.
  • Fixed a bug where a sequence whose lowest alert was 10 seconds or less could skip drawing part of the progress ring or show a phantom segment.
  • The screen backlight ramp (introduced last cycle) now also works from the DOPE Card view, not just the match timer.
Alerts and backlight
  • Alert vibration patterns for start, stop, and progress alerts are now distinct from each other and lengthened for better perceptibility, especially on watches with weaker vibration motors.
  • Fixed intermediate alerts not firing during a session — previously only the very first one reliably did.
  • Fixed the stop alert incorrectly firing on every Plus Mode phase transition instead of only when a sequence genuinely finishes; the correct start alert now fires on that transition instead.
  • The start alert is delayed very slightly so your watch's own button-press vibration doesn't swallow it.
  • Reworked backlight behaviour on AMOLED watches. Previously the backlight only snapped fully on for a moment at each alert. Now, for the whole time the timer is running, the screen stays lit continuously at a low, battery-friendly brightness rather than going dark between events — and it ramps smoothly up to full brightness in a window around session start, session end, and every alert, so the screen is at its brightest exactly when you're glancing at it for a transition. Short sessions (10 seconds or less) just stay fully lit throughout, since there's no benefit to dimming for that long.
  • Fixed a crash in the background service related to vibration setup.
Activity recording
  • Each timer start now creates a lap in your Garmin Connect activity, so you can review per-string time and heart-rate detail after your session, not just the overall summary.
  • New fields recorded: String Number, Preset Time, and Time Remaining per lap; Strings Fired, Active Timer Time, and Sequences Completed per session.
  • Activity type changed from a generic Walking activity to a proper Generic/Match sub-sport.
  • GPS location capture now works the same on every device (previously limited on some builds).
  • Fixed a crash if the activity recording session failed to start.
Backup & Restore
  • Now covers DOPE Cards and Notes, not just custom time sequences.
  • Fixed several crashes that could occur while restoring a backup, including one where restoring from a server response in an unexpected format could crash the watch.
  • A separate, phone-local Backup & Restore (export/import a file) comes with the iPhone/Android companion apps when they land.
Statistics
  • Added an Estimated Runtime figure, showing how much battery life you have left based on your own usage history.
  • Shortened the "Av Batt Used/Hr" label to "Av Batt/H".
  • Fixed Statistics text getting cut off or overlapping on some watch models.
App icon & settings menu
  • New app icon on the watch face and app list.
  • The About screen's device-ID display no longer overflows or clips on round-screen watches; its developer contact link now points to shotclock.au.
  • Settings menu reorganised with new rows: View DOPE Card, View Notes, Open Portal, Target Timer, and Touch Screen.
  • Settings menu then grouped, because those additions had taken it to a flat list of nineteen items. Select Matches, View DOPE Card and View Notes stay at the top level; everything else moved behind Controls (Use Gestures, Touch Screen, Touch Guard, Plus Mode), Display & Alerts (Time Slice, Count Direction, Display Timer In, Sound, Vibration, Use Haptics), Other Systems (Target Timer, Open Portal, Track Activity) and More (Manage Customisations, Stats, About).
Phone companion apps
  • Companion apps for iPhone and Android, due for release shortly, with direct phone-to-watch sync over Bluetooth (no server round-trip needed) covering DOPE Cards, Notes, custom time sequences, and per-match/ per-family enabled state.
  • Per-match enabled/disabled state can now be synced from your phone, not just per-family.
  • Apple Watch sync is also supported.
Stability and other fixes
  • Fixed a family of crashes related to opening the DOPE Card menu, the Plus Mode menu, or returning from a server sync.
  • Fixed a crash opening DOPE Card settings before any card had been selected.
  • Fixed a crash when the app resumed after being interrupted by the watch itself (for example, a music-player notification).
  • Fixed a device-specific build issue that would have prevented the app shipping to the fēnix 6S Pro at all.
  • A settings toggle (specifically, match-family show/hide flags set via Portal) could fail to save correctly after a sync — fixed.
  • A device could get stuck on the trial screen even after being fully unlocked — fixed.
  • Improved handling of background sync and Garmin Connect communication, including fixing a couple of background-service startup crashes.
  • Continued internal stability and reliability improvements throughout the cycle.
Premium features: beta to General Availability
  • DOPE Cards, Notes, Portal, and Target Timer were introduced through a private beta program earlier in this cycle.
  • At 2.0, that beta program has ended — every one of these features is now available to everyone on a supported device (see "Which watches get what" above), with no separate unlock or sign-up required.