Strapped onto this screen is an impressive range of sensors, including GPS, heart rate, and barometric pressure. A 64MHz Nordic microcontroller with an Arm Cortex-M4 core pulls all the data together and keeps the screen ticking. This is a reasonably powerful microcontroller that should be able to keep up with most of your needs. There’s a bit of a delay in starting apps, but not enough to annoy us.
This reviewer is really impressed by the hardware, mainly because of how much software it keeps running and how little battery power it uses. However, there is another take – the screen isn’t as bright and crisp as some others. The heart-rate monitor is a little finicky, and the GPS can be slow.
For us, the trade-off of having good battery life is well worth these aspects, but others may prefer a different trade-off.
A softer side While the hardware is a good proposition, it’s the software that brings this watch to the attention of this magazine. The entire software stack is designed to be programmable and is based on the open-source Espruino framework. This means that everything is written in JavaScript – a language that seems to delight as many people as it horrifies. JavaScript was originally a language used to add features to web pages, where it sat between two asynchronous and unpredictable things: people and web servers. The way it developed here – with a strong emphasis on event-based programming – means it’s a good fit for some other cases, including where low power use is essential. It can take a bit of time to get your head around event-based programming if you’re used to a more traditional paradigm, but it’s a good fit for watches (and web pages).
There is an app store for Bangle.js 2 at that can load apps directly onto your watch via Web Bluetooth. At the time of writing there were 543 apps available, but many replicated functionality. There are apps for most core functions of heart-rate monitors, GPS trackers, and phone notifications, but beyond this, it’s a little sparse. However, the point of an open smartwatch isn’t that there’s lots of apps available, but that it’s easy to create your own.
The software stack is open by design, so you can access all of the watch’s hardware without artificial limits, and there’s plenty of documentation to get you started. All of the apps in the store are open and linked via GitHub, so there’s a lot of code that you can look at for inspiration.
While many smartwatches are intimately linked to smartphones, the Bangle.js 2 is different. It can be linked to a smartphone – and has a companion app for both Android and iOS – but it’s fundamentally a standalone device and doesn’t need the phone for any of the core functions. The main thing you’d want the phone for is for receiving notifications, or transferring data. The latter can be done with a computer and web browser instead.
Overall, we think this is a great, hackable watch that many people will get a lot of joy out of. The part of the watch we dislike the most is the interface. There’s a single button on the side which can be used for short or long button presses. Additionally, there’s a touchscreen, but given the small size of the screen, we found it a bit clumsy. We wouldn’t say it was hard to use, but it never quite felt natural to us.
However, we absolutely love the battery life and daylight-readable screen. Coupled with the open-source software, this is definitely a smartwatch we can see ourselves using for a long time. We’ve played around with lots of hackable smartwatches over the years (including the original Bangle.js), and we can confidently say that this is our favourite by a significant margin.
Verdict
10/10
Open, hackable, lasts for ages on a single charge – that’s a great combination.