Bangle.js 2 JavaScript smartwatch gets an nRF52840 MCU, a new design (Crowdfunding)

The Bangle.js 2 is an upgraded, improved version of the Bangle.js hackable, JavaScript smartwatch based on NordicSemi nRF52832 SoC that was introduced in 2019 with ESPruino open-source firmware.

The new watch comes with a new rectangular design, a Nordic Semi nRF52840 SoC that offers four times the RAM, twice the on-chip and external flash, plus an always-on sunlight-readable screen with full touchscreen support, and improved Bluetooth signal strength.

Bangle.js 2 specifications:

  • MCU – Nordic Semi nRF52840 Arm Cortex-M4 MCU @ 64MHz  with Bluetooth LE, 256kB RAM, 1MB on-chip flash
  • Storage – 8MB flash
  • Display – 1.3-inch 176×176 always-on 3-bit color LCD display (LPM013M126) with backlight, full touchscreen
  • Connectivity
    • Bluetooth 5.0 LE with advertising, central and peripheral mode support
    • GPS/Glonass receiver
  • Sensors
    • Heart rate monitor
    • 3-axis accelerometer, 3-axis magnetometer
    • Air pressure/temperature sensor
  • Misc – Vibration motor
  • Debugging/Programming – Full SWD debug port on the rear of the watch
  • Battery – 200mAh battery good for over 2 weeks in standby time
  • Dimensions – 43 x 36 x 12mm watch body, with standard 20mm watch straps
  • IP rating – IP67 – Waterproof as deep as 1 meter for 30 minutes
Bangle.js 2 vs Bangle.js

The watch is pre-programmed with ESPruino firmware that allows you to code and debug the device wirelessly using JavaScript or a graphical editor. It supports most of JavaScript ES5 features and several ES6 features such as regular expressions, promises, arrow functions, and template literals. If you don’t feel like making your own JS app, you can download one that fits your needs from the app store.

Some of the other firmware highlights include a graphics library with Vector fonts, bitmap rotate & scale, Tensorflow Lite for microcontrollers, a wear-leveling flash filesystem, heatshrink compression, and VT100 Terminal support on the LCD. Bangle.js 2 has recently launched on Kickstarter, and has already passed its 8,192 GBP goal ($11,201 US) with over $80,000 raised so far. Rewards start at $81 for one Bangle.js 2 smartwatch with a wristband, a magnetic USB charge cord, and Getting Started instructions. Shipping adds 8 GBP to the UK, and about $21 to the rest of the world. That’s quite more than the PineTime watch, but the Bangle.js 2 has better specs, and most of the proceeds will be used to finance software development for ESPruisno firmware. Deliveries are scheduled to start around mid-November.

Share this:

Support CNX Software! Donate via cryptocurrencies or become a Patron on Patreon

11 Replies to “Bangle.js 2 JavaScript smartwatch gets an nRF52840 MCU, a new design (Crowdfunding)”

  1. I do not understand this “upgrade”. nRF5340 has been up for quite some time now, and offers more than double the performance, and a secondary core for radio, what’s not to like?

    1. there is no need for 53840 is such watch, it would only rise the price, make battery life and complexity worse for no reason

    1. Not directly, but if you check the app store, you’ll find a pedometer, a running app, GPS tracker, etc…

  2. it sounds expensive relative to the PineTime but I guess any profits flow directly back to Gordon to work on the software.

    If Javascript isn’t one’s cuppa, I wonder how hard it would be to port Infinitime or Wasp OS to the watch or vice-versa, port Espruino to the Colmi P8.

    1. espruino already runs on P8 and many other nrf52 based watches and fitness trackers, try googling eucwatch or simply p8 espruino

  3. ESPruino but not on an ESP.. on a nRF52840. Weird naming

    Out of curiosity, is there some reason both Bangle and Pinetime use nRFxxxx chips in place of ESPs?

    1. The obvious reason for using nRFxxxx chips is battery life. ESP devices last a day or so on a charge, while nRF52 devices can last several days to a couple of weeks.

Leave a Reply

Your email address will not be published. Required fields are marked *