Changelog

Version 2.4.12026-11-02T20:23:01.996

VitalGauge 2.4.1 — Phone Settings & Reliability Update

Version 2.4.1 introduces a new phone-based settings interface and resolves several configuration and persistence issues.

NEW: PHONE APP SETTINGS

Added a fully functional configuration page accessible directly from the Pebble mobile app.

Customize Dark Mode, Breathing Style, Haptic Feedback, and Scan Backlight behavior without navigating through watch menus.

Settings are saved using a dedicated Save Settings button and transmitted directly to your Pebble Time 2.

The original on-watch settings menu remains available by holding Select.

IMPROVED SETTINGS SYNCHRONIZATION

Improved synchronization between phone and watch configuration.

Watch preferences now persist correctly between app sessions.

Prevented unsolicited phone configuration messages from overwriting saved watch settings.

Phone settings changes are only applied when explicitly saved.

BUG FIXES & RELIABILITY

Fixed Dark Mode reverting after closing and reopening VitalGauge.

Fixed the previously nonfunctional Settings button in the Pebble mobile app.

Fixed configuration changes being discarded when exiting without saving.

Simplified configuration messaging to eliminate unwanted settings updates during startup.

Removed obsolete background scan code and unused health-history buffers.

Resolved compiler warnings associated with unused code.

PRIVACY & OFFLINE OPERATION

The new configuration interface is bundled with VitalGauge and requires no external website or cloud service.

VitalGauge continues to process health measurements locally on your Pebble Time 2.

No accounts, subscriptions, or cloud synchronization required.

Thank you for supporting VitalGauge! If you enjoy the app, please leave a heart in the Pebble Appstore.

Support continued development:
https://ko-fi.com/ericmccormick

Version 2.42026-11-01T17:54:30.247

VitalGauge 2.4.0 — Release Notes

Major update: Smarter HRV, Better Recovery Insights, and Faster Performance

Version 2.4 introduces significant improvements to health monitoring, energy tracking, sleep analysis, and the overall Pebble Time 2 experience.

What's New

HRV Monitoring & Personal Calibration

- Added native heart rate variability (HRV) measurements using the Pebble Time 2's pulse interval data.
- Introduced an HRV quality system to filter unreliable readings.
- Added a personalized HRV baseline that calibrates over seven days of valid measurements.
- Improved stress assessment using actual HRV data rather than relying solely on heart-rate fluctuations.
- Added automatic background HRV measurements during qualifying resting periods.
- Improved detection of potential physiological stress events.

Energy Reserve & Morning Recovery

- Redesigned Energy Reserve with a colorful perimeter graph showing the factors contributing to your current energy level.
- Added breakdowns of recovery, cardiac response, activity expenditure, and stress.
- Added Morning Recovery insights combining sleep, resting heart rate, and HRV baseline information.
- Improved navigation between Energy Reserve, Energy Contributors, and Morning Recovery.

Sleep Tracking

- Improved sleep classification using movement, heart rate, and native Pebble sleep data.
- Improved handling of brief awakenings and periods of quiet sleep.
- Added better differentiation between native and inferred sleep measurements.
- Improved recovery calculations using updated sleep information.

Interface Improvements

- Refined typography, contrast, and screen layouts for a more consistent Pebble experience.
- Preserved VitalGauge's signature dashboard rings and perimeter graphs.
- Simplified navigation and removed redundant information screens.
- Improved readability in light and dark modes.

Performance & Battery Optimization

- Added persistent caching so previous health data is available immediately when reopening the app.
- Introduced incremental health-history synchronization, retrieving only new measurements plus a small overlap instead of repeatedly requesting the full 24 hours.
- Reduced unnecessary data processing, logging, and persistent-storage writes.
- Improved startup responsiveness and reduced redundant health refreshes.

Bug Fixes

- Fixed HRV calibration progress inconsistencies involving manual and automatic measurements.
- Improved handling of missing or unavailable health data.
- Prevented empty health-history responses from unnecessarily clearing cached graphs.
- Improved sleep detection around interruptions and extended rest periods.

VitalGauge 2.4 brings more personalized health insights, clearer visualizations, and a more efficient experience while keeping the distinctive interface built for Pebble Time 2.

Version 2.3.32026-11-01T12:50:53.898

Fixed the minute by minute sleep information. Recent pebble update broke large chunking of data. Now uses smaller chunks.

Version 2.3.22026-11-01T02:58:04.514

# VitalGauge 2.3.2 — Sleep Tracking Restored & HRV Preview

This update restores sleep tracking functionality affected by recent Pebble software updates and introduces preliminary native Heart Rate Variability (HRV) support for Pebble Time 2.

## 💤 Sleep Tracking Improvements
- Fixed missing sleep data and zero sleep scores.
- Improved sleep detection using Pebble Health records, movement, and heart-rate measurements.
- Added recovery of estimated sleep periods following nighttime awakenings.
- Improved detection of wakefulness to reduce false sleep readings.
- Restored the full minute-by-minute sleep timeline.
- Improved handling of unavailable sleep data and automatic updates.

## ❤️ HRV Preview
- Added native HRV sampling using Pebble Time 2's heartbeat interval measurements.
- Added RMSSD readings (milliseconds) during the 60-second Stress scan.
- Introduced basic filtering to reduce unreliable measurements.
- HRV is currently informational and does not yet affect Stress, Readiness, or Energy Reserve scores.

## 🔧 Additional Improvements
- Updated sleep-stage terminology from Deep to Restful.
- Improved sensor-data diagnostics and sleep display reliability.

## Coming Next
- Personalized HRV baselines.
- HRV-informed stress and recovery scoring.
- Further sleep and wake detection refinements.

**Note:** HRV measurement and hybrid sleep detection remain experimental and will continue to be refined.

**Platform:** Pebble Time 2 (Emery)

Version 2.3.12026-07-27T15:30:15.677

Tweaked the stress level calcs

Version 2.32026-07-07T17:03:47.321

In the rebuild to V2.0, messed up the behind the scene stress reading and notification structure. Hopefully this has returned properly.

Version 2.2.02026-11-01T02:51:09.828

# VitalGauge 2.2.0 — Sleep Tracking Restored & HRV Preview

This release focuses on restoring reliable sleep tracking following recent Pebble software updates, improving sleep analysis, and introducing preliminary native Heart Rate Variability (HRV) support for Pebble Time 2.

## What's New

### 💤 Improved Sleep Tracking
- **Restored sleep detection:** Fixed an issue that caused sleep duration and sleep scores to display as zero despite Pebble Health recording sleep.
- **Hybrid sleep analysis:** Combines native Pebble Health sleep records with movement and heart-rate data for more detailed sleep tracking.
- **Interrupted sleep recovery:** Attempts to recognize additional sleep after brief nighttime awakenings, even when Pebble Health stops tracking the original sleep session.
- **Improved wake detection:** Uses movement and heart-rate patterns to help distinguish sleeping from lying quietly awake.
- **Restored sleep timeline:** Corrected the minute-by-minute visualization so it displays the complete detected sleep period rather than scaling the timeline by the sleep score.
- **More accurate terminology:** Updated sleep-stage labels to distinguish restful sleep from deep sleep.

### ❤️ Preliminary HRV Support
- **Native HRV measurements:** Added support for the Pebble Time 2's beat-to-beat heart interval data using the updated Pebble SDK.
- **RMSSD calculation:** Displays Heart Rate Variability in milliseconds during the 60-second stress scan.
- **Basic signal filtering:** Rejects implausible heartbeat intervals and large interval changes to reduce measurement artifacts.
- **On-demand sampling:** HRV collection operates during scans rather than continuously, helping limit unnecessary battery usage.

### 🔧 Stability & Reliability
- Improved handling of unavailable sleep data.
- Added automatic refreshes when new sleep information becomes available.
- Added diagnostics for sleep activity and sensor history.
- Refined sleep analysis and display behavior.

## Important Notes

**HRV is currently an experimental feature.** RMSSD is displayed for informational purposes and does not yet contribute to the Stress, Readiness, or Energy Reserve scores. Those scores continue to use the existing calculations.

Sleep recovery and wake detection are also being refined. Results may differ from the official Pebble Health app, particularly after interrupted sleep or prolonged periods of lying still.

## What's Next
- Personal HRV baselines and improved signal-quality assessment.
- HRV-informed stress and recovery scoring.
- Additional refinements to sleep and wake detection.

**Supported platform:** Pebble Time 2 (Emery)

Thank you for using VitalGauge!

Version 2.22026-07-07T15:39:49.109

Fixes issue where stress was always at 100. Should be resolved.

Version 2.12026-06-26T19:31:53.19

Architecture & Core System
Complete Codebase Refactor: Transitioned from a single monolithic main.c file to a modular 9-file architecture, enabling Link Time Optimization (LTO), faster incremental builds, and isolated UI states.
Global Header implementation: Established vitalgauge.h to manage global states, persistent keys, and subsystem definitions safely across all UI modules.

New Features
On-Device Settings Menu: Added a new SimpleMenuLayer accessible via a long-press of the Select button on the main Hub screen.
Dark Mode: Added a system-wide UI toggle to invert background and text colors across all modules.
Advanced Breathing Styles: Expanded the breathing session tool beyond standard Box Breathing (4-4-4-4) to include Relax (4-7-8) and Sleep (4-8) modes, complete with dynamic audio triggering.
Customizable Haptics: Added a haptic feedback toggle (Off / Low / High) to control interaction vibrations. Default interaction is "Low".
Backlight Override: Added a toggle to force the watch backlight to remain on during EKG scans and breathing sessions.

Improvements & UI Enhancements
Zero-Delay Startup: The health_engine now retrieves the last known Energy Reserve, Sleep, and Readiness scores from persistent flash memory during initialization, eliminating the zero-state screen flash on startup.
Refined Haptic Engine: Replaced the aggressive system default vibration on UI taps with a custom 15ms micro-tick for a more tactile, premium feel.
Streamlined Breathing Visuals: Removed the static outer boundary circle during breathing sessions, leaving only the smooth, animating inner circle.

Bug Fixes
Sleep Tracking Accuracy: Fixed an issue where the OS splitting sleep data into chunks caused the app to only read the single longest chunk. The parser now dynamically scans the full 12-hour window to bridge native sleep blocks and capture total actual sleep.
Breathing Phase Math: Fixed a countdown desync issue where the initial breathing phase would display an incorrect starting second or hang on "HOLD" by refactoring the unified timer to decrement at the top of its logic loop.
Compiler Resolutions: Resolved strict GCC build failures including generated RESOURCE_ID macro collisions, duplicate const declarations, snprintf truncation limits, and time_t signed/unsigned comparison warnings.

Version 2.0.52026-06-25T19:00:00.124

Fixed issue where sleep stats were being shortened. Should have full sleep now properly tracked.

Version 2.0.42026-06-24T11:47:25.329

Modified readiness score scan that is done first thing in the morning. Should hopefully provide better results for your daily energy reserve.

Version 2.0.32026-06-04T14:04:12.621

Fixed issue where energy reserve number between the main page was not pulling from the correct place and showing the wrong number.

Version 2.0.22026-06-02T16:04:33.115

Updated breathing audio
Replaced the audio files with Leda voice
Removed pop at the end of each notification by stringing them all as a single session instead of close the amp at the end of each file.

Version 2.0.12026-06-01T20:49:55.607

added logo/icon
added AppGlance

Version 22026-06-01T20:05:50.941

🚀 V2.0 Release Notes: The "Dashboard" Update
Welcome to the biggest update we’ve ever released! We have completely redesigned the app from the ground up, moving away from the old static bar graph to a dynamic, real-time health dashboard, while adding silent background monitoring and deep historical trends.

Here is everything new in V2.0:

🎨 Complete UI & Navigation Overhaul
The New 3-Ring Hub: Say goodbye to the main screen bar graph! The main screen is now a gorgeous, glanceable "Hub" featuring 3 concentric rings tracking your daily Activity, Sleep, and Stress.

The Energy Reserve: Front and center on the new Hub is your Energy Reserve score (0-100%). It calculates your starting battery based on your sleep, and dynamically drains throughout the day based on your exertion and stress levels.

Quadrant Navigation: We've replaced the old "Up for Stress, Down for Breathing" shortcuts with a full touch/quadrant system. Simply tap a corner of the screen to dive deep into that specific metric.

🧘 Stress & Breathing (Moved & Upgraded)
Dedicated Stress Hub (Top-Left): Stress scanning and Box Breathing haven't disappeared—they’ve just moved to their own dedicated page! Tap the Top-Left quadrant to open it.

New Controls: Inside the Stress page, press [SELECT] to run an EKG scan, or press [UP / DOWN] to start a Box Breathing session.

Live Energy Recharge: Breathing is now tied to your Energy Reserve! Successfully completing a breathing session to lower a high stress score will actively "recharge" your central battery.

Volume Control: You can now adjust the breathing audio volume mid-session using the Up/Down buttons.

📊 Powerful New Dashboards
7-Day Trends (Bottom-Left): Wondering how your week went? Tap the Bottom-Left quadrant to open the brand new Trends page. Use the Up/Down buttons to cycle through 7-day historical bar charts for your Energy, Sleep, Stress, and Activity.

Sleep & Readiness (Bottom-Right): We have merged your Sleep tracking and Morning Readiness score into a single "Morning Baseline" page.

Energy Breakdown (Center Tap): Tap the center of the screen to see the exact math behind your Energy Reserve, including your Cardiac Efficiency, Exertion Drain, and Stress Penalty.

🤫 Silent Background Monitoring
Native System Alerts: We completely removed the intrusive, pop-up windows that used to interrupt you when a high heart rate was detected.

Headless Handoff: The app now monitors your heart rate and movement completely invisibly in the background. If it detects a stress spike while you are sitting still, it will push a silent, native notification directly to your watch's system tray (like a text message) that says "Stress Spike Detected" so you can review it on your own time.

🧠 Smarter Algorithms
True Deep Sleep Tracking: We rebuilt the sleep math. The app now cross-references our custom sleep-boundary logic with your watch's native OS movement masks, resulting in highly accurate "Deep" vs "Light" sleep chunking.

True Morning Heart Rate: Your Readiness score now specifically isolates your lowest heart rate during the critical 2-hour window right after you wake up, heavily penalizing your score if you wake up highly stressed.

⚙️ Under The Hood
Battery Saver: Data is now fetched "on-demand" rather than constantly draining your battery in the background. (Pro-tip: Long-press the [UP] button on the main Hub to force a manual data sync!).

Fixed a critical CPU bug that could cause the watch backlight to stay on indefinitely.

Added custom [BACK] button safety controls so you never get trapped in a breathing or scanning session.

Version 1.3.12026-05-30T12:50:40.393

Added Age, Height and Weight inputs for more accurate BMR for body battery

Version 1.32026-05-30T11:46:53.426

Changed the formatting to be cleaner
Added a body battery feature. Should get a good initial number after you go to sleep and wake back up. (Experimental)
60sec readings triggered by high BPM are done in the background and stress events take into account your current activity level.
High stress event messages are now pushed as a notification and can be retrieved under all your notification list.

Version 1.12026-05-26T21:06:45.604

Added continuous heart rate reading while doing box breathing.
Added color edging which will tell you how you are doing.
Removed vibration when sound is off to remove reading misreads.

Version 1.02026-05-17T01:17:22.385

First release 
Main screen provides a history of hear rate
Pressing up takes you to a screen for measuring your heart rate and stress level. EKG simulator using your actual BPM. 
Scrolling down take you to box breathing exercise with visual and voice guidance. If volume set to 0%, guidance will include vibration. 
Will work in the background and when watch take a regular measurement, if the rate is high, will trigger a 60sec read and should notify you if there is an issue and recommend breathing exercises. If everything is good, should return to watch face.