FLASH SALE!   🛍️   Get a stonking 40% off Inventor 2040 W – an all-in-one board for making contraptions that can move, sense things, make noise, and talk to the internet!!

Bangle.js Smart Watch

by Espruino

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.

Just got your Bangle.js? Check out The Bangle.js 'Getting Started' page


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

Power Consumption

  • Idle, accelerometer on 12.5Hz - 0.35mA
  • Idle, accelerometer on 1.25Hz - 0.15mA (default if not moved)
  • BLE Connected in high bandwidth mode - 0.5mA
  • Compass on - 2mA
  • Heart rate monitor on - 2.5mA
  • 100% CPU usage running JavaScript - 7mA
  • GPS on - 30mA
  • LCD on - 40mA
  • Turned off - 0.08mA (0.6mA if turned off via Bootloader)

This means that when idle (in the normal power-on state) you can expect around 30-90 days of battery life depending on whether Bangle.js is moved or not.

Note: These figures are based on the latest Bangle.js firmware. Earlier firmwares have slightly higher power consumption figures.


The supplied charge cable connects to a USB port to charge Bangle.js (there is no data connection, it is power only).

You must connect the cable the right way around or it won't work: With Bangle.js facing away from you (so you're looking at the shiny back) and the CE Rohs text the right way up, the USB cable should exit from the left side of the watch.

The cable is magnetic and the wires are connected directly to USB power. Do not leave your cable plugged in or it might attract itself to the nearest magnetic (probably conductive) object and short out.

Software Specs

  • Easy to code and debug wirelessly using JavaScript or the graphical editor (based on Blockly)
  • Pre-programmed with the Espruino Open Source JavaScript interpreter
  • Vast majority of JavaScript ES5 features and many ES6 features including: Regular Expressions, Promises, Arrow Functions, Template Literals
  • 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 they’ve already developed, create your own, or upload apps created by the online community.

The Bangle app store (at banglejs.com/apps) is entirely free and open. They’ll never share your data with third parties or make your use of our apps dependent on third party cloud services. So far there are over 100 great apps including games, navigation and fitness aids, watch faces, spirit levels, QR code displays and more - and new apps get added weekly!