Bystroushaak's blog / English section / Improvements / The Most Personal Device experiment / BangleJS opensource smartwatches

BangleJS opensource smartwatches

My quest for programmable smartwatches lead me to a lot of googling sessions, during which I've discovered BangleJS, open source smartwatches programmable with JavaScript.

The watches

Right after the start, my first thoughts were: wow, colorful. The resolution looks good enough. Wait, what's with the weird position of the display?

Watches themselves boasts that you can make your own apps in JavaScript, so lets see how you do that.


First ouch came when I've tried to pair the watches with my phone, and found out that you need paid third party application to do that. It costs 49kč, which is something like €2, so that's not that bad.

So I've downloaded it, paired my phone and watches and found out, that the watches won't receive the notifications, because the app doesn't support that. Lovely.

App's layout is super weird:

It is actually just a web browser with Bluetooth support, so whole "app" is just somebody's website. That's actually good, because you can self-host your own marketplace pretty easily.

What's not good is that a Bluetooth support is just some basic serial console emulation, which means that Bluetooth upload is really, really slow. I've downloaded an app and the whole process took more than five minutes, failed several times, and I had to keep the app and the phone awake the whole time.

Dev environment

The dev environment is again, a web page. Sigh. You have to open and then connect the app on your phone, which will be able to upload apps to your watches.

There is quite enough tutorials on all kinds of topics:

I've been able to create simple application without any problems, I've uploaded it to the watches and everything worked just fine. So this part of the project is quite well done, except for the web IDE, which is obviously just the most basic editor. But it is usable.

Firmware upgrade

I've decided to upgrade the firmware, because I've found this thread on the forum, from the guy that added experimental support for iPhone notifications:

Whole thing was really nightmarish process that requires you to install another app from Nordic (semiconductor manufacturer) on your phone, then download firmware on the phone and upload it. The upload is of course extremely slow, because it uses the same serial console emulation.

I've toyed with the project for several hours, but I couldn't make it work.


After a few days of usage, I've decided to sell the watches, because:

  1. They are huge. I am big guy, almost exactly 2 meters (~6.5 feet) tall, and they were still huge for my arm.
  1. They are uncomfortable. I had literally bruises after two days of usage.
  1. The watches couldn't keep time. Quite absurd really, but they diverged by more than ten minutes / day, even after firmware upgrade.
  1. No easy way to make notifications work on iOS / iPhone. It is quite possible that this will get better with time, but my patience run out.


The watches are relatively cheap. They are hackable, and you can really change everything. This has its disadvantage in that the community is relatively small, and almost everything is a hack, or in a proof of concept stage of development.

I could probably make an app (or watch face) that would automatically correct the diverged time. I could add some kind of notification support, and integration with calendar and all that standard stuff, all users of smartwatches are used to. Everything is probably fixable, given enough attention and time.

Overall, I've decided that this is not the right project for me, as it is one of those thing, that act like babies; you have to take care of them, feed them, keep informed about them and generally give a lot of attention to them. And I don't have enough time for that.

Lesson learned about all alternative smartwatch project is that the ecosystem matters, and the app for your mobile matters most. Without it, you don't really have smartwatches, you have programmable watches locked out of the rest of your info-sphere.
Become a Patron