Overview of Connect IQ Apps accompanied with source code

I've made an overview on my website of the connect iq apps that are accompanied with source code: http://starttorun.info/connect-iq-apps-with-source-code/
This can be a great resource for starting developers to learn how certain things should be achieved.
(When you use something in your own apps be sure to give credit where credit is due and to respect the license of the open source app (usually the license is available in the root of the source code repo))

When I missed a source repo you can comment on the above post in the comments section (or you can also indicate it below with a reply in this forum thread)

Hope it helps to attract new developers to Connect IQ :)

  • DF Detector

    This datafield is an example for CIQ developers to demonstrate how a datafield can be added multiple times to a layout.

    Add this datafield to any activity, multiple times. As you add it to multiple fields (places in the layout) you'll see the detected layout, field position.



    Datafield: https://apps.garmin.com/en-US/apps/1535a238-cbac-463b-bde2-373403502a6f

    Source code: https://github.com/flocsy/DFDetector

    Support Forum: forums.garmin.com/.../datafield-df-detector

  • Hi! ZoneTraining is open source: 

    It's a Data Field for monitoring the Heart-rate. Especially for staying within a certain Aerobic Zone (Zone-2 or Zone-3).

    The Zones are read from the user's activity settings, and can also be modified in the settings in Connect IQ.

    By default roughly 1 minute of heart-rates are shown, but can also be modified in the settintgs.

    Zone Training

    Code: https://github.com/ViktorStagge/ZoneTraining 

    Connect IQ: apps.garmin.com/.../f6f3f163-7e53-40f0-8201-b4b1b2eb8cf9

  • I am not sure this is the correct forum thread for this, but I will ask anyways.  My watch faces (SpragueInSanity All-Things Watch Face and SpragueInSanity All-Things Pi) support all languages that the watch does natively.  I have a lot of entries in Strings.xml for settings and a few for actual display on the watch face.  It became a chore to make manual updates for all 35 language Strings.xml language resource files.  So, I created a process to help automate this.  Not the most elegant solution, but it works for me.  I use a combination of Google Sheets (because it has built-in Google Translation function that works better than anything I could contrive in Excel) and Excel (I needed a seamless way to auto generate all the Strings.xml files for each resource language folder locally on my Windows Connect IQ development environment).  If anyone is also frustrated with the manual updates and find this of interest, I could post this stuff to my Google Drive with instructions on how to use it.  You may have a learning curve on using Google Sheets and Excel. Also, I also use Microsoft 365 so you would need that as well unless you are well versed in Excel and want to retro the code to older versions.  Let me know.  By the way, I am no way an Excel nor Google Sheets expert and much of what I put together is from searching the internet for piece meal solutions.

  • Here it is in all its glory.  I have a PDF document explaining where to get the files and how to use them. https://drive.google.com/file/d/1YbTaSPupd2pUs-9Y5i_nccKTesYkFAdp/view?usp=drive_link

  • I have written a client app for evcc, an open source software for solar charging of electric vehicles (https://evcc.io).

    The app can be found here: apps.garmin.com/.../2bc2ba9d-b117-4cdf-8fa7-078c1ac90ab0

    The source code is published under the MIT license: github.com/.../evcc-garmin

  • Clean source code, good comments. Features used: glance, widget, web request, background services, targeting different watches (labels, source code structure, dedicated jungle file)

  • # Fit Field Waster DF

    ## Usage

    This data field is for CIQ developers. As the name suggests it is to "waste" fit fields and/or the total amount of fit bytes in order to test how another datafield behaves.

    1. Install Fit Field Waster DF to your device and add it to one of your activities' layout.
    2. Open the settings in ConnectIQ app.
    3. Edit the number of session, lap, record fields and the field size.
    4. Save the settings.

    Note that the change of the field size only takes effect next time the data field starts (You need to exit the activity, then enter it again)

    If you like the app you can thank me by sending a beer: https://paypal.me/GavrielF or at least write a positive review with 5 stars StarStarStarStarStar.
  • Hi! I posted earlier in this thread that I'm the maintainer of awesome-garmin list on GitHub which is a list of (currently over 550) apps and watch faces that is updated every week with links to source code.

    The repository contains a CLI tool I built to re-generate the README and recently I decided to expand that tool a bit to help me maintain the list. I've added a search functionality which can search for a keyword like at https://apps.garmin.com and print all results which has a website URL set (which is usually the source code link).

    It's build in Rust so for the moment you need to Rust toolchain to compile it but if you do you can search for specific apps or features that you might be interested in, e.g.

    › cargo run search sailing
    
     Change date             | Type      | URL
    -------------------------+-----------+-------------------------------------------------------------
     2024-06-08 22:04:10 UTC | DeviceApp | https://github.com/pintail105/SailingTools
     2018-12-05 15:09:37 UTC | DeviceApp | https://github.com/antgoldbloom/VMG-Connect-IQ-App
     2023-10-25 07:04:22 UTC | DeviceApp | https://github.com/AlexanderLJX/Sailing-Windsurfing-Foiling
     2024-09-02 12:43:09 UTC | DeviceApp | https://github.com/dmrrlc/connectiq-sailing
     2018-12-05 15:28:10 UTC | DeviceApp | https://github.com/spikyjt/SailingTimer
     2024-03-14 17:18:57 UTC | DeviceApp | https://github.com/Laverlin/Yet-Another-Sailing-App
     2021-04-16 09:25:18 UTC | DeviceApp | https://github.com/alexphredorg/ConnectIqSailingApp
     2023-10-25 07:37:00 UTC | DeviceApp | https://github.com/pukao/GarminSailing
     2024-02-14 00:30:24 UTC | DataField | https://github.com/Fra-Sti/Sailing-Instrument
     2023-12-04 06:43:39 UTC | DeviceApp | https://seatouch.dev/#/foilstart
     2024-07-11 05:05:21 UTC | DeviceApp | https://github.com/zlelik/ConnectIqSailingApp

    It's not the fastest just like browsing the web page but I though I'd post it anyway if someone is interested.

  • I created an open source score keeping app tailored to Ultimate Frisbee games.
    https://apps.garmin.com/apps/c9a21d52-470b-422e-9566-a70e8c52384d

    Source code is here: https://github.com/K4pes/ultiCount