Avatar for adjtm


Member since Apr 2023 • Last active Jun 2023
  • 2 conversations

Most recent activity

  • in Bangle.js
    Avatar for adjtm

    Count on me for £10.

  • in Bangle.js
    Avatar for adjtm

    I stumbled upon this link (https://codeberg.org/Freeyourgadget/Gadg­etbridge/wiki/Sports-Activities-Workouts­) which provides some interesting insights into the sports activities and workouts features in Gadgetbridge. If the BangleJs 2 smartwatch can seamlessly integrate with Gadgetbridge for these features, it would be an absolute game-changer, offering me a convenient and comprehensive overview of my progress.

    I was going to ask exactly the same question. I assume it cannot be done right now, as Banglejs's version of Gadgetbridge doesn't show the Sports Activities tab when connected to a Bangle.js 2. For now I'm downloading the gpx files from the Recorder download option and opening it with an external app (like osmAnd+).

  • in Bangle.js
    Avatar for adjtm

    [...] that probably makes USB/baro/mic/speaker a no-go.

    I don't think USB and water resistance are totally incompatible. About microphone and speakers I care so less about them that I forgot mentioning. Now I realize that I forgot to mention that a slightly more powerful vibration motor would be nice.

  • in Bangle.js
    Avatar for adjtm

    First of all, bangle.js 2's hardware is good enough for me, so while there is availability of it and no interest from Gordon's side in a new model, I'm very happy with it. In my opinion software support and quality apps are more important that a new model. Nonetheless I'm going to give my preferences, more or less in this order, for a future model:

    • Good BT LE like bangle.js 2 is a must.
    • Good battery life at least as good as bangle.js 2.
    • I'd like more buttons of better quality (better if recessed for fewer unintended pushes).
    • Very good sensors (GPS, HR, accelerometer, gyro...). Barometer is not that important for me.
    • Water resistance for swimming would be ideal.
    • The screen quality of bangle.js 2 is very good (transflective), but having more screen percentage of the total surface would be great (less bezel, smaller watch or bigger display).
    • Not glued case, so it would be easier to open it without damage for repairs. Better with user replaceable battery.
    • Sturdier case.
    • Thinner is always good for a watch.
    • Rectangular is better than round, more comfortable and easier to make the most of the display.
    • USB-C for charging and even for data would be much better. I know that USB-C would be difficult and it would take a lot of internal space and be detrimental to the overall size and thickness of the watch.

    Did I said that free software is the most important thing for me and the reason I chose bangle.js 2?

  • in Bangle.js
    Avatar for adjtm

    Thank you Gordon for your reply.

    So you mean basically just a column that is empty normally, and then could contain a value at some point?

    What I'd like is a new row the instant an apps ask Recorder to do it. In my case when the user presses the button in the "stopwatch" app to get a lap time. The mentioned extra row is just for knowing if the row was taking automatically or my stopwatch app asked to take it.

    If you're thinking about automatic lap times, I wonder if that is actually functionality that should be in exstats

    My idea about the stopwatch app was to be just a frontend of Recorder, so you could just exit the app and launch it again later (or another frontend app) with the recording being made by Recorder. If I understand correctly Run is using exstats and Recorder is getting it's own data without it. Using or not exstats is something that I was thinking about, because it seems it has same features Recording doesn't (like average pace). But anyway exstats doesn't have features that I would like (like statistics per lap), and I'd like all that information to be analyzed in the smartphone or computer after downloading the activity. I was initially thinking about rewriting a widget from scratch, but Recorder does many of the things I need and I don't know much about Espruino and Bangle.js.

    What you're seeing in the file you download from the recorder in app loader isn't quite what's saved to the device.

    I wrongly assumed that the CVS was the raw data from Recorder. Good to know it's storing it more compact.

    Allow saving both the internal HR sensor data and BT HR sensor data.

    That happens automatically I think if you enable it in Recorder settings - BTHRM already has one of those recorder.js files

    I thought that "Log HR" option was for saving HR data, and "Log BT HR" and "Log HR int" for choosing between them, my fault. Does exstats have the option to get the HR data from BT?

    Someone asked if a run could be optionally paused/resumed, rather than just starting a new one each time. That should be pretty easy to implement in exstats

    That was one of the things I wanted, but asking Recorder to create a new recording or appending to a previous one. I wasn't thinking about adding that functionality to exstats. I asked here about all of this to have some feedback from you guys that know much better about the current implementation.

  • in Bangle.js
    Avatar for adjtm


    I'm currently using a modified version of the Run app, and starting the development of an app specially for running training (including track repetitions and interval training) and hiking. There are some features in Recorder that would be very handy for my use case. In order of importance for me:

    1. Possibility of passing "new" or "append" when starting the recording from another app, so Recorder doesn't show the corresponding menu to the user in that case. The menu takes a lot of time and it's difficult to touch the correct button with the touch screen when starting a sprint.

    2. Possibility of asking Recorder to take a data point and marking it as "manual" or "marked point". The reason is to take lap times while running or for marking passing goals (like mountain peaks) while hiking. It could be another field with a letter that marks why the point was recorded: "p" for periodic, "m" for manual (pressing the button of the watch), "g" for goal (when another app detects arriving at a position) etc.

    3. Reduce the amount of data saved to the CSV. A lot of the space is information repeated again and again, like the date, hour and minutes. It could use a sign meaning "the same as the previous one", saving around 25% while recording every 5 seconds, for example:

    4. Allow saving both the internal HR sensor data and BT HR sensor data.

    5. This is just a bit annoying, but the download page for csv, gpx etc. reloads the track list when a track is deleted (it takes a lot of time to delete several tracks). It could just delete the file and the track in the modal and not calling getTrackList().

    I can try to implement any of this, but I wanted to discuss it first in case there is a reason not to do it or doing it in another way. Specially I'd like the opinion of the original author and contributors.

  • in Bangle.js
    Avatar for adjtm

    The picture is too blurry, but either you have the protective film or the window is very scratched. It happened to me that I used it without peeling it for my first run. About the revision of the device, mine is from January 2023, so maybe that's the cause of the discrepancy. Gordon, is it possible that the proprietary firmware for VC31 and VC31B should be different?

  • in Bangle.js
    Avatar for adjtm

    How are you recording and plotting the graphs?

  • in Bangle.js
    Avatar for adjtm

    Right now, while I'm typing this, I'm using the Polar H10 chest sensor (one of the most accurate non-medical devices) and bangle.js2 in the left wrist (firmware 2v17.113).

    Polar Beat (using H10): 60bpm
    Bluetooth Heart Rate Monitor:
    Internal: 58bpm (confidence 96%)
    BT (H10): 60bpm (about one second lag updating to a new value compared with the Polar Beat app)

    Walking fast the internal sensor's reading is quite higher than the Polar H10, but running the internal is slower increasing the value and it tends to read lower). The values with H10 are always more stable, it doesn't fluctuate as much as bangle.js2. HR with H10 is consistent with the ECG data from the same H10 sensor, and my HR doesn't fluctuate as much as bangle.js2 shows. Bangle.js2 is more sensitive to movement (is BT Heart Rate Monitor using "running mode"?).

    All in all, to me the readings with the newer firmware versions seem good enough for an optical sensor.