I love open source projects so when I found this project I didn't hesitate to buy a Banglejs 2 watch. I am privacy focused and currently using a phone running sailfishos. It were another factor why I chose this, because they do not have Bluetooth LE support from android apps. All other watches I found is depended on an android app.
I work as embedded software developer where we also have products based on nRF52. I originally made the software integration based on S110 and s120 version 2.2 up to s112/s132 version 7.2 we uses now.
Most recent activity
Thank you Gordon for building a new version, I only got time to try it yesterday. Updating did not go smooth for some reason first time it fail with an error, so had to update twice before it succeeded. Same happened on both watches.
While updating the phone with 55ppm often disconnected before it scanned for installed apps. After successful installation of 2v21.9 connection were stable and I had it connected for maybe an hour without disconnects. So for me it an success and I believe the cost is marginal regarding power consumption while connected, 20ppm vs 50ppm but user experience is much better if you were unlucky to get one with inaccurate clock.
For your suggestion to not use xtal I believe you are incorrect, the calibration accuracy is more like 250ppm and if I remember correct they changed it in newer softdevice versions so it always use 500ppm. Calibration cost power, it wakes up every 1 second to do the calibration. I have worked with Nordic semiconductors in my work, from nRF51822 to nRF52832. We saved the extra xtal to save cost when we do not have power all the time to have a real time clock.
OK I did some measurements on my two watches.
First is about 54 PPM.
Second is about 20 PPM.
With the first I experienced many disconnect when connected to my PC to upload new software and such. Especially in beginning. Second watch is much more stable connected. I do believe it would be better to configure softdevice to 50 PPM tolerance on LFCLK.
I did not measure it precisely, my reply was based on the example in the app linked which based on 5 sec drift in 24 hours which is over 50ppm.
I will try measure it more precisely.
20ppm is 1.7s per day.
I have two Banglejs 2, the first is where I experienced big drift, only had the 2nd for a week and have feeling it more accurate.
Thank you for response. In mean time I also figured out I were wrong about setting, had some issues get it to build and didn't have overview where build configs were.
It look like softdevice setup for 20ppm tolerance, it should be adjusted to more realistic tolerance else it can give random disconnects on Bluetooth.
I bought a Bangle.js 2 half a year ago. One thing that been bothering me is how inaccurate the clock is, drifting a minute over a week. At first I thought the 32768Hz xtal were saved to use pins for something else, but recently saw it is mounted on a picture. Failed to find a schematic.
Now I am wondering why oscillator is configured to internal RC? I know the softdevice can calibrate it to about 250ppm, good enough for BLE with cost of extra power consumption. But seems strange why xtal not used they usually 20ppm if balanced properly.
Anyone knows reason behind it?