Acknowledged
CIQQA-4205

Ambient light sensor API — 5+ years, 3+ threads, still no access. Time to unlock modern Garmin displays.

Hi Garmin team,

I'm opening this ticket to consolidate a request that keeps resurfacing across the developer community. The ambient light sensor is physically present in nearly every modern Garmin watch, yet Connect IQ developers still have no way to read it.

This isn't a one-off request. It's been raised at least three separate times, by different developers, over more than five years:

- CIQQA-387 (Sept 2020, by an Edge 530 user) — closed June 2022 by @Brad.ConnectIQ with: *"Not planned for the Edge 530, but could be implemented for future devices."*
- CIQQA-3639 — Ambient light sensor API access — try again" (Nov 2025, by @Dan for the Edge 840). Currently *Acknowledged*. Supported by @juliatuttle, @bin101, and myself.
- "Edge Ambient Light Sensor reading" discussion thread (Jan–Feb 2026, by @jamie-web) — 17 subscribers actively looking for a workaround that doesn't exist.

Many generations of "future devices" have shipped since 2022 (Instinct Crossover, Instinct 3, Fenix 8, Epix, tactix 8, Edge 840/1040/1050, Forerunner 965/970, Venu 3, Vivoactive 6) all with the sensor, none with API access.

Why this matters strategically for Garmin

Garmin has invested heavily in beautiful AMOLED and MIP displays across the lineup. Marketing emphasizes screen quality, outdoor readability, and adaptive backlight. But Connect IQ developers can't write a single watch face or data field that actually adapts to the lighting conditions the device is sitting in.

If Garmin wants a developer community that uses the full potential of these modern displays, this sensor needs to be accessible. Right now, every third-party watch face renders identically at noon in direct sunlight and at 2am in bed, while the hardware is fully capable of doing better. Apple Watch and Wear OS both expose this. Garmin shouldn't be the one falling behind on a feature whose data is already inside the device.

The simplest possible implementation 

I am far from having the expertise that you have Garmin. Maybe I am oversimplifying but... I would see this as an easy fix. No new hardware. No new permissions UI. No breaking changes. One method:

```
Toybox.Sensor.getAmbientLight() → Number
```

Read-only. Polled in `onUpdate()` — no callbacks needed. Return whatever's convenient for the firmware team:

- Raw lux value, or
- A normalized 0–100 scale, or
- A 3-level enum: `DARK` / `MEDIUM` / `BRIGHT`

Any of those three formats unlocks the use cases below. The 3-level enum is probably the lowest-effort path — it's essentially the same signal the firmware already computes for the backlight curve.

What developers would be able to do with it

- Adaptive-contrast watch faces (bright/high-contrast in sun, soft/dimmed indoors)
- True day/night layout switching (driven by actual light, not just clock time or sunset tables)
- Data fields that simplify themselves in low light to reduce visual noise
- Bike light automation (the Smart Bike Lights community has been blocked on this for years)
- Battery-saving logic (skip animation cycles when the user can't see them anyway)

The ask

 , @Brad.ConnectIQ  — given that the 2022 "future devices" promise now applies to nearly the entire current lineup, can the Connect IQ team formally re-scope this? Even a coarse 3-level enum on System 8 devices would be a meaningful step forward and wouldn't require lux calibration work.

To the community
     and anyone else who's been blocked by this: please drop a comment or Thumbsup here so this request is visible as the cross-thread, multi-year demand it actually is. Garmin tracks engagement on these tickets, and this is the moment to consolidate the signal.

Thanks for considering.

  • No clue.... best guess, this tread got too big too fast and was not aligned anymore with the sub policy. I don't think it was made with bad intentions tho. That said, there's something here that drives passion from users. I've rarely seen a topic snowball that quickly. Garmin should look seriously at it. 

  • Community signal update for the Garmin team:

    This request was shared on r/Garmin (529k members) and generated the following organic engagement before the post was removed by moderators:

    48,000 views
    89 upvotes
    92% upvote ratio
    Ranked #1 on r/Garmin the day of posting
    17 substantive comments from real Garmin users

    Several themes emerged from the discussion worth flagging for prioritization:

    1. The OS vs. watchface distinction is widely misunderstood. Many users assumed the existing auto-brightness already solved this. Once the distinction was explained (the OS adjusts screen brightness; the watchface still draws the same content regardless), the reaction was consistently positive.

    2. Accessibility surfaced as an additional use case. Users with reduced low-light vision noted that the OS fixed brightness curve doesn't accommodate their specific environments. Watchface-level sensor access would let developers build adaptive layouts for those scenarios.

    3. The AMOLED battery argument actually inverts. Multiple technically sophisticated users (including a self-identified software architect) raised battery life as a concern. The community response: on AMOLED, a watchface that reduces lit pixels in low ambient light saves battery rather than consuming it. Black pixels on AMOLED consume zero power.

    4. The Crossover hybrid case resonated strongly. Users immediately understood the value of coordinating the digital layer with the physical illuminated hands based on ambient light conditions.

    5. Apple Watch Time in Daylight (watchOS 10+) was raised as a comparable feature gap, suggesting this API unlock goes beyond watchface aesthetics into health/activity tracking territory.

    The engagement was entirely organic, driven by genuine user frustration with a limitation they hadn't previously been able to articulate. The post reached #1 on the subreddit before removal.

    Reddit thread (archived): https://www.reddit.com/r/Garmin/comments/1tn8v0q/garmins_light_sensor_is_locked_away_from/

    Happy to share screenshots of the engagement stats directly if useful for the team's prioritization process.

  • It is bad for their marketing. Although it is (and was almost always) impossible to delete anything from the internet. Some always have screenshots. @Garmin: would you mind just simply adding this API and then no need to delete reddit posts from that point on. How does it sound? :)

  • Any idea why the moderators deleted the Reddit thread?

  • I really hope this happens. There's no reason for Garmin to gatekeep this