This is an automated archive made by the Lemmit Bot.

The original was posted on /r/selfhosted by /u/WonderfulCloud9935 on 2025-04-14 20:53:20+00:00.


A Huge thanks to r/Garmincommunity for supporting the fundraiser. This project would never be possible without their active support on this earlier fundraiser posthere on reddit r/Garminwhich received more than 345 upvotes (pushed to the daily top on this subreddit). This contribution is added to the credits sectionof the GitHub readme, to spread awareness on what made this amazing tool possible.

After receiving the watch on last Friday, I have not spend a minute without actively working on this code. A lot of decision had to be made, how to organize the database, how to do the automatic fetching effectively, how to visualize and organize the Grafana dashboard (what looks best) and a lot more things, how to write the readme properly (making it beginner friendly). I have skipped lunch and had sleep less than 6 hours on the weekend :)

But here is the result of my hard effort, A free and open source project published for you all. Anyone can use this for free, and a generous license allows modification and distribution without any liability.

Please check out the project : https://github.com/arpanghosh8453/garmin-grafana

Features

  • Automatic data collection from Garmin
  • Collects comprehensive health metrics including:
    • Heart Rate Data
    • Hourly steps Heatmap
    • Daily Step Count
    • Sleep Data and patterns (SpO2, Breathing rate, Sleep movements, HRV)
    • Sleep regularity heatmap (Visualize sleep routine)
    • Stress Data
    • Body Battery data
    • Calories
    • Sleep Score
    • Activity Minutes and HR zones
    • Activity Timeline (workouts)
    • GPS data from workouts (track, pace, altitude, HR)
    • And more…
  • Automated data fetching in regular interval (set and forget)
  • Historical data backfilling

Feel free to give it a try and go through the setup process (relatively easy and detailed if you are familiar with Linux and Docker). I have done all possible testing on my end, but can’t confirm it’s bugless because I only have two days worth of data to test with. You can fetch your old data from the Garmin connect server as well to visualize the trends on Grafana with this tool. This release is currently in Public beta (Just finished it today).

If this works for you and you love the visual, a word of support here will be very appreciated. You can star the repository as well to show your appreciation.

How it looks like?

Please note that the stats are missing on the dashboard because I just had this one for two days and only have data for the same from Garmin. I was able to upload some basic data from my Fitbit export, so there are a few stats which has more points.

Parent projects:

Please share your thoughts on the project in comments or private chat and I look forward to hearing back the users. File a bug report if you find any, and star the repository if everything works out as expected.

A big thanks to r/Garmin community and active donors to the fundraiser for making this possible TOGETHER!