An open source, AI-enabled smart watch that can be easily customised.
Bangle.js is an open, hackable smartwatch.
Want to know more?
- Nearform gave out pre-release Bangle.js watches to everyone at the NodeConf EU conference. They have a write-up, and you can also see what they’re saying on Twitter!
- You can also check out the documentation put together by the Nearform for the conference, which covers getting started with the watches – bear in mind that these are still pre-release watches!
- Hackster has an interview and article about Bangle.js
- Gordon was a guest on the SAP Labs Talk Podcast
- Heise.de has an article (in German) about Bangle.js too
- There are also articles in Computer Weekly, FOSSBytes, CNX Software, IT Knowledge Exchange, and many others
- IP68 Waterproof: up to 10m underwater
- Nordic 64MHz nRF52832 ARM Cortex-M4 processor with Bluetooth LE
- 64kB RAM 512kB on-chip flash, 4MB external flash
- 1.3 inch 240×240 16 bit LCD display with 2 zone touch
- GPS/Glonass receiver (UBlox)
- Heart rate monitor
- 3 Axis Accelerometer (with Pedometer and Tap detect)
- 3 Axis Magnetometer
- Piezo speaker and Vibration motor
- 350mAh battery, 1 week standby time
- 5 x 5 x 1.7 cm case, plastic with stainless steel ring
- Can be disassembled with just 4 screws
- 40kB RAM for program memory/variables
- Bluetooth 4.2 Advertising, Central and Peripheral mode support with built-in Nordic UART service
- Graphics library with Vector fonts, bimap rotate & scale
- Tensorflow Lite for Microcontrollers AI
- Wear-levelled flash filesystem
- Heatshrink compression
- Upload functions written in C or ARM Assembler
- Built-in wireless debugging
- VT100 Terminal support on LCD
- Program with Web-based Web Bluetooth IDE or Node.js-based command line tools
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:
- Shipped over 30,000 official Espruino devices
- Developed 5 further Espruino devices (including the wifi board, Pico, Puck.js, Pixl.js and the MDBT42Q breakout board)
- Launched and successfully delivered two more KickStarter campaigns
- Written over 11,000 forum posts
- Produced over 100 online tutorials and over 90 YouTube videos for Espruino
- Fixed over 1500 GitHub issues for the Espruino project
- Made over 3700 GitHub commits in Espruino, and many more in other Espruino-related projects like the IDE.
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.
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.
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.
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.
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:
- A Bangle.js Smartwatch
- A Magnetic USB charge cord
- Getting Started instructions
- Espruino Puck.js – a small, self-contained Bluetooth button with 3 axis magnetometer
- Espruino MDBT42Q breakout board – a tiny, low power Bluetooth board that can run off a wide range of voltages and fit on a breadboard
- Espruino Pixl.js – a low power Bluetooth LCD with Arduino pinout
Want something that there isn’t a reward for? You can select one reward and then pledge extra – for instance if you wanted two Bangle.js and a MDBT42 board (above), you could select the ‘Hackers Edition’ and pledge £117 (£60 + £10 + £47), the cost of the Hackers edition with postage, plus a single Bangle.js.
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:
- More applications
- Documentation, examples and tutorials
- Adding features to the firmware (pedometer, etc)
- Power usage profiling and improvements
- Testing and bug fixing
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.
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.
- Now: further development of Bangle.js firmware, documentation and apps
- End of November: KickStarter finishes
- Mid December: funds clear, watches ordered, beta test watches programmed and shipped
- Early February: watches arrive
- February/March: watch programming, packing and shipping
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.
£40,000 (ACHIEVED): 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 (ACHIEVED) : 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.
£100,000 (ACHIEVED) : Optimised graphics mode for games. Bangle.js already has an unbuffered 240x240x16 bit graphics mode, as well as a double-buffered 240x160x16 bit mode. With this stretch goal we’ll be adding low-resolution 8 bit buffered graphics which will make it much easier to write full-colour, fast moving games (and other graphics).
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 shipping from the UK – if you are not in Europe you may be liable to import taxes.
- The touchscreen is two zone (not full touch)
- The piezo speaker is pretty quiet
- The heart rate monitor doesn’t always read accurately when you’re moving around
- We’ll be adding support for notifications from GadgetBridge on Android, but don’t have any plans to support iOS.
- Web Bluetooth works on Windows 10, Mac OS, Chromebook, Android and Linux. iOS requires a cheap paid app (WebBLE). While we have a native application for programming Bangle.js in Windows 8 and earlier, there is currently no Web Bluetooth support.
We offer competitive prices on large volume orders and super fast turnaround time.
Kindly write your requirements we can discuss further in more details based on your needs.
You can also email us at firstname.lastname@example.org directly for Special Inquiry.