Orbit for Lucid: a Garmin watch app for your Lucid (early alpha, DIY install)

doubletwist

Active Member

Verified Owner
Supporting Member
Joined
Mar 8, 2025
Messages
804
Reaction score
1,071
Cars
Lucid Air Touring
Referral Code
KFO3YAHA
I got tired of pulling out my phone to check the charge or unlock the car, so I've started builing a Garmin watch app for the Lucid. It's called Orbit for Lucid, it's free and open source, and I'm sharing it in case other Garmin owners want it. It's an early alpha that I've only run on my own setup, and installing it is a do-it-yourself job (see Shortcomings).

How it works: a Garmin watch can't talk to Lucid by itself, so there's a small Android companion app. The watch talks over Bluetooth (via Garmin Connect) to the phone app, and the phone app talks to Lucid's cloud the same way Lucid's own app does. There's no Orbit server and no account with me. You log in once in the phone app, and only a refresh token is kept, encrypted on the phone. The watch never holds credentials.

What works today (on my Venu 3):

  • Main screen: charge as a ring and big number, cabin and outside temperature (85°/87°), padlock, plug or charging bolt, climate-on icon, and how old the car's data is.
  • Glance: charge and lock state in the watch carousel, without opening the app.
  • Lock, unlock, climate on/off at a temperature you pick (in the watch's °F or °C), and refresh. Unlock and climate ask for a confirm tap. Lock doesn't.
  • Wakes a sleeping car before sending a command.
  • Stays current: every 5 minutes, while the watch is connected, the phone fetches status and sends it to the watch, even with the app closed. It never wakes the car, and a switch in the phone app turns it off.
On the roadmap (tracked as GitHub issues, roughly in this order):

  • A read-only details screen: tire pressure, windows, battery health, min/max cell temperature.
  • Frunk and trunk open/close (with a confirm tap), on a second page of actions.
  • Battery preconditioning, seat and steering wheel heat, max defrost and max A/C.
  • AC charging current limit.
  • Later, if there's interest: other Garmin models, multi-vehicle accounts, and a watch face.
Shortcomings, honestly:

  • Unofficial. It uses Lucid's undocumented API, which can change or stop working at any time. It isn't affiliated with Lucid or Garmin, and Lucid's connectivity terms are strict about this kind of thing, so use it on your own account at your own risk. The 5 minute status check also shows up as extra requests from your account (the switch turns it off).
  • Narrow support: tested only with a Pixel phone, a Venu 3, and one US Lucid. Other Garmin models compile but are untested. One vehicle only. Android only, no iPhone.
  • No download. You build both apps yourself (Android Studio plus Garmin's free Connect IQ SDK) and sideload them. The INSTALL.md walks through it, but it isn't easy. I'd rather you could read the code than trust a binary that handles your Lucid login.
  • Slow and sometimes laggy. Unlock from a sleeping car took about 13 seconds in my test, but Lucid's cloud varies a lot. After a command the app keeps checking for about 105 seconds, then says "no confirmation yet" (it may still have worked).
  • A permanent notification on the phone, because Android needs a small service running for the watch to reach it.
  • Battery impact isn't measured yet. I'm running that test now and will post numbers.
  • Written with a lot of AI help by someone who isn't a professional programmer, and it hasn't had an outside code review. Be sensible about a button that can unlock your car.
Screenshots are attached. Code, README and the full details: https://github.com/doubletwist13/orbit-for-lucid

Testers with other Garmin watches (fenix 7, Venu 3S, Forerunner) or a second Lucid on the account would help most. Bug reports and ideas are welcome here or as GitHub issues.

SPECIAL THANKS:
watch-main.webp
watch-actions.webp
watch-lock.webp
watch-climate.webp
watch-glance.webp
phone.webp
 
w00t! Nice work. Thank you for taking the time, same to those involved in creating that api. it is pretty cool.
 
Orbit for Lucid: update (v0.2.2)

A quick update since the first post (v0.1.0). Orbit is still alpha and still works end to end on just one setup: a Pixel 10 Pro, a Garmin Venu 3 and one Lucid.

What's new

  • A redesigned watch screen. The main screen is a ring that fills with your charge, a big percentage, the cabin and outside temperature, and small icons for locked, plugged in, charging and climate on. Lock, climate and refresh are big tap targets (or the side buttons).
  • Pick the climate temperature. Choose a set point from a list, in whatever units your watch uses, then confirm. It also works while climate is already running.
  • Fresh data without opening the app. Every 5 minutes the phone fetches your car's status and sends it to the watch, so the glance and the main screen are already current when you look. A switch in the phone app turns this off.
  • A connection info screen. A small i button on the watch shows when the car last reported and when the phone last updated the watch. The phone app shows the same times.
  • Fixes. The 5-minute updates didn't actually work in v0.2.0, and that's fixed in v0.2.1. The error messages now fit on round and rectangular screens, and the watch shows its own version number.
  • More watches, simulated only. The fenix 7 and Venu X1 now build and run in Garmin's simulator. They have never run on a real watch, so treat them as tentative. If you want another model added to the manifest let me know and I'll test it on the simulator and add it so it's easier for you to build for.
The catch

  • It uses Lucid's unofficial API, which can change or disappear, and it may not be welcome under Lucid's terms. Your account and your risk.
  • The phone now asks Lucid for status every 5 minutes on its own, from your account. It doesn't wake the car, and you can switch it off.
  • Android only, and Garmin watches only. You build both apps yourself and sideload them; there's no store version.
  • One vehicle only (the first on the account), and battery impact over days isn't measured yet.
  • The code was written with heavy AI help. I'd welcome a real Android or Garmin developer looking it over.
Code, install steps and release notes: https://github.com/doubletwist13/orbit-for-lucid (releases: https://github.com/doubletwist13/orbit-for-lucid/releases)

Feedback welcome, especially from anyone with a different Garmin watch.
 
Orbit for Lucid v0.3.0 (alpha): frunk, trunk, horn and lights from your Garmin watch

Orbit is an unofficial Garmin Connect IQ app, with an Android companion, for checking and controlling a Lucid from your wrist. v0.3.0 adds more controls and a few visual changes.

New
  • Frunk and trunk. Open or close them from the watch. It asks you to confirm, then waits for the car to report the lid. A gas-strut frunk can only be unlatched, so it goes straight to the confirm for Open.
  • Horn and lights. One short honk (with a confirm tap) and a light flash. Lucid's API doesn't confirm either, so the watch says "Sending..." and means only that the watch sent the request.
  • Paged actions screen. Lock, climate, frunk and trunk are on the first page. Horn and lights are on the second. Swipe or use the up and down buttons to change page.
  • Charge ring colours. The ring turns green, yellow, orange or red by battery level, and dims when the data is stale. Charge state changes color of battery SoC in Glance as well.
  • New icons. Padlock, battery and plug on the glance and main screen. The plug state is always shown.
Also since v0.2.0
  • The 5 minute background updates now work, with connection info on the phone and watch.
  • Layout fixes for small and rectangular screens, and a scrolling list for the climate set point.
  • The phone app is status and settings only. You control the car from the watch.
Before you try it
  • Alpha, and unofficial: it uses Lucid's unofficial API, so it may break or break the rules, and it supports one vehicle.
  • Tested on a Venu 3 and a Pixel 10 Pro with one Lucid Air with powered frunk. A gas-strut frunk and a Gravity are untested.
  • Update the phone app and the watch app together.
  • Nothing is attached to the release. You build both apps and sideload them, following the install guide in the repo.
Release and install guide: https://github.com/doubletwist13/orbit-for-lucid/releases/tag/v0.3.0
 

Attachments

  • watch-main.webp
    watch-main.webp
    14.9 KB · Views: 4
  • watch-glance.webp
    watch-glance.webp
    5.5 KB · Views: 3
  • watch-actions.webp
    watch-actions.webp
    13.5 KB · Views: 3
  • watch-actions-2.webp
    watch-actions-2.webp
    9.6 KB · Views: 2
  • watch-frunk.webp
    watch-frunk.webp
    7.9 KB · Views: 2
Back
Top