I demand BangleJS3!

Posted on
of 9
First Prev
/ 9
  • Also I'd say Bangle 2 is not ugly at first sight so it is definitely not "apple-like" rectangular shape

    I agree, Bangle.js 2 is more similar to Amazfit Bip smartwatches.

  • Definitely from a technical standpoint, round watches are a total pain - you still need to store and transmit a square buffer even for the round screen, so you're wasting 1/4 of your memory and bandwidth.

    I can see the appeal of round watches, but I think that for Bangle.js where we're trying to be quite 'down to earth', round isn't a great fit.

    And yes, I'd love a bigger display and smaller bezel too, but display choices are pretty limited. For some reason, 1.28" screens seem kind of a standard for transflective displays. There might be some ST7301 based ones coming out at some point, but I haven't seen anything yet

  • you still need to store and transmit a square buffer even for the round screen, so you're wasting 1/4 of your memory and bandwidth.

    Actually it is a bit of pain but it is doable, if you store the circle as lines with variable length and keep size (or accumulated offset) of each line (which is even symmetrical) you can save the memory. then the pixel location in the framebuffer is not y*width+x but something like yoffsets[y]+x. when sending over spi it is sent by lines so is not that much slower. Did not do it in the end but was thinking about it for the G5 watch (454x454 resolution). 454*454=206116, 3.14*227^2~=161802
    So I would save about 21.5% of memory - a bit less with some rounding/byte padding. Not that much actually but still something.

  • Oof. Yes, I guess that's doable!

    On the Starfield watch we did I just used the whole buffer but I used the corners to store extra data. So as the hands moved we stored what was in the background behind them in the corner of the screen so we didn't have to redraw everything - it worked quite well.

  • The best feature of Bangle.js 2 is the memory LCD in my opinion. You don’t need to tilt, touch or press a button to check time, date, steps or any other info you’d like to see if you have set up your clock and widgets. I have used TicWatch pro GPS for a while and I loved their dual screen with the LCD on top of the color screen. That really saves a lot of battery and finger or wrist interaction. So if there will be the next versions, I’d like to keep the same or better(bigger) memory LCD.
    Speaking of the size of the screen, if there is any LCD about 1.4-1.5 inches, that would be perfect. I found those tiny fonts are hard to read even with my reading glasses on.
    I’ve been using my Bagle.js 2 a couple of months now and I love it.

  • There is for example https://ifan-display.com/product/1-2-inc­h-round-transflective-tft-lcd/ which is a round 240 by 240 pixel display with relatively small borders. At 1.2" it is a bit small but generally square 176x176 pixel Bangle 2 apps would fit in this with only a few pixels cut off at the corners. So there would be a way to use the "legacy" apps without changes on a round display.
    Personally I like square better just for ease of app development.

  • I love everything about the Bangle JS 2. It's really the perfect compromise between battery life, size, robustness, and functionality. Upgrading the HR sensor and adding a gyro would be a great improvement for the next version, all incremental changes that maintain Bangle's niche in the marketplace and should be doable based on the current proprietary marketplace. Definitely more flash memory. IMHO, ambient audio is overrated, both input and output. WiFi is way too power hungry, as are more colorful displays.

  • Amazfit BIP S has a very similar transflective display with the same resolution but 64 colors instead of 8. That would remove the need to dither and is lots more readable for text in colors the bangle would have to dither. Needs a bit more bandwidth and RAM but probably makes up for that in saved CPU cycles for the dithering.

  • Amazfit BIP S has a very similar transflective display with the same resolution but 64 colors instead of 8. That would remove the need to dither and is lots more readable for text in colors the bangle would have to dither.

    Do you have it and can you compare how white color looks on both, preferably outside? Similar/same 64 color screen is in DK08 watch and there the white is not so nice. Bangle 2 screen has better contrast and is a bit nicer outside. As for outdoor visibility I would not trade DK08 64 color for bangle 8 color but maybe Amazfit screen is better. I've posted some photo for comparison somewhere but cannot find it now. DK08 is still good enough but Bangle 2 is better - possibly because of only 8 colors.

    EDIT: found it, here https://imgur.com/a/DzYhaIg , bangle 2 screen is actually slightly better also indoors in low light when backlight is turned off

  • I think you are correct in regard to the DK08 probably having the same display as the BIP S, the display differences are very close to what your pictures show. I had remembered the display to be better since it is the one point I liked better on the BIP S as I got my Bangle. But in hindsight the tradeoff between less colors vs. more contrast might actually be in favor of the Bangle display for me overall. The moment the backlight comes into play its hands down the 64 color display of the BIP S.

  • Plus 1 for adding buttons. You don't need loads but 1 just isn't quite enough. I agree re the square screen and I'd prefer better waterproofing to the barometer personally. A few more colors on the screen would be helpful when it comes to reading widgets etc as small ones get harder to differentiate due to the lack of contrast/different colors.

    A slightly faster GPS lock would be nice but I assume that can be mitigated with AGPS anyway.

  • In the hopes that my voice for a next bangle shall be heard, I also have a wish list for what would make it an even greater device for version 3.

    Sorry for the wall of text, you can read the conclusion for a TL;DR:

    ** Battery **

    • The battery life of the device is the killer feature for me. If I had to charge the watch every night, I would probably forget to do it every other night (which basically means that I would stop using it). For me the battery lasts around 7 days, which is great. It would be great if there was a way to improve power-monitoring (maybe estimate power-draw of the apps? I had a few watch faces that ate my battery for breakfast).

    ** Speed **
    IDK what the bottleneck for the responsiveness of the watch is, but it would be awesome if it could be reduced. If there was a way to have a clock the CPU or memory faster just for launching apps, that would be awesome. The performance would be perfect if you could achieve full-screen smooth scrolling using the touch screen. If it was possible to have different power-states during active use and during passive use, the overall power consumption should not be much higher I guess, since race-to-idle can also be a way to save power.

    ** Screen **

    • Keep the transflective screen. It's awesome! I wish there were mainstream phones and laptops with these screens out there!
    • Keep the low physical profile: I've seen smartwatches as thick as a pack of cigarettes and as chunky as a tiny phone. I've got rather thin arms, so I'd never wear such a large device. The current size is perfect.
    • Keep the Rectangular Touch Screen. The resolution is also pretty good. A little higher resolution would be welcome, but I see how this needs to stay in balance with the CPU power / power consumption. I'd love to have a few more colors without dithering though. More colors for images + sub-pixel anti-aliased fonts for text would already do a lot for better legibility.
    • If I could wish for anything in this regard, it would be great if the screen would fill a larger portion of the watch front. A little smaller bezels would be nice, but I also like that it's pretty rugged, so leaving some margin is also good.
    • Arguably the resolution should stay the same so that most hard-coded coordinates in apps keep working on a new watch

    ** Environment Sensors and Water resistance **

    • Lose the barometer: Having a hole in the case just for a barometer is a pity. It's a big compromise for water resistance for a feature that's IMHO less important than water resistance. The only way I think compromising the water resistance would make sense if the device also had a microphone, which could be a great feature as well. (Given the little computing power for sound processing and how much of the community rather develops for the watch instead of the companion app - such as gadgetbridge - I think that water resistance has still higher priority than a microphone). The one thing I would sacrifice water resistance for would be an SD-card slot + mp3 decoder + Bluetooth-audio to use it as a Walkman on the go, but IDK if that's really such a good idea or if I just think it's cool to have.

    Anyway, it would be awesome to keep it on when swimming or when taking a shower. Not necessarily because I need to check my messages in the shower, but rather because I'm often afraid to forget to remove it before.

    ** Buttons **
    More buttons or a wheel like the apple watch would be nice. Even just a second button could make a big difference, but 3 would be perfect I guess. Having a touch screen still is great for building diverse UIs and input schemas for individual apps, but I I'd love to have some standard interactions - maybe similar to an android phone - mapped to the buttons.

    ** Connectivity **
    IDK the details, but I think bluetooth has gotten much more stable over time (with firmware updates) and that's great. But still, sometimes I have disconnects for no reason. For all apps that do some background task periodically that require a connection, this is somewhat annoying. If there was a chance to have better bluetooth (chip/antenna/whatever), this would be pretty high on my wishlist. Maybe it's a phone thing, in which case I retract my statement ;)

    Also it would be great if the watch had Wifi. I wouldn't want to use it all the time as that would kill the battery super quick, but I have Wifi available all the time when I am indoors and it would be great if the watch could then work more autonomously, so I could leave my phone at home. My bet would be that a bunch of people would build low-bandwidth server applications that work well with the watch and that would be awesome. (this could also nicely tie into the other espruino powered devices)

    ** Contactless Payment **
    Apparently the nRF52840 already has NFC functionality that could be used to perform contact-less payment operations. IDK if this is a hardware/software/legal limitation, but if I could pay using my banglejs, I could leave my phone home a lot more often.

    ** Health Sensors **
    I never use the heart rate sensor as I found it to be too unreliable. I would love to use when doing sports. Same for sleep tracking. I found the sleep detection to be lacking, even though this was one of the main drivers of me buying the watch in the first place! (instead of returning the device, I got hooked on the eco-system ;). Maybe I should give it another go, but the last times I tried heart-rate sensor and sleep tracking I was rather disappointed.

    It would be great to have an hardware upgrade here for more reliable sensors. If I could wish for anything, then also a blood oxygen sensor would be awesome.

    ** Conclusion **
    The BJS2 is already great as is. It strikes a great balance for many features. There's a few things I would love to see improved, but at the same time I see how improving some features could be at the cost of others (also considering small form as factor a feature!). So generally I rather like to see many small improvements on the current hardware, especially reliability and more physical inputs, than a large jump in a different direction, because many things are already in a great balance.

  • Apparently the nRF52840 already has NFC functionality


    that could be used to perform contact-less payment operations.

    no, you need far more than NFC to do that. typical debit/credit card has secure CPU often with specific secure applications (possibly written in Java) uploaded by bank/visa/mastercard/manufacturer at card creation time

    also check some answer here https://devzone.nordicsemi.com/f/nordic-­q-a/18627/nrf52840-hce-as-a-payment-card­ or the picture in https://source.android.com/docs/core/con­nect/offhost-payment-sync - notably the UICC box there and/or read this https://trustedconnectivityalliance.org/­wp-content/uploads/2020/01/NFCPaymentUIC­CConfiguration_v1.0FINAL.pdf (e.g. chapter 7)

    EDIT: HCE in the first link IMO means Host Card Emulation - see also https://developer.android.com/develop/co­nnectivity/nfc/hce

  • yeah, excellent info, basically "no" :)
    but also how do these 'alliances' create such hard to understand or follow specifications? is it on purpose to prevent people implementing them, or am I just not on the right wavelength?
    I recall wading through the mheg specifications ages ago trying to add support for part of it and it was similar pages and pages of disjointed statements.

  • I'll say it's called always on display.

  • I'll say it's called always on display.

    if you mean the term "memory LCD" that's how Sharp is calling their products
    The one in Bangle 2 is LPM013M126

  • I vote for an epaper-display.

  • Thanks - I'm not sure if you're aware but there is a power monitor app, and actually the 2v22 release added something into the firmware for power monitoring (but there's no app for that yet). Ideally what's needed is for us to have a way to estimate power usage of apps and report it in the app loader - but doing that is quite a big deal.

    A faster CPU might be an idea but also it's balancing power consumption so we continue to get that long battery life. It is possible to build a firmware where the JavaScript code is stored on internal flash (and the data on external flash), which can really help with execution speed - but it was always a bit beta - I could try and make it available for those interested though. @fanoush have you had any success with that recently? I tried doing a build just now and it didn't seem like it was working reliably

  • . @fanoush have you had any success with that recently?

    Not recently, Espruino is quickly moving target, and I was using it on other watches, however it may be good idea to have build with this for Bangle 2 even if everything by default still goes to SPI flash. Then maybe if the apploader had some settable regular expression to send some files to internal flash it could be better tested. Not sure how much space there is with the factory content present so whether all app js code could fit into internal flash.

  • Ok, thanks. I just tried again and with a factory reset it appears to work ok now. There are now builds available at:


    with the name espruino_2v...._banglejs_iflash.zip

    You may well need to do a factory reset after installing it (or I guess ideally a backup + restore) though.

    The firmware itself puts any .js files (and .boot0) in internal flash automatically so even without any app loader changes there should hopefully be some decent speed improvements.

  • Tried espruino_2v22.8_banglejs2_iflash.zip. Really promising results! Hit one issue.

  • Ok, thanks - that's a shame though. I took a quick look and I can't see an obvious reason why compaction is failing so I've just disabled cutting edge builds for it for now so nobody gets confused and installs a broken firmware.

    The one you tested is still available at:


    if others want to give it a try...

  • FYI, I bought my BangleJS 2 at Berrybase (here in Germany) in September last year. They were out of stock .

    They are on stock again at Berrybase.de for €96,70. Interesting option for people in the EU. I just ordered three watches.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview

I demand BangleJS3!

Posted by Avatar for Micha_home @Micha_home