Notes on programming for the Suunto Ambit range of watches.

Writing a Suunto watch app

Written by Haydn Williams

I’ve just made my first app for the Suunto Ambit range of watches (I have an Ambit 2), and thought I’d jot down some notes which might prove helpful to anyone else wanting to do the same. Points of note are…

  1. Suunto call the language “App Script”.
  2. There is a programming Guide from Suunto here:
  3. Your “app” code is run once per second on the watch.
  4. As far as I can tell, variables are created and destroyed each time the code runs; there is no persistence of variables between executions. This means that you can’t count events over multiple code runs, for example – everything must be calculated from first principles each time.
  5. The only variable types available for you to use are integer, float and datetime. These are defined using buttons on the website rather than within the code.

    Defining variables and setting the output format.
    Defining variables and setting the output format.
  6. The only output you can give from your code is a number (int or float) or a time. You must pass this by assigning its value to the ‘RESULT‘¬†variable, i.e. RESULT = 100;
  7. You also get six alphanumeric characters of text to play with in the output, split anywhere from ‘six before the result’ to ‘six after the result’ or anything in-between (e.g. three before and three after). You can change these labels in your code using prefix="mystri" or postfix="mystri" (that’s right – ‘postfix‘. I think Suunto made that word up; seems to me that ‘suffix’ is what they meant).
  8. There is no concept of “settings” for an app, so you cannot allow your users any kind of interaction to specify any times, numbers, etc. which may be relevant. You have to just hard-code with values you think will appeal to the majority of people. [As an aside, this leads to the existence of automatic code generators such as Ambit Intervals, which creates App Script code based on an individual user’s requirements.]
  9. You can test the app on the website, by playing around with sliders to represent changing values.

    App testing screen.
    App testing screen.

4 thoughts on “Writing a Suunto watch app

  1. Odo Bogdan says:

    Thanks for jotting down this info! It is really useful, Since I am looking to buy a programable / geeky fitness watch. And from what you described the Ambit2 is very limited which is a shame…
    I have a Texas Instruments EZ430 which I re-programmed. however this watch does not have many sensors.
    Do you know if the newer Ambit watches are more open to programming?

    • Afraid not – apparently there is no ability to create apps on the new Spartan.

  2. pj says:

    Hi , I’m wondering if the Suunto Traverse and Traverse Alpha have this same feature as Ambit family?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.