-
Yeah, tried it as well in the dev version and it works like a charm, thanks for the quick fix, @Gordon!
-
Yes, i just ran into the same problem recently and if you have some more data on device, the download also takes ages and is kinda flaky when moving around with your phone at the same time. So I did multiple backup attempts which tool ages before I realized that the file isn't saved at the end.
Maybe it's possible for the we view to open downloaded files using an intent? (E.g. https://stackoverflow.com/questions/10069050/download-file-inside-webview)
-
To answer the question of Gordon whether there is more demand for watertight watches: there surely is! Everytime I go swimming I almost forget to remove my bjs2 from my wrist.
But I don't know if I could go buttonless. I need to test it to find out.
@Chriz is there a variant of your firmware that could be installed as app? And if not, can you point me to your source so that I can strip out the essentials and make it an app myself?
I would not want to switch from the official firmware for my daily driver right now, but I would like to find out if I could live without the button before going further with this...!
-
I finally got to sanding the bangle cover and also to make the adjustments to the STL.
This time I sanded the cover with the dremel instead of by hand and it's much shinier than the first one. Anyway I really like it and for now I haven't encountered any problems with this design.
@Poolitzer the STL attached to this post has a wristband-holder hole size of 1.25mm, instead of the 1mm I had ordered. You should be able to give that a try and if we're all lucky, it comes out perfect for you, no modifications needed. Tell me how it goes!
Oh and by the way, if anyone wants to have the first version, without the wristband holders, I now have a spare one that I would send out for free. Whoever wants it, just tell me where to send it to. It fits perfectly on the bangle without modifications, but I always put a drop of glue between the bangle and the cover so it wouldn't get loose over time.
-
Yeah, I flashed the most recent one that gordon posted!
The github issue pretty much describes the problem I had; I could not pinpoint what happened exactly, but in the beginning the noflash firmware ran perfectly fine. I installed a few apps manually and everything was very snappy.
But after trying to restore my backup from the external-flash, I ran out of storage, so automatic compaction kicked in, trying to save the day. After that only half of the apps worked and I had constant .boot0 regenerations.
However, I then tried to remedy the situation, by reinstalling the default apps, but at that point I could not return to a working state, so I went back to the regular firmware.
What's nice about all this, is that when I went back to the regular firmware, my watch was back in its old state, as the external flash was never modified. Therefore I'd be happy to test more, as it doesn't seem to risk using the watch as daily driver afterwards.
-
I'm really jealous of your additional buttons: it's one of the features I listed in the banglejs3-wishlist-thread to be my favourite changes. A real flashlight is also a very cool addition, I keep using my phone for that, but I don't always have it on me. The flashlight could also be a great notification indicator for busy environments when the vibration might not be enough to get my attention (e.g. doing sports)
-
We might be getting close to needing to change from "protecting the Bangle" to "how to protect stuff from the Bangle"
True! Apparently the printed steel is almost as durable as CNC machines steel, so it's definitely absolute overkill. Maybe I'll make another STL with even thinner walls for those who want to dare ordering one.
What is the diameter on these holes? In nylon SLS 1.5mm is actually a tiny bit to big. Still functional but a bit wobbly.
Since the rest of the cover was really spot on on terms of size, I used exactly 1.0mm, but I should probably use 1.2mm or so to make it fit without modifications
-
FYI, I had to use DFU to get my watch in a working state again, as the normal firmware updater failed on the internal-flash-firmware. There were multiple apps not working, it felt like a part of the memory was corrupted (just a hunch). The watch would start compacting storage on a firmware update, but I guess there wasn't enough space left for the firmware file afterwards.
I had this error when launching the health app for example. (see image)
So long story short, the firmware isn't there yet for everyday use, but if it would work, I would happily trade the storage space against a snappier watch!
-
My rugged cover finally arrived! (I was a bit stingy on the postage this time, so I had to wait longer).
It came out great, I'm wearing it on my arm right now, it's a perfect fit. BUT the holes for the watch-band are a teeny-tiny bit to small, so I had to find the smallest drill bit (I used one from my small CNC) and used my dremel to enlargen the holes by a fraction of a millimeter, but then everything fits nicely. (Lemon for scale) So it's not perfect, I cannot recommend ordering it if you don't have the tools to enlargen the holes.
Other than that it's also a little less bulky, I reduced the wall thickness down from 1.5mm to 1.0mm (had to send a confirmation to JLC3DP, because they say the margins are too small, but as I said, it came out perfectly). Also I reduced height of the cover, the upper surface is almost flush with the screen, but not completely (about 0.5mm headroom), which is enough for most accidental bumps. (I cannot save the screen from cracking when direct force is applied in any case).
I still have to sand the surface this evening to make it look nice, which will take a lot longer this time, as there are more edges and angles. I am very happy with the result so far.
@Poolitzer If you have a small drill at home, you could go ahead and order the cover as is from the STL I uploaded last time, but I will also provide an updated version with a bit larger holes in the coming days.
-
@Ganblejs I've tried it out since yesterday.
While the watch feels much quicker in response (I didn't measure anything, but I already love the additional speed gains!), but I seem to have a problem with the boot0 constantly being regenerated, seemingly on every app start. I don't know what triggers it, but that also seems to break a bunch of apps, some apps don't redraw properly after the boot0 regereneation maybe?
I tried restoring a backup right after flashing the internal-flash build, which failed in the middle. I though that I would have about 1MB of space of which my backup would use about 600kb, but after flashing the build I notices that there only remains 360kb, so that explains that. After the failed restore, I instead used the "install default apps" button in the app loader to wipe the device and install default apps. Other than the constant boot0 regeneration breaking some apps everything seems to work fine.
I would love to use this build with the internal flash + fastloading + setuichange. This makes all the difference in UX. It feels like a brand new watch, like a BangleJS2.5. I even disabled the "fastloading..." popup, as apps appear in under a second.
If I clean up some of the apps I barely ever use, I can easily get away with 360kb to store my favourite apps. It would be perfect if only health and GPS logs could be written to the external flash for example.
Now I feel bad about the splash-screens that I had built into my apps, which now make the app switching extra slow, which felt ok before, but now feels terrible when all other apps switch so very fast!
Anyway, all of this is a great step forward for a great UX for the bangle! I hope that we can find the problem of the boot0 regeneration together... what could I do to get some more debug info about that?
-
I completed the watch cover with thinner walls and the wristband holders. I've ordered one, but I cannot guarantee that it'll turn out fine, especially with the small holes for the wristband.
@Poolitzer if you're feeling lucky, you could already order one, but I'll be able to tell you if this works out in about a week or so, when the part arrives at my place.
-
Hey @Poolitzer,
Sorry, I did not check for any new messages in the forum. Here's the STL of the current cover design.
I ordered it on jlc3dp.com using SLM 316L steel manufacturing. It cost 8$ + shipping and fit pretty much perfectly as is.
I will try to make a new design that also has wrist-band holders and a little thinner walls (currently I used 1.5mm, and I'll try to go down to 1mm) in the coming days.
-
Haven't tried gps yet, but touch and bluetooth work flawlessly thus far. IDK if there's a Bluetooth benchmark of sorts that I could use to get any measurements instead of anecdata.
I'll try and order a new version with thinner outer walls and als wrist band holders.
All in all I am very happy with the outcome. It doesn't only make the watch more rugged, but I really like the style (and I even like the considerable weight it adds... It feels more "valuable")
Anyway, I'm on the phone now, but I'll provide STLs for anybody who want to order some covers themselves soon
-
Just wanted to report in: I've tried setuichange for the past week and everything worked nicely for me, the watch feels much snappier. I think this change is awesome and the impact is huge!
@Gordon I'll try to find the build you once made that would install apps on the internal storage instead of the one connected through SPI. I wonder if that shaves of another few milliseconds from the startup time of the apps.
-
-
I finally received the 3d printed metal part and it fits perfectly, a slight press fit. With a drop of glue it should hold on fine for day to day usage.
If the wrist band holders would also be made of metal and part of the cover, there would be no need at all for any glue, since the watch would stay sandwiched in place between wrist and watch-cover.
Anyway, I'm trying to figure out if I leave the finish as is, or if I should try to brush the metal using a Dremel bit on my small CNC... I don't even know if there is any pretty finishing to be achieved with the printed metal parts. Please tell me if anyone has any ideas
-
My attempt at having them print a connected part to try multiple sizes failes, as connected parts are not allowed for metal prints. Anyway, I now ordered a single one: I remeasured my actual watch with a caliper and added 0.3mm on all sides. Fingers crossed it fits!
@halemmerich I really like your idea of adding watchband holders to the metal part. This would require people to remove the original holders, but could also be a much cleaner design. If this fits nicely I'll add the holders to the CAD model and provide it for everybody to print/order themselves. It could also be a very simple and cheap way to repair broken BJS2s
-
I converted the Step file of the banglejs housing (thanks @Gordon) to an obj that which I imported to fusion 360 to create the metal cover rim that fits around the BJS2.
I just finished printing the plastic sample and I'm quite happy with the result, even though the white certainly ruins the look, but that's just the filament I currently have loaded into my 3d printer... So I also did a render in fusion 360 so I could have a better idea what the metal part would look like.
Since @halemmerich mentioned that the part tolerances are good but might be a tiny bit off, I'll just order multiple pieces at 95%, 97%, 100%, 102% and 105% scale and check which works best. (For cost reduction, I'll try to order a single item that I have to saw apart, let's see if that works)
-
Thanks for the hint, @Gordon!
I'm not entirely sure (and I can't really tell from the pictures), but to me it looks like the silicone does not really extend above the glass that much and that's what I'd like to better protect.
If anyone has a better picture with the silicone cover on from the side, I'd be much obliged!
-
Wow, this is really cool!
My son just recently accidentally banged up my bangle on the playground, so I thought it would be nice to have something to ruggedize the watch before it's too late.
Since I don't have the same dedication as halemmerich to transplant the whole watch, I though about creating an outer shell for the current watch housing that reduces risk of the screen getting deep scratches or cracks.
@halemmerich, from your experience, do you think that a shell with 1mm thickness around the outer borders of the watch would work? Something that could then be attached to the original housing using some glue, maybe?
(That reminds me, I should also share some of my original designs for a charging pedestal that I 3d printed for myself!)
-
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. - 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).
-
You should be able to pass any kind of authorization in the
headers
of the options when making the HTTP call.You can for example check the sources of the android integration here:
https://github.com/espruino/BangleApps/blob/master/apps/android/boot.js#L310-L328So basically you should be able to make a POST call with authorization headers like this:
Bangle.http( 'http://example.com', { method: 'POST', headers: {Authorization: 'Bearer <your JWT>'} } )
(maybe you typed
header
instead ofheaders
or some other typo?) -
I've also played around with multiple ways developing and my highest priority in developing is using familiar tools with quick iteration times. Since Bluetooth pairing is very finicky for me (i.e. switching from phone to pc and back), I always either use the emulator or connect through the web IDE remotely in gadget bridge.
I use JetBrains to develop and have a script that takes the app.js and copy pasted it into the web IDE. From there I upload it automatically to the emulator or the watch over the remote IDE connection.
Pro:
- I can use all my tools and get to run the code in the emulator quickly.
- I can run the same code on the watch easily using remote IDE feature
Con:
- The copy pasting script is sometimes flaky (maybe there's a better more reliable way to inject the code?)
- my app has to reside in a single file for this to work properly
- running code on the watch over remote IDE only works online I guess?
(I am a bit shocked that the infamous and prolific HalEmmerich does not have a more advanced setup. ;) thanks for all the small improvements and apps!)
- I can use all my tools and get to run the code in the emulator quickly.
I'm using the development branch of the bangle apps in gadget bridge, but for development of apps I always need to switch to the release version, because only there I can see the web IDE Remote button.
Can this function also be enabled in the dev branch?