Getting Started

Welcome to NodeWatch

Bangle.js is an all-new programmable smartwatch platform based on EspruinoJS embedded JavaScript and TensorFlow Lite for Microcontrollers.

NodeWatch is the specific implementation of Bangle.js for NodeConf EU 2019, co-developed by Espruino and NearForm Research. You'll see us use the terms Bangle.js, NodeWatch, watch and device interchangeably here and elsewhere.

On this site we'll get you started with your watch and point you to the latest official information about it.

Updating your NodeWatch

If you received your watch any time before June 2020 and it is running firmware older than 2v05, we strongly recommend you update the firmware. You can do that by following the steps here.

Once that is done, you also need to go to the About tab of the Bangle.js App Loader, click "Remove All Apps" and then click "Install Default Apps". If your firmware is very old, you may have to carry out the "remove apps" step several times. Once you have the default apps installed, you can then install any other apps you like.

Bangle.js Buttons and Touch

To use the watch you have three buttons and a simple two-zone touch screen with swipe. We currently don't use the touch screen for menu control but some of the apps use it.

The buttons, top to bottom, are BTN1,BTN2,BTN3

  • BTN1: Up/Previous in menus
  • BTN2: Select in menus, or bring up menu when in Clock
  • BTN3: Down/Next in menus (long press to exit an app)
  • BTN4: Left-hand side of touchscreen. Used for some games, but not in menus
  • BTN5: Right-hand side of touchscreen. Used for some games, but not in menus

To exit any app and return to the clock, long-press BTN3 until the clock appears.

  • You can turn the watch off in Settings or very long press BTN1/BTN2 together.

(More advanced Button usage is on the Bangle Untangling page)

Pre-installed applications

Your watch comes pre-installed with some apps and widgets. The particular set depends on when you received your device but some of them include:

  • Morphing Clock - the default watchface
  • GPS time - Set very accurate time
  • Heart Rate Monitor - simple HRM which requires you to not move
  • Settings
  • About
  • Battery/Charging widget
  • Bluetooth widget

Enabling Bluetooth

To enable bluetooth and make use of the many connectivity based features described below, do the following:

  • Go to Settings > BLE
  • Set to On

Setting the time

The fastest way to set the time is to pop outside for a minute and launch the GPStime app. It should get the correct time very quickly and you can then press "Set". You can alternatively go to the About tab here and click the "Set Bangle.js Time" button.

Charging your device

The device has a magnetic charging cable which you can easy connect to the device. Check the charging indicator on the screen to ensure it is charging when it is connected. It is unfortunately not keyed so you may accidentally connect it the wrong way around. You can also refer to the diagram on the sticker attached to the charging cable.

Installing Applications from the App Loader

Rather than fill NodeWatch with applications you are not interested in, you can make use of the App Loader for Bangle.js to select the ones you want. In some cases you just have to click the upload button beside the App. In other cases there may be an extra menu or webapp that you need to interact with first (e.g. uploading a KML route file). Note you need to use Google Chrome for this site to work correctly.

In order to upload the Apps you first have to make your device connectable over Bluetooth in the Settings menu on your device and check what the Bluetooth address is. Make sure to exit back to the Clock screen once you do this. Then, when you go to upload an app, you'll see a Web Bluetooth pop-up menu followed by a list of visible devices. Just pick your device from the list, based on its Bluetooth address. If it's working, you'll see an "uploading" message on your watch screen.

Getting more Bangle.js devices

You can now purchase a Bangle.js directly.

Note that NearForm has no involvement in the sale of devices.

Detailed and updated Bangle.js Information Sources

This site is just your initial landing zone for Bangle.js, it won't have lots of new ongoing information added to it. Once you have read the information here, you can stay up to date with the latest information about the watch on these pages:

Read the blogposts

If you haven't done so already, please read these three blogposts:

and if you're interested in the details of how we got gesture recognition using Google's TensorFlow framework running on a low powered device, you can read Andreas's Post too.

Programming your NodeWatch

Details on programming your device with the Espruino Web IDE are here.

Non-Programmers programming your NodeWatch

As we said above, you do not have to be a programmer to take part in the workshop. If can't program then you can make use of the interactive visual programming language Blockly, by following the video on the main Espruino site.

Specific Bangle.js blocks are being added to the Espruino Blockly implementation.

Gadgetbridge for Android

Gadgetbridge is an Android app which can deliver notifications from your phone to your Bangle.js. You can install it from here. Further information here.

DroidScript for Android

DroidScript is a lightweight IDE and environment for running JavaScript on Android. It can interact with your Bangle.js too (but not at the same time as Gadgetbridge). See further information here.

Next Steps

If you do anything fun and/or interesting with the device, please let us know on Twitter, Facebook or via Email.