Summary of BANGLE.JS: THE HACKABLE SMART WATCH
Bangle.js is an open-source smartwatch developed by NearForm and Gordon Williams, running JavaScript via Espruino and TensorFlow Lite for microcontrollers. It aims to create a community-driven health platform where users build custom ML-based applications. The device features a Nordic nRF52832 SoC, comprehensive sensors including GPS and heart rate monitoring, and an IP68 waterproof rating, enabling full programmability for diverse projects beyond standard timekeeping.
Parts used in the Bangle.js:
- Nordic Semiconductor NRF52832 SoC
- KX023 accelerometer
- Single 3 axis compass
- BD 1668 heart rate monitor
- Holtek touch controller (2 zones)
- 240×240 Colour LCD display
- U-box UBX-M8130 GPS receiver
- Piezo speaker
- Vibration motor
- 350mAh battery
- Plastic case with stainless steel ring
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.
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.
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.
Read more: BANGLE.JS: THE HACKABLE SMART WATCH
- What programming language does Bangle.js use?
The smartwatch uses the Open Source Espruino JavaScript interpreter. - Can developers create machine learning applications on this watch?
Yes, it runs TensorFlow Lite for microcontrollers allowing ML-based app development. - How do users upload applications to the device?
Developers can upload JavaScript apps using the App Loader via WEB Bluetooth. - Does the Bangle.js support underwater use?
It has an IP68 waterproof rating allowing use up to 10m underwater. - What processor powers the Bangle.js?
It uses a Nordic 64MHz nRF52832 ARM Cortex-M4 processor. - Can the device be disassembled easily?
Yes, the case can be taken apart using just four screws. - What sensors are included in the hardware specifications?
It includes a heart rate monitor, 3-axis accelerometer, 3-axis magnetometer, and GPS. - Is the Bangle.js designed for health data control?
Yes, the goal is to build a community-driven Open Health Platform for user-controlled health data.
