Trying out bangle.js in the wild

Posted on
  • So I'm a runner. And as I turn older, I started to run in hills and mountains.
    2 years ago I spent 300€ for a Suunto smart watch, to guide me on tracks:

    I really like it, but it could be improved in a lot of ways, in particular its software. At some point, it was possible to write custom screens with some sort of JavaScript :grin:
    But the whole Suunto ecosystem is very closed, and their support is, for the least... not responsive.

    So when I learned about Bangle.js you can imagine how excited I was.
    The plan is to mimic Suunto's sport mode:

    • start an activity
    • cycle through several screens, showing metrics (current & average speed, distance, BPM, burnt calories, incline/decline, altitude, for the total activity or current lap)
    • pause and stop

    In my craziest dream, I'd love to write a navigation screen to guide you along some GPX track. But this may be too ambitious given the hardware.

    Not surprisingly, writing such app is not in indoor activity. It depends too much on GPS to stay at home.
    So yesterday, it was the première for my app: after work I took my bike (10km +200m) to meet my fellow runners and we went for a run across hills (11km +400m), a watch on each wrist.
    It was night, raining and wind blowing.

    The Bangle behave very well!
    The LCD was lit up all the way long (3h30), 10 FPS refresh rate, GPS and HR on, and it ate 60/70% of its battery (same as the Suunto!).

    GPS fix took a while compared to Suunto, but I think the accuracy is better (I'll perform more investigations). The lack of accuracy is my greatest complain. GPS Altitude (benchmarked against signs mentioning it) is very accurate, I suspect instant speed to be quite good as well.

    No surprise: HRM gives terrible results (either 50 or 200 BPM). My skin is quite clear, and my veins very easy to spot. I was careful not wearing it on bones, and as it was night, the amount of light pollution was limited.

    Despite this little issue I was amazed how good Bangle did, especially when you consider the hardware is 5 times cheaper! Amazon work @Gordon!

    I'll continue crafting this sport mode, and share the code when it will be ready, would someone be interested to use Bangle for sport!

  • Merci beaucoup @feugy for this great test report about Bangle.js in the field of outdoor sports. Getting the heart rate solid is not an easy task. I while ago, I had to wear a harness on the upper torso to even get useful signals into the watch like / combined display on my wrist. It is though remarkable what this affordable Bangle.js can do.

  • That's great, thanks for the write-up!

    It is a shame about Bangle.js's heart rate monitoring, but the sensor isn't great and doesn't like motion at all. With a bit of work we can probably do better with it though, even if that's done by ignoring heart rate readings when we know the watch is moving too much.

    I guess Bangle.js will always get compared to single-purpose smartwatches/bands so I imagine people that 'just' want a simple activity monitor will be better off going elsewhere.

    However I really hope it'll be helpful/useful if you want that little bit extra... Maybe logging/displaying some extra information that normal watches don't, navigating, communicating with others, or a bunch of other stuff.

    In my craziest dream, I'd love to write a navigation screen to guide you along some GPX track

    There's already a 'Route viewer' app on https://banglejs.com/apps/ which does this. It could do with some work but you definitely can use it for navigation :)

  • Awesome work Damien! Related to the GPX traces, we also did some initial playing with grabbing map tiles from Mapbox after we realised that OSM doesn't like people using their internal APIs for tiles.

    The Mapbox API works really well and is very simple to use. It's also free for quite a bit of usage. I'll shoot you over the info I have. We didn't have time to finish it for NodeConf EU.

  • Thanks Conor.
    I'll have a try!

  • What is the status of Bangle.js and apps displaying a map tile in the background of current track?
    What about loading a track file and display in background at the sametime that bangle.js is tracking a new path?

  • What is the status of Bangle.js and apps displaying a map tile in the background of current track?

    If you install the OpenStreetMap app you'll get map tiles in the background. It'll display where you are and will leave a trail - but it doesn't display the currently recorded GPS track on it. There's an issue open for that at https://github.com/espruino/BangleApps/issues/395

    What about loading a track file and display in background at the sametime that bangle.js is tracking a new path?

    That's not done yet, but would be reasonably easy to add. There is track rendering code in the GPS recorder app.

    It'd actually be nice to make the track and map rendering into libraries that can be used by other apps. I think that would open up a lot more possibilities.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Trying out bangle.js in the wild

Posted by Avatar for feugy @feugy

Actions