Skip to content
hughbarney edited this page Feb 12, 2022 · 75 revisions

Welcome to the Bangle.js wiki!

Getting started

Bangle.js simple Getting Started information is available at:

There's also a video for getting started with Bangle.js 2:

Getting Started with Bangle.js 2]

If you've read those and the FAQ on this page (below) and you're still having problems, please ask on the Bangle.js forum. Please do not ask question on KickStarter comments, YouTube comments, Twitter, or personal forum message to Gordon, etc as it's very hard to give useful, detailed responses.

Important Usage Information

  • Always unplug the charge cable after use. While the Bangle.js 2 cable is over-current protected, it could still attach itself and cause damage to other devices.
  • There is a small voltage on the two middle contacts on the back of Bangle.js 2. This can in extreme cases cause some corrosion of the contacts and even skin irritation. If you start to see this happening we'd strongly suggest cleaning and then covering the two middle contacts - see here for more information.
  • While the Bangle.js 1 is IP68 water resistant (up to 10m underwater) the Bangle.js 2 is only IP67 water resistant (1m, 30 mins max). This means the Bangle.js 2 should not be used for swimming.

FAQ: Frequently asked questions

  • How do I set the time? You can do so from the Settings app on the watch (see below about using the menus) but we'd recommend just going to the the App Loader website. If the watch time hasn't been set, when you connect the time and timezone will automatically be set up to that of your Web Browser. You can force it later using Set Bangle.js time in the More... tab.
  • I could connect to my Bangle, but now I can't - what's up? Bangle.js can only have one Bluetooth connection at a time.
    • Are you still connected to the Bangle from another PC/Phone? Gadgetbridge on Android as well as iOS ANCS will keep a connection open which will stop you connecting from other devices until you manually disable it.
    • Did you connect to the Bangle from your OS's Bluetooth menu? (Android, iOS, MacOS, Windows, etc) If so, try 'unpairing' and then try connecting again but from the App Loader.
  • What is currently implemented/available See this page
  • How do I get back to the clock? Long-pressing the one button will take you back to the default clock app
  • Why isn't the touchscreen responding? The touchscreen is only active when the lock symbol isn't displayed in the top left hand corner. Unlocking can be configured in several ways but the easiest is just to press the button.
  • How do I open apps? When viewing the clock wake the watch if necessary then short press the button once to go to the launcher. In the default launcher, drag the screen to scroll, and tap the icon you want to launch
  • How do I select from menus? In text menus, you don't need to tap on the text line to select it. Instead, drag your finger up and down to change the selected entry, and then tap anywhere to select.
  • What are the letters in the top right of the screen? These are from the Bluetooth ID Widget. If you have more than one Bangle then you can use these to differentiate them when connecting via Bluetooth. If you don't want it, go to the App Loader, connect, go to My Apps, and uninstall it.
  • How do I update the watch's firmware? The apps can be updated just by clicking Update in My Apps in the App Loader, but the watch firmware itself needs to be updated using these instructions: https://www.espruino.com/Bangle.js2#firmware-updates
  • How do I assemble the wooden Bangle.js 2 Charge Cradle? It's not immediately obvious so there is a video at https://youtu.be/M1T2oitL85I
  • How do I get notifications on Android? You install the Android app on Bangle.js, and then the Gadgetbridge app on your phone.
  • How do I get notifications on iOS? You install the iOS app on Bangle.js, and then simply pair the phone with your iOS device
  • How do I use the App Loader from iOS? You need to install the WebBLE app in your iPhone, and then go to the App Loader at https://banglejs.com/apps from within the WebBLE app itself. WebBLE is not able to add Web Bluetooth support to existing web browsers like Safari or Chrome - it only works for pages loaded inside WebBLE.
  • I am having trouble with the GPS See GPS Issues
  • My screen get shifted up with -> Bluetooth messages, my settings don't seem to be applying This is because your .boot0 file has got corrupted on the Bangle. It's a problem that can occur on some Bangle.js v2 with Bangle.js firmwares before 2.10v240. Make sure all your apps are up to date, then go to Settings -> Utils -> Rewrite Settings. This will fix the issue, however to stop it happening again you'll need to update your Bangle.js firmware
  • I'm only getting a few days battery life Here are some tips for getting maximum battery life, in no particular order: 1) Mininmise the use of the GPS. If the GPS is left on it will drain the battery within 6 hours. 2) Minimise use of the heart rate monitor. Set heart rate monitoring to off or every 10 minutes in the Health app. 3) Set the LCD brightness to a lower value (for example 0.3), 4) set the LCD timeout to 5 or 10 seconds. 5) Turn off wake on twist. 6) Turn off Bluetooth 7) Use a clock that updates once per minute 8) Avoid flashing lots of apps to the storage, doing this several times a day will drain the battery.

Developing Apps for Bangle JS

  • Bangle JS Tutorials
  • How can I learn Javascript? The Tutorials at W3Schools is a good place to start from scratch. But also try out other developers app code and make a few modifications. Looking at apps that are close to what you want to do and modifying the code is a good way to develop quickly.
  • Espruino API Reference
  • The Bangle github README provides lots of information with regards to packaging your app into your app loader.
  • How can I best document my App ? Please ensure you create a README file. Screenshots are really helpful, and enable users to quickly decide if they want to use your app.
  • How can I get a screenshot Run your app, connect using the IDE, in the left hand side type g.dump(); click on the image and download it. For Bangle JS 1, you will need to take a photo of the watch or run the app in the emulator and use the screenshot facility in the emulator.
  • What size should app icons be? 48x48 pixels.
  • My App wont load from my AppLoader Check that your apps.json file is correct. Check that your code subdirectory name matches the id for the App.
  • All apps come up as unknown in my AppLoader check you have not missed a comma or bracket in your apps.json file.
  • How long does it take for my App to appear in the official loader? see this conversation

Glossary

  • App Loader / App Store means this website which can be used to load apps onto the Bangle
  • Web IDE means this website which can be used to write/debug applications for Bangle.js
  • Emulator is fake Bangle.js that runs inside the Web Browser and can be used to test some features on the Bangle without a real device. It can be accessed from the connection menu of the Web IDE
  • The Launcher is the menu that lets you choose which app to 'launch'. It's usually accessible from the Clock by short-pressing the button.
  • Locked is when the touchscreen is made inactive, so that touches on the watch face will not have any effect.
  • Unlocked is when the touchscreen is active and usable (a button press usually unlocks the screen, but unlock methods can be configured in the settings app)

Firmware Updates

Two types of software run on Bangle.js:

  • There's the apps, which are JavaScript and can be updated with the App Loader
  • Then there's the Bangle.js firmware, which is like the watch's OS. While there is a beta version of a firmware updater in the App Loader, it is not recommended that you use it right now. Instead, use the Bangle.js 1 or Bangle.js 2 instructions to update it.

Recommended Apps

Once you're up and running and connected with the App Loader you might want to install some apps. Here are some recommended ones:

  • Pedometer Widget - show your current step count for the day in the top bar
  • Android - This provides integration with the Gadgetbridge app on your Android phone and allows you to see messages and other information on your watch.
  • iOS - This provides integration with iOS phones and allows you to see messages and other information on your watch.
  • Heart Rate Monitor - see live PPG (heart rate) measurements from the heart rate sensor on Bangle.js
  • Open Street Map - upload a map of a specific area to your Bangle.js
  • Recorder - can be used to record GPS/heart rate/steps/etc and then export them as GPX/KML/CSV files for use in apps like Strava.
  • Languages - provides translations for different countries. At the moment this will not translate app apps, but will change dates, speed, distance, temperature, etc. More info here

Feel free to edit this wiki and add new suggested apps and information!

Clone this wiki locally