Bangle.js: the hackable Smart Watch

Bangle.js: the hackable Smart Watch

While Python currently sits atop the throne of the most popular programming language in the world, languages like javascript have been creeping around the throne with different frameworks and APIs that have taken the language beyond use of web development. This was evident in Espruino as it opened up the doors to the use of javascript in programming microcontrollers. The success of Espruino has enabled the development of several great projects one of which is the Bangle.js smartwatch which was announced at the NodeConf EU conference earlier this month.

Bangle.js is the first hackable open source JS and TensorFlow-driven smartwatch. NodeConf EU 2019. Kilkenny, Ireland. November 2019. Photo by Nico Kaiser

The smartwatch is a product of NearForm trying to top their previous NodeConfEU badges and was developed by the NearForm Research team in partnership with Gordon Williams.

Not just your ordinary smartwatch, Bangle.js runs the recently release TensorFlow Lite for microcontrollers which means users can not only develop javascript applications, but they can also develop ML-based applications for the watch. This comes in really handy as the goal, as described by NearForm, is to see things snowball into a community-driven Open Health Platform through which people can build their own health apps ( to run on the watch) and stay in control of their health data.

At the core of Bangle.js is the Nordic Semi Nordic Semiconductor NRF52832 SoC using the Bluetooth LE 4.2 Technology and a 32mbit flash. The device comes with an array of sensors including; a KX023 accelerometer, a single 3 axis compass, a BD 1668 heart rate monitor, and 2 zones on/off Holtek touch controller.  The display is made up of 240×240 Colour LCD, GPS is included using the U-box UBX-M8130 and three buttons are added for control with a buzzer for sound notification.

The Evolution of Bangle.js – Espruino conference badges of 2017, 2018 and 2019 at NodeConf EU 2019.

Some of the hardware specifications of the device are provided below;

  • 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 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

Quite a lot of work has been done on the software. Some of the features currently available include;

To showcase the Machine Learning capabilities of the device, the demo during the NodeConf EU was a gesture-controlled based app that, through the help of the tensor flow lite,  transformed the watch into an HID device for controlling presentation slides.

The Smartwatch is fully programmable and the limits of its ability are defined by your imagination. The smartwatch uses the Open Source (MPLv2) Espruino JavaScript interpreter and it comes with an App Loader to which makes it easy for developers to upload JavaScript-based apps to the device via WEB Bluetooth.

The project is fully Open Source, as such, all the source code,  example apps, tools, and documentation are provided under an Open Source license on the project’s GitHub page.

A Kickstarter campaign has been launched for the project and it has already exceeded its goal with a pledge of $96,090 by 990 backers, with 5 days till the end of the campaign.

More information about Bangle.js is available on the announcement post by Nearform

Please follow and like us:
Pin Share
About Emmanuel Odunlade

Hardware Design Engineer | #IoT Consultant |All things #ML | Entrepreneur | Serial Writer | Passionate about Innovation and technology as tools for solving problems in developing countries. Spare time is spent around writing and advocacy for the growth of the Maker/DIY Culture in Africa.

view all posts by emmanuel
Notify of

Inline Feedbacks
View all comments
Get new posts by email:
Get new posts by email:

Join 97,426 other subscribers