Bangle.js: the hackable Smart Watch
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.
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 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