Getting Started

Welcome to NodeWatch

The 2019 NodeConf EU digital badge turned out to be a hackable smartwatch. We think you're going to have lots of fun with it.

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.

First update your NodeWatch

Before you do anything with your NodeWatch, we strongly recommend you update the built-in firmware. You can do that by following the steps here.

Once that is done, we also recommend updating the Settings App by first deleting it using the App Manager on your watch and then re-installing it from the Bangle.js App Store.

You should also update the firmware regularly in early 2020 as it is under heavy development with both major bug-fixes and new features appearing very regularly.

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.

Getting a Bangle.js after NodeConf EU and KickStarter

Gordon Williams from Espruino ran a KickStarter for Bangle.js at the end of 2019 but you can now (as of January 2020) also pre-order one here for delivery in March 2020.

Note that NearForm has no involvement in either the KickStarter or the ongoing sale of the 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 information added to it which simply duplicates the content on the Espruino site. Once you have read the information here, you can stay up to date with the latest information about the watch on these pages:

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
  • Stopwatch
  • Compass - Make sure to calibrate with the usual figure of eight motion
  • 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
  • Enable Bluetooth

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 this webapp and update the time by following the inistructions and clicking the button there.

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 Store

Rather than fill NodeWatch with applications you are not interested in, you can make use of the new simple Bluetooth App Store 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.

Main features of this device

As we said in the announcement blogpost, the specific device we have chosen for NodeWatch does not define Bangle.js. It is simply one example of the many possible devices that could be a Bangle. Indeed, it's the fourth major (plus many minor) device that we tested over 2019. You can read about the specific hardware details on the hardware page.

Bluetooth Settings and Privacy

Most Bluetooth functionality is disabled by default. You have to re-enable it temporarily if you want to install applications, program it via the Web IDE or use it for HID/Music.

Music and keyboard control of your PC or phone

Please install the HID and Music Control Apps from the Bangle.js Appstore if you want to control your computer over Bluetooth. Also enable Bluetooth and HID in the Settings App. You can then use the three buttons to go up/down tracks and play/pause music in the music app or go up/down in a presentation etc in the HID app when you have paired the watch with your phone or computer.

Note that you cannot use HID and simultaneously use the Web IDE for programming. Follow the instructions here on how to switch relatively quickly between the two modes.

As of January 2020, the HID functionality is still quite buggy and regularly causes the watch to reboot and lose its time. We don't recommend keeping it enabled permanently yet.

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.

Data Science and Machine Learning

One part of the Badge Workshop will walk you through a Google Colab created by our Data Science team. In it you'll see the model created to detect gestures and how to use your own training data for the gestures and how to add a gesture. You can find more details about the Colab on the software page.

Next Steps

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

If you have any suggestions for new apps or how Bangle.js can be applied elsewhere - whether for commercial use, for charitable initiatives or for individual consumer benefit - we'd love to hear them! Let us know here.