Bangle.js is an open, hackable smartwatch.
You can easily install new apps from the web or develop your own using JavaScript or a graphical programming language (Blockly). All you need is a Web Browser (Chrome, Edge or Opera) and you can upload apps or write code to run on your watch wirelessly! Bangle.js is waterproof and AI enabled and comes with bluetooth low energy, GPS, a heart rate monitor, accelerometer and more.
Want to know more?
Hardware Specs
Software Specs
Apps
Because Bangle.js is entirely open, you can upload the apps we’ve already developed, create your own, or upload apps created by the online community.
Our app store (at banglejs.com/apps) will be entirely free. We’ll never share your data with third parties or make your use of our apps dependent on third party cloud services. So far we’ve created some great apps including games, a compass, map, spirit level, QR code display and heart rate monitor (to name a few) and we have lots more to come.
We already have a great online community (our forum has over 35,000 posts!) and we’re excited to see what apps you come up with!
Who are we?
I’m Gordon Williams, the creator of Bangle.js. I’m a software engineer who loves tinkering with hardware. 7 years ago I became frustrated with the steep learning curve required to create software for microcontrollers and started working on Espruino. I’ve been working full-time on it since the end of the first Espruino KickStarter campaign in 2013. My work is Open Source and funded by sales of my Espruino devices and the support of the online community via Patreon.
Since Espruino’s first KickStarter campaign, I (with a bit of help from family and friends) have:
Several others have provided a huge amount of help with Bangle.js: Nearform Research has done a lot of work on the AI, apps, documentation, testing and publicity for their Nodeconf EU conference, and Fanoush‘s work on nRF52-based smart bands was instrumental when figuring out how to replace Bangle.js’s factory firmware.
Why Bangle.js?
It feels great to use things you’ve made, but even if you are an experienced hardware designer it’s difficult to make yourself a watch that is reliable and useful long term, let alone waterproof and affordable.There’s some amazing hardware already out there, but it’s usually crippled by bad software and isn’t supported of upgraded.
That’s why we decided to take a powerful, well-designed Smartwatch that already exists, completely reverse engineer it and replace all of its firmware with our Open Source software to really unlock its capabilities.
Why JavaScript?
Developing software for embedded devices can be a real pain. You normally need wires attached to the device you’re developing for, and you need to install and set up a complex toolchain. Anything more than a few lines of code can take a minute or more to compile and upload to the chip, and this applies to every change you make. Many tools don’t even allow for debugging.
Bangle.js has none of those problems. The Espruino JavaScript interpreter allows you to upload code and debug wirelessly out of the box using just a Web Browser, with no need to install software on your computer.
Tensorflow Lite AI
Tensorflow Lite for Microcontrollers is built into Bangle.js’s firmware so you can run machine learning models wirelessly on your wrist! This allows you to detect gestures using the accelerometer. If you’re feeling adventurous you can customise the data you collect and create or update machine learning models without even having to reboot your watch!
Simply train and test your model on your PC with Tensorflow, then create a tflite model and upload it to your watch.
Open Source
Bangle.js uses the Open Source (MPLv2) Espruino JavaScript interpreter. All source code, tools and documentation are provided under an Open Source licence.
We’re using an existing watch so we can’t provide original schematics (we don’t have any!), however the information we have gained from reverse engineering the watches will be made Open Source.
What do you get?
If your reward contains a Bangle.js, you’ll get a box containing:
Depending on which reward you chose, you may get other Espruino Bluetooth boards as well. These all run JavaScript, can communicate with Bangle.js, and are programmed with the Espruino Web IDE. From left to right:
Current Status
We’ve just purchased and programmed 400 watches for the attendees of the Nodeconf EU Conference running from 10th-13th November 2019, so we’re confident in our ability to source and program the hardware. While the firmware is very capable right now (as shown in the video), there is still a lot that we’re planning to do:
We’re confident that we can get this done and ship your rewards in time, as we have with our previous KickStarter campaigns. As with our other Espruino devices, Bangle.js will continue to receive software updates long after this campaign ends.
Production Timeline
Because we’re using existing hardware, our timeline is a lot easier than it has been for previous products, but we’re trying to set realistic deadlines with some wiggle room in case there’s a delay in production at the factory.
THE PIXELMASTER
The Pixelmaster is a graphical representation of all the amazing support we receive during this KickStarter campaign. Every Bangle.js will have an ‘About’ screen built into the firmware, and everyone who buys a Bangle.js will get to choose the colour of 9 pixels on the screen from the 16 colour Mac palette:
Backers who pledge additional support will get an extra pixel per £1 pledged. But which pixels? You get to choose! Those with most pixels chose first, and if you have the same number of pixels as someone else, you get first dibs if you pledged first.
Stretch Goals
£40,000 : You can write simple code graphically right now, but if we reach this stretch goal we’ll be extending our graphical editor with support for Graphics, Menus and Images. This will make it even easier to create good-looking apps without any coding knowledge.
£75,000 : We’ll add an online file system to the Espruino Web IDE so you don’t need to save your apps or code you’re working on to your computer. This means you’ll be able to develop, access and save your apps easily from anywhere at any time.
… : If we reach any of our earlier stretch goals we’ll add more here. Let us know in the comments if you’ve got any suggestions!
Small Print
We pride ourselves on being open – not just with Open Source software, but about everything. Bangle.js is a pretty awesome piece of hardware, and is great value at this price, but there are a few things that aren’t perfect. So that you’re not disappointed, we think you ought to know that:
We’re trying hard to reduce risks as much as possible by sourcing existing hardware and then installing our software on it (this means we’re not wholly reliant on the factory to source the watches). We’ve already purchased 400 watches and programmed them for Nodeconf EU, so we’re confident in our supply chain and ability to program the watches.
However that’s not to say that things can’t go wrong. In the process of getting this far we ported Espruino to 3 different watches from different manufacturers before we found a manufacturer and watch we were confident in. If everything goes seriously wrong and we have to port to another watch then we’re confident that we can do that – the specs and look of the watch may change and there may be a month or two’s delay but you will still receive watches that provide the same experience. This won’t affect any beta-testing rewards.
Brexit: This will only affect non-UK EU residents. At some point in the future it seems likely that the UK will exit the EU, and while it is likely we will only do so with a deal that allows free exchange of goods, there is a small chance that we will leave with ‘no deal’ on 31 January 2020. If this is the case, we’ll foot the bill and will ensure that you get your goods without paying extra taxes.
The final issue worth mentioning is that while there is a great Espruino community, Gordon Williams is almost entirely responsible for the Bangle.js KickStarter campaign, and he and his wife are expecting a baby in mid-December! He will be taking paternity leave and working part-time over Christmas and New Year. We’ve taken this into account in our timeline and believe that there’s still enough time to deliver on our KickStarer commitments.
Visit our Environmental Resources Center to learn how Kickstarter encourages sustainable practices.
We’ve deliberately chosen hardware for Bangle.js that is reliable and easy to maintain. The watch itself can be opened with 4 screws, and if the rechargeable battery fails it can be replaced. Nothing is glued shut on this device! Bangle.js is designed to function independently of other devices and services (if required), so whatever happens in the future you’ll be able to turn on your Bangle.js and use it.
We’re committed to long term support. The very first board we made from the first KickStarter campaign is still receiving updates 6 years later (and will benefit from the work we do on Bangle.js). Bangle.js will be no different and will continue to be supported and improve as time goes on.