Skip to content

bombsimon/garmin-seaside

Repository files navigation

Seaside

Seaside is an attempt at a minimalistic Garmin watch face. This is heavily inspired by (copied form) the watch mockup by Commissioner Of design™ since I thought it looked so nice. The mockup exposes a Figma document where font and sizes can be found.

yellow yellow yellow

Font

The font used is Oswald. It's created with BMFont with unique size per resolution. To get as little maintenance as possible, I tried to set all padding with relativity to the size of the text. This works on most resolutions but probably not all.

See each resource .fnt file for size.

Icon map

The small font is manually patched with a glyph for bottom info icons. This process is tedious and requires the step icon to be added to the font and manually adding bounds for it.

Icon Char id Character
Step 35 #

Pack steps icon into font small, manually tracing its boundaries.

Features

  • Show current time, date and name of day
  • Multiple color selections
  • Configure when to show battery level (including always or never)
  • Option to increase font size for better readability
  • Option to show step count

Links and References

Build and run

To build an run this code you must have the Connect IQ SDK installed and add the bin directory from the SDK to your PATH.

# Create an output directory
$ mkdir -p out/production/seaside

# Launch the simulator
$ connectiq

# Compile the watch face
$ monkeyc \
    -d vivoactive3 \
    -f monkey.jungle \
    -o out/production/seaside/seaside.prg \
    -y path/to/dev_key.der

# Run it in the simulator
$ monkeydo out/production/seaside/seaside.prg vivoactive3

# Package it for release
$ monkeyc \
    -e \
    -f monkey.jungle \
    -o my_app.iq \
    -y path/to/dev_key.der

VS Code

Or just, as you probably should, install the VS Code Extension and build that way.

Or, even better, install the Prettier Extension Monkey C which contains the Monkey C Optimizer to build an optimized version.

Releases

No releases published

Packages

No packages published