Skip to content

katalyst88/watchapps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

163 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Watch apps

Development environment for Garmin Connect IQ apps (watch apps, watch faces, data fields, widgets) written in Monkey C.

Environment status (verified 2026-06-14)

Piece Status
VS Code ✅ installed
Java ✅ 25.0.1 (Monkey C compiler is Java-based)
Monkey C VS Code extension garmin.monkey-c 1.1.3 (latest)
Connect IQ SDK ⚠️ 8.4.0 installed — 9.2.0 is current (see "Updating the SDK")
Device simulators ✅ many devices downloaded
Developer key developer_key.der generated (signs your builds)
First build HelloWatch compiles to a .prg

The developer_key.der is your publisher identity — keep it safe, back it up, and never commit it (it's in .gitignore). If you lose it you can't push updates to apps you already published under it.

Layout

WatchApps/
├─ developer_key.der / .pem   # signing key (gitignored)
├─ build.ps1                  # build / run / package helper
├─ .vscode/settings.json      # points the extension at the dev key
└─ HelloWatch/                # starter watch-app (shows time + a MENU)
   ├─ manifest.xml            # app id, type, target devices, min API level
   ├─ monkey.jungle           # build config
   ├─ resources/              # strings, layouts, menus, drawables (icon)
   └─ source/*.mc             # Monkey C code

Build & run

In VS Code (recommended): open the WatchApps folder, open a .mc file, press F5 (or Ctrl+Shift+P → "Monkey C: Build for Device" / "Run App"). First run asks you to pick a device — that launches the simulator.

From a terminal:

.\build.ps1 HelloWatch -Run            # build for fenix7 + open simulator
.\build.ps1 HelloWatch -Device venu3   # build for another device
.\build.ps1 HelloWatch -Package        # release .iq for the store

Create another app

Easiest: Ctrl+Shift+P → "Monkey C: New Project" in VS Code — it scaffolds a new folder (watch-app / watch face / data field / widget). Or copy HelloWatch/, then change the id in manifest.xml to a fresh GUID ([guid]::NewGuid().ToString('N') in PowerShell) and rename the entry class.

Updating the SDK

The SDK can only be updated through the Connect IQ SDK Manager (it needs a Garmin login), not from the CLI:

  1. Launch the Connect IQ SDK Manager (installed under %APPDATA%\Garmin\ConnectIQ).
  2. Sign in → SDK tab → download 9.2.0 → set it active.
  3. In the Devices tab, grab simulators for any new targets you care about.

The extension auto-updates with VS Code; it's already current.

Publishing to the Connect IQ Store

  1. Create a free Garmin developer account and sign in at https://apps.garmin.com/developer.
  2. Produce a signed package: .\build.ps1 <Project> -Packagebin/<Project>.iq (this is an all-devices, release build, signed with developer_key.der).
  3. On the developer dashboard: Upload an App → upload the .iq, add name, description, screenshots, category, and supported languages.
  4. Submit for review. Free apps go live after Garmin's automated/manual review.

Always publish updates with the same developer_key.der — Garmin ties an app's identity to the key it was first signed with.

Charging for apps (monetization)

Garmin enabled paid apps in the Connect IQ Store (payments run through Garmin Pay). To sell an app you must become a verified merchant:

  • $100/year non-refundable developer program fee to be onboarded as a merchant.
  • You must be a verified trader before a priced app will appear in the store.
  • Suggested price starts at $4.99 (you pick from Garmin's price points).
  • Revenue split: Garmin keeps ~15% of the tax-exclusive price and covers credit-card fees; digital-service taxes / FX are withheld from payouts.
  • Setting a price on an already-approved app pulls it for re-review before it relists.
  • Common pattern: ship a free trial / limited version and unlock the full app on purchase.

Start here, signed in with your developer account:

Useful links

About

WatchWalks monorepo - phone, Wear OS, Garmin, iOS, trail tooling

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors