With the Face It™ watch face app, choose any image from your photo library, make some tweaks, and set it as your watch’s face. Stay Connected on the Run Forerunner 645 makes it easy to run without leaving important smart features behind. Announcement: Face-It: A Custom Watch Face App for Connect IQ Devices. August 18, 2016. Today, Garmin announced Face-It, a watch face app that lets Connect IQ compatible wearable users customize their watch face with any photo from their mobile device. Users simply download the free app from either the App Store or on Google Play, then select.
- Custom Watch Face Garmin Repair
- Garmin Watch Face Builder
- Garmin 245 Custom Watch Face
- Custom Watch Face Garmin Instinct
Time is an illusion. (Albert Einstein)
Lunchtime – doubly so. (Douglas Adams)
There’s a good chance you’re wearing a watch on your wrist right now, and if you’re not wearing a horologically significant or sentimental time piece you’re probably wearing a smart watch, and if you’re wearing a smart watch it should be a Garmin watch (they did NOT pay me to say this)
Garmin watches are awesome. They are rugged, they hold the battery charge for days, some models even weeks, and they are highly customizable.
It is that last aspect that we’re going to concentrate on in this tutorial.
Garmin has an equivalent of Apple App Store (good name) or Google Play Store (horrible name), and it’s called Garmin Connect IQ Store (I’d like to be in that naming meeting)
App development for Garmin watches is done using proprietary language “Monkey C” (https://developer.garmin.com/connect-iq/monkey-c/) (probably named in that same meeting after everyone got drunk)
…yeah, really! What’s next? Monkey Do?
So, with that in mind, we’re going to design and implement a watch dial in monkey-c and deploy it to Garmin’s IQ store.
I wanted the watch face to look like Casio G-Shock because they are awesome, particularly G-LIDE model (GBX100)
I wanted the dial to show time, date, weather, pulse, steps, calories, distance walked today, and battery charge. I didn’t want to ask users for any extra permissions and I wanted this app to be as easy on the battery as possible, without any background processing.
I went on to design the dial on a piece of paper as I’ve heard that designing upfront makes the whole development process easier, and so I went through a couple of iterations.
Nothing exciting to talk about here, I just followed Garmin’s getting started guide: https://developer.garmin.com/connect-iq/connect-iq-basics/getting-started/
In short, you’ll need to download and install the Connect IQ SDK, sign up for dev account, install Eclipse (yuck) if you don’t already have one, install Connect IQ Eclipse plug-in, which turns Eclipse into a Connect IQ development environment, and generate dev key.
The installation will be somewhat painful if it’s your first development endeavor, but nothing like installation of an IBM Websphere Portal.
After all installation is done you can go ahead and create your own sample app to make sure everything works.
Follow this: https://developer.garmin.com/connect-iq/connect-iq-basics/your-first-app/
Once all steps are completed, run the app and this is what you’ll see in a simulator:
If you followed the instructions to the letter then you’ve probably installed command line tools, which give you wonderful commands like:
// Compile the executable:
> monkeyc -d fenix5plus -f /path/to/monkey.jungle -o project_name.prg -y /path/to/Dev_Key
// Run in the simulator
> monkeydo myApp.prg fenix5plus
I’m starting to really like these Garmin folks, they seem to have a sense of humor.
Source code of the sample app looks very much like Android source code, with classes extending Views, xml layouts and referencing elements by id:
Again, the way layout works is very similar to Android, the watch face layout is located in /resources/layouts/layout.xml
It looks like Garmin is running a highly customized version of Android, so Android devs will feel right at home here… if you want a flashback to the early days of Android.
Unlike working in Android Studio however, working in Eclipse feels like I’m back in early 2000s. It’s clunky and unnatural and unintuitive. Something that only takes a few seconds to implement in Android Studio now takes forever in Eclipse. This makes you really appreciate JetBrains’ IDEs (They did not pay me to say this.)
When laying out the elements on the watch face you have to remember that the coordinate system is based on a square screen, so the corners are beyond the round viewport of the watch. So, if you place something in the corners they will not show up, you’ll have to experiment with coordinates, like in the layout I have below:
You can define coordinates in pixels or percent.
I also wanted to display a grid of gray lines, like on Casio watches, this is taken care of by:
<drawable id=“scaffolding”></drawable> which references scaffolding.xml:
At this point all data except for the time is hardcoded. Time to connect it to the real data.
For getting the data on the screen we’ll use
Toybox.ActivityMonitor gives us heart rate, steps, burned calories and distance walked/ran since midnight. The distance is in cm, so we’ll have to convert it to miles or km based on system settings
Toybox.System gives us clock and battery
Toybox.Weather gives us weather
Toybox.Application gives us access to properties that can be set by the user in the app settings.

So now, once we have a layout defined, we can get the element in code by
and set its value, for example for the hours and minutes:
There is a way to create a watch face that would accept users’ custom settings, like for colors, or optional fields on the screen. For this you’ll define resources/settings/settings.xml
and resources/settings/properties.xml
To run settings screen for the simulator, use Eclipse’s ConnectIQ tab, then select App Settings Editor.
One of the main struggles I had was the battery icon. I wanted it to be a proper graph, indicating a real-time charge level. The problem is all Garmin devices have different resolutions, and there’s no notion of DIP in Garmin (Density Independent Pixels) So, I had to create my own DIP calculation:
Please don’t laugh, my brain still hurts.
Oh yeah, and be prepared to draw or modify icons pixel by pixel, and with specific colors Garmin recognizes. I used Gimp, it’s free and it’s awesome:
Anyway, after all said and done here’s what I got:
You can find it in Garmin’s app store here: https://apps.garmin.com/en-US/apps/c2f2b648-ab65-4329-991a-b9f240bcb92f
It’s great to be able to develop watch faces and apps for smart watches, and I feel that Garmin is making the whole process easy for new developers, especially if you have some Android background.
The only suggestion I have is to make the dev environment a little friendlier and documentation more organized. Working with Eclipse and Garmin’s plugin is a huge step back when compared to Android Studio and Intelli-J that it’s based on.
Working with current dev documentation can be frustrating and you’ll end up hunting for a simple answer forever.
Also, there’s a great forum for Garmin devs: https://forums.garmin.com/developer/connect-iq/
You’ll meet a lot of good folks there. They have changed my perspective on Garmin development from negative to positive over the course of 3 weeks.
Developers and the engaging and appreciative users are what made me enjoy the whole process.
Happy coding!
Joe Berger
References:
Special thanks to Joshua Miller for inspiration: https://medium.com/@JoshuaTheMiller/making-a-watchface-for-garmin-devices-8c3ce28cae08
The more options you try, the smarter it'll feel.
Garmin smartwatches are some of the most popular on the market; the likes of the Garmin Venu 2, the Garmin Forerunner 945 LTE and many others can monitor all aspects of your health and fitness, from the number of steps you’re taking per day to how well you’re sleeping at night.
If the best Garmin watch for you is sitting on your wrist, you’re no doubt wondering how to get the most out of it. There are plenty of features and settings to explore once you start looking.
If you haven’t already, get the Garmin Connect app for Android or iOS set up on your phone, as well as the Garmin Connect IQ app for Android or iOS—these are essential for customizing and configuring your wearable.
1. Change the watch face
Custom Watch Face Garmin Repair
You don’t have to settle for the default Garmin look. There are several watch faces to pick from, and all can be customized in various ways, depending on the model you’re using.
On the Garmin Fenix or Instinct watches, press and hold Menu, select the Watch Face option, and use the Up and Down buttons to see your choices. Once you’ve made your pick, select the Customize option that appears to choose your widgets.
Garmin Watch Face Builder
On the Venu watches, you hold down the B button instead of Menu, and you can then pick a watch face by swiping left or right on the screen. If you want to edit a watch face before applying it, swipe up.
On the Forerunner models, you first tap the menu button on the screen (the three horizontal lines), then select Watch Face and use the Up and Down buttons to scroll through your options. When you select one, you can also pick Customize to edit it.
Some Garmin watches support custom watch faces downloaded from the web. If yours does, you can use the Connect IQ app to look for new watch faces, and transfer them to your device.
2. Block notifications at night
Like most smartwatches, Garmin lets you see alerts about text messages and calls on your wrist, but you don’t necessarily want your wearable buzzing and bleeping all through the night.
[Related: Choose an alarm app that’ll actually wake you up]
From the Garmin Connect app on your phone, tap the icon for your watch at the top, then User Settings. Under Normal Bed Time and Normal Wake Time, you can tell your watch when you’re usually snoozing.
With that done, go back to the main device settings screen (the one you see when you tap the icon for your watch) and pick Sounds & Alerts. Turn on the Do Not Disturb During Sleep option, and you won’t get notifications during the times you’ve specified.
3. Customize the data screens
When you’re running (or doing any other activity) you want your watch to show key information (like speed and elevation)—and your Garmin device lets you choose which bits of data appear when.
Find the main Settings panel on your watch, pick the Activities & Apps entry, then select the activity you want to edit. Choose Data Screens, and you’ll be able to pick what you want to see on screen, from lap times to distance covered.
4. Listen to music on the go
Garmin 245 Custom Watch Face
Some Garmin smartwatches can sync playlists from Spotify, Amazon Music, and Deezer, which means you can take your tunes with you even if you leave your phone at home. You do need to have a premium subscription to one of those streaming services though.
If you have a compatible watch, the functionality is built right in. The exact instructions vary between watches, but your wearable must already be connected to the Garmin Connect app on your phone, and to your local Wi-Fi network.
On Forerunner and Fenix models, you can press the Down button to choose a music provider. You’ll then have to switch to your phone to log into your streaming service of choice. When that’s done, you’ll be prompted to choose the playlists you’d like to sync to your watch.
5. Set up a training plan
If you want to add some more focus to your activities, your Garmin watch can set you up with a training plan: These cover running and cycling targets from a 5K run to a 100K bike ride. To see what’s available, open the main menu in the Garmin Connect app on your phone (via the three horizontal lines, top left) and choose Training and Training Plans.
[Related: Science helped me run my first marathon in 3 hours and 21 minutes]
You’ll be asked a few questions to get your training plan set up—including how much running and cycling you already do, how many days of the week you want to exercise, and the target date when you want to be ready. You’ll also get to pick a virtual personal coach to guide you through the journey.
Once you’ve configured your training plan, you’ll get prompts through the app and on your wrist when it’s time to do some exercise to build up towards your goal. Your coach will keep track of your progress and guide you every step of the way.
6. Change what you see in the app
The Garmin Connect app on your phone can display a wealth of information as it comes through from your smartwatch, but some of these data points might be more relevant to you than others when it comes to your particular health and fitness goals.
Custom Watch Face Garmin Instinct
To customize what’s shown on the main My Day tab in the Connect app, scroll right down to the bottom and choose Edit My Day. You can see all the data sources available to you—from heart rate to sleep, depending on your wearable—and it’s up to you which ones show up.

Tap the delete buttons on the left to remove a data point, or tap and hold the buttons on the right to move them into a different order. Any statistics you remove will still be available in the app, they just won’t show up on the My Day tab.
7. Get help with your workouts
If you’d like some tips on form and routine, some Garmin watches can guide you through certain workouts with animations covering yoga, Pilates, cardio and strength. If your watch isn’t compatible, you can still view the workouts through the Connect app.
From the app, open the main menu (the three horizontal lines, top left), then choose Training and Workouts. Tap Find a Workout to look through the Garmin library, and select Save to My Workouts when you come across one you like. You can view it on your phone or on your watch—if your wearable is compatible, the workout will be transferred to your wrist the next time the watch is synced.
Go to the Training and Workouts section of the main menu on your watch to find the exercises that have been synced, and to launch them on your watch’s display.