explaingit

sparkmike77/garmin

Analysis updated 2026-05-18

1Monkey CAudience · developerComplexity · 3/5Setup · hard

TLDR

Two Garmin Connect IQ projects for the Venu 2 watch, a data-rich watch face and a Home Assistant control app, that talk to your smart home over Bluetooth.

Mindmap

mindmap
  root((Garmin Venu 2 apps))
    What it does
      24 hour watch face
      Home Assistant control app
      Bluetooth relay via phone
    Tech stack
      Monkey C
      Connect IQ SDK
      Home Assistant
    Use cases
      View health and weather stats
      Control garage door and lights
      Sign and deploy Connect IQ apps
    Audience
      Garmin Venu 2 owners
      Home Assistant users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

See heart rate, steps, weather, and Home Assistant status on a Garmin Venu 2 watch face.

USE CASE 2

Open a garage door or toggle lights from your wrist using the Venu 2 control app.

USE CASE 3

Learn how to sign and deploy a Connect IQ app with your own developer key.

What is it built with?

Monkey CConnect IQ SDKHome AssistantVS Code

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires generating a personal Connect IQ signing key and a Home Assistant long-lived access token before building.

In plain English

This repository holds two small projects for the Garmin Venu 2 smartwatch, both written in Monkey C, the programming language used for Garmin's Connect IQ apps. One is a watch face, and the other is a standalone app, and both let the watch talk to a Home Assistant smart home setup. The watch face shows a 24 hour clock along with heart rate, step count, stairs climbed, weather, a compass, battery level, the date, and a small indicator showing whether your Home Assistant server is currently reachable. The second project, the App, is a separate tool for actively controlling smart home devices from your wrist, such as opening a garage door or turning lights on and off. Since the Venu 2 has no wifi of its own, both projects communicate with Home Assistant's REST API by relaying through your phone's Bluetooth connection to the Garmin Connect Mobile app. Setting this up takes a few manual steps. You need Visual Studio Code with the Monkey C extension, the Connect IQ SDK with the Venu 2 device image installed, and Java 8 or newer. You also generate your own personal developer signing key, since Garmin requires every app to be signed and the repository does not include one. From Home Assistant, you create a long lived access token and note your instance's base URL, then for the App project specifically, you look up the entity IDs of the devices you want to control, like a garage door cover or a light. Each project ships a settings template file that you copy and fill in with your Home Assistant URL, token, and any entity IDs, keeping your personal credentials out of the shared code. Once configured, you build and run the project from VS Code, either in the simulator or by loading it onto a physical watch, including a documented workaround for copying files to the Venu 2 over USB on Windows, since the watch shows up as a media device rather than a normal drive. The README is explicit that developer keys and settings files should never be committed to the repository, and that any accidentally leaked token or key should be rotated immediately, since removing it from a later commit does not erase it from git history.

Copy-paste prompts

Prompt 1
Walk me through generating a Connect IQ developer key and pointing VS Code at it.
Prompt 2
Show me how to fill in settings.xml with my Home Assistant URL, token, and entity IDs.
Prompt 3
Explain how the Venu 2 talks to Home Assistant without wifi of its own.
Prompt 4
Help me install a built .prg file onto my Venu 2 over USB on Windows.

Frequently asked questions

What is garmin?

Two Garmin Connect IQ projects for the Venu 2 watch, a data-rich watch face and a Home Assistant control app, that talk to your smart home over Bluetooth.

What language is garmin written in?

Mainly Monkey C. The stack also includes Monkey C, Connect IQ SDK, Home Assistant.

How hard is garmin to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is garmin for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.