[Discussion] Share your projects
-
Hey guys!
Looking at your screenshots, Your projects looks really ambitios, I want to give you a heads-up on a few technical constraints:
-
First off, remember that you don’t have nearly as much memory here as you do in a web browser (suuntoPlus simulator).
-
For topographic maps, we usually rely on specific symbols. I highly recommend looking into the spritemap technique for this.
-
There is no any sync api. If you want to upload information (like routes), your probably go into the Settings API, which allows you to pass a string. data from suunto app settings.
However, the string length is limited and you probably run out of memory if you try to put whole json in the settings, so you’ll need to design an efficient encoding protocol maybe try treating the string as a binary array… -
On Suunto watches, the Canvas API is heavily restricted.
- there’s about 50 draw calls.
- also not a full-fledged AP, e.g there is no
drawImagemethod.
which means you won’t be able to render images directly onto the canvas. worries not it could be bypass by layout layering technics, probably.
don’t want to say it’s impossible but it could be a challenging!
-
-
@Nikolai-Simonov said in [Discussion] Share your projects:
First off, remember that you don’t have nearly as much memory here as you do in a web browser (suuntoPlus simulator).
Check! Found that out the hard way

Project worked fine in the simulator but totally crashed my watch upon field testing. I was surprised that it not only crashed the app, but the watch as a whole. The watch totally hang.Is it known how much memory each watch type has?
-
@Nikolai-Simonov Thanks for the suggestions.
I have a first draft of a (hopefully) efficient encoding for the route data to get it onto the watch and not consume all the memory at once. Is the settings API the only way to get data into the watch? I saw something in the BLE methods that sounded like the watch could pair to a phone acting as BLE peripheral and offering data via characteristics.
there’s about 50 draw calls.
what exactly do you mean by that? Only 50 functions or only 50 calls before everything goes sideways?
-
@Unpaired8373 said in [Discussion] Share your projects:
I saw something in the BLE methods that sounded like the watch could pair to a phone acting as BLE peripheral and offering data via characteristics.
yes it as LiveTracking app exactly working, however i believe it’s much more drawbacks then wins. 1. you lost connection with the main suunto app, it’s really annoying for users. 2. the mtu so small payload ~20B to sync smth complex you need to orchestrate queue etc. and keep in mind memalloc on every step. 3. what if you lost packet int the middle?.. etc. I personally think encoding to string and copy - paste to setting is much more convenient way for this purpose.
@Unpaired8373 said in [Discussion] Share your projects:
what exactly do you mean by that? Only 50 functions or only 50 calls before everything goes sideways?
So, i faced up this behaviour in parkrun QR app, that canvas just became black after around 50th call on canvas it became black. to be honest it solving relativelly easy via 9patch tehnique
-
20B MTU is not much indeed.
@Nikolai-Simonov said in [Discussion] Share your projects:
So, i faced up this behaviour in parkrun QR app, that canvas just became black after around 50th call on canvas it became black. to be honest it solving relativelly easy via 9patch tehnique
I really have to get my 90s game dev skills up to speed
I’ve been in firmware development for a good time now but never with graphics output.Do you know if one can change HTML DOM from the javascript?
-
To answer my own question: apparently you cannot
-
I wasn’t happy about the lack of proper gym tracking experience so I built my own. Hopefully I get accepted to the partner program to submit the package soon.
Meet oSpotter


-
@oleksandr nice one, this looks really good!!
-
@oleksandr This is very nice, i was pondering about a kettlebel swing counter. But we only have an accelerometer, there is no gyroscope.
-
I just sent for approval a simple SuuntoPlus app called Manual Interval+.
I built it because I wanted an easy way to run manual intervals while still seeing the key information from the previous lap, and to have something that works for any interval style — even sessions without real rest blocks.
It shows the main metrics for the current interval, along with a small panel that switches between the most important details from the previous one.
Hope it’s useful! Feedback is welcome.
