-
Well it definitely seems possible - but depending how technically inclined you are, decoding the signals that are sent to the display could be difficult if it's not well documented already.
I just quickly googled, and another option for this is there are bluetooth add-in boards. So you could use one of those and then have another proper LCD display connected wirelessly (either a Bangle.js smartwatch or something else)
-
I will be on holiday between 21th Dec 2024 and 6th Jan 2025, and won't be answering messages during that time. I will however go through the forum and emails upon my return.
The Espruino Shop will be taking orders but we won't be shipping anything between 22nd Dec and 2nd Jan either.
If you've just got a Bangle.js and need help, please check out the links on https://www.espruino.com/Bangle.js2#troubleshooting (specifically the FAQ on the Wiki), but if you can't find an answer please do post on the forum - I'll go through everything that hasn't got an answer when I get back.
Hope you all have a great Christmas and New Year, and thank you to everyone in the community for all your help and contributions during 2024!
-
It's very cool to hear about BTHome being useful for you - I use it a lot here too.
What kind of battery life are you getting? You could definitely compare with a new Bangle running the same apps, but before you worry about hardware I'd do a backup and then a factory reset, and see if battery life improves, just to rule out software as that's the problem 99% of times.
Pebble++ shouldn't be much worse than Pebble - I use it here and get very good battery life, but you should be aware that some clockinfos can drain your battery a lot more than others... Displaying the date doesn't take any power, but if you display your altitude that's going to keep the barometer on, and same with heart rate to a certain extent, or if you have the clockinfo that displays seconds.
Also recently a few people noticed that if they're receiving notifications from a phone and they leave unread messages, the messages widget flashes every second and uses a lot more power (even if you can't see it because it's hidden until you swipe in Pebble++!).
-
Hi! So you want to take the scooter apart and replace the 7 segment display with an LCD?
It's definitely possible! It depends a bit what the 7 segment display is wired up like - is the picture of the 7 segment display you posted the actual one that's used?
Unless there is a board that's job is just to power the display, it's likely you'll end up having to wire a ton of wires up.
Also I notice you said 'Arduino' - this forum is for Espruino - microcontrollers that run JavaScript - so if you want help with Arduino you'd be better off asking on the Arduino forums.
-
Just pulling this back up - microcosm, the forum system I'm using for Espruino, is shutting down in March because the UK's Online Safety Act makes it a nightmare for the one person that currently runs it to comply. More info at https://www.lfgss.com/conversations/401475/
So I'm going to have to migrate to a new forum, one that I don't host (or I'll fall foul of the OSA too).
Right now, the obvious choice appears to be GitHub Discussions and looking back I think the general consensus is it's ok? Maybe not ideal for those that dislike Microsoft/GitHub but it's probably better privacy-wise than most other forums systems that'll insert a bunch of ads.
In the new year I'll look at trying to export the contents of the forum - I'm not 100% sure how I'll handle users but maybe I can get compile a list of forum users -> current GitHub usernames so at least for those users I can keep the ownership of posts the same.
-
-
Wow, that's very impressive!
The accelerometer is on the PCB and it has its own I2C lines, so I wouldn't have thought that anything you do with the HRM would affect it. You could check with
Bangle.accelRd
and see if you can communicate with it at all? It's possible that you got a solder splash or something on a wire which shorted one of the data connections to it out? -
but in puck.js you can use bluetooth and nrf to send data
I don't really understand what you mean here - communications options between Puck.js and Bangle.js should be basically the same.
The
NRF.*
methods are for bluetooth, and are available on both.Bluetooth.print
/etc is still Bluetooth, but is Bluetooth UART.The Bluetooth UART provides buffering and slightly faster transfer, so I'd say use that if you can
-
Maybe we could ask him for the script or if he could turn it into an app:
That would be awesome - it's pretty easy to contribute apps and then anyone could use it!
For messages/answering calls the messages app uses swipes, so you could make something to convert taps to a swipe message in a few lines of code and have that working really quickly.
so
Bangle.on("tap", e => { if (dir=="left") Bangle.emit("swipe",1,0); if (dir=="right") Bangle.emit("swipe",-1,0); });
-
Hi! Yes, the lack of buttons on the Bangle is a bit frustrating if you're wearing gloves. It's something I'd like to try and fix in a later version of the watch.
How do these taps work, I mean physically?
There's one accelerometer in the watch, and it measures the movement of the watch in either direction. left/right/top/bottom/front are all checked and forwarded to your code as events when single, or double-tapped.
Reliability is ok but it can be triggered by the watch getting bumped. Double-tap is more reliable but there's a specific 'frequency' of double-tap you have to learn for it to register
But bear in mind if you're wearing thick gloves that will cushion the tap on the Bangle which might affect how well it responds - but all the thresholds for detection are configurable.
Could I write an app that runs in the background and translates these taps into touch/swipe events, transparently to other apps?
Yes, you can generate touch/swipe events that would then be passed on to any apps. You can also override the built-in 'scroller' used in menus (as well as dialogs) to make it work better with taps.
There's also a 'Layout' module which some apps use and that supports multiple buttons with cycling though them to focus one - you could tweak that to make it work with the taps too.
I imagine some apps would need modification though - for example some of the clocks use 'clockinfos' which while they work with swipes, expect to be tapped on to activate them (so you'd need a specific X/Y to make them work).
I'm not entirely sure what you're planning on using the watch for, but I'd imagine you might want to make your own clock face or modify another (which is very easy) and to then fit as much functionality in to that using taps as possible.
-
Just to let you know I added a board file for the Cheap Yellow Display: https://github.com/espruino/Espruino/blob/master/boards/ESP32_CYD.py
You'll have to build your own binaries at the moment but it supports the LCD, touchscreen, LEDs and button
-
Thanks! Sorry to hear it's such a pain to get a Bangle where you are.
I believe there are some things you can do to improve SPI on the nRF52. With the Starfield watch we managed to get it pretty quick. On the nRF52840 you may have enough RAM for an offscreen buffer which means you can blit the data to the screen in the background.
But yes, there do seem to be a bunch of watches based on RTL8762 now - and I guess someone could hack something up to get Espruino built for it - but actually getting things like the Bluetooth working well on it (eg more than just the UART) is something that'd take months and months of effort. It's not something I personally have time for at the moment, but I guess it's possible someone else might pick it up.
Potentially you could look at one of the ESP32-based watches. They're more like hacker-devices at the moment, but at least we have builds for ESP32 that you could work off.
-
Thanks! It's great to be able to see the work having a positive effect for so many people.
And yes, a huge thank you to everyone in the community - not just for the code/app contributions, but for the testing, reporting issues, improving the docs and helping each other out. Espruino wouldn't be what it is without you!
-
if it's not really an official Pixl.js
Yes, it's 100% not an official Pixl.js :) It's one of those things - I've sold around 1500 Pixl.js in the past 6 years - I imagine they've sold orders of magnitude more than that.
Just FYI I'll move this to the other boards section of the forum.
If you have the OLED version I'd be pretty sure the display isn't compatible with the one used on the official Pixl.js - but you could at least flash the MDBT42 Espruino variant on there and then just configure the LCD using JS
-
Just to let you know I added the ESP32 web flasher to the Espruino website so you can now easily install the ESP32 firmware.
https://www.espruino.com/Espressif+Flash
It should work on ESP32/ESP32C3/ESP32S3 and ESP8266 - but I've only added ESP32C3 builds since 2v25.
The tools used are these ones: https://esphome.github.io/esp-web-tools/
-
-
Great! Did you restart your phone first, or you just changed the Language and that was it? What model is your phone?
I just changed my phone to Turkish and restarted Gadgetbridge and I can't get it to happen, but I'm pretty sure I know what the issue is now.
Turns out String.toUpper/Lowercase commands use the current locale by default, so for Turkish, "INCOMING" turns into "ıncomıng" (the 'i' is different!)
I've just pushed a change to Gadgetbridge, so the next 'Nightly' build should have it in. I'm not sure when I'll be able to push the next app store release as the Play Store is being really picky about this one, requiring me to record videos to explain why certain permissions are needed
-
Yes, I think you're right there @fanoush - it's a shame but it seems to be the way things are, with it being almost impossible to know what hardware you're getting. Even devboards like the CYD appear to have changes that are hard to keep track of.
@enaon wow - I didn't realise you had a whole app loader full of apps! I guess it's gone far enough now that it wouldn't be possible to integrate the apps as normal Bangle.js apps?
The app loader uses
*.info
files to determine what's installed, and effectively ignores any other file. So if you there wasn't another way you could modify your app loader to use.euci
or something for the file extension of the info files, and then they would be separate. -
@BartS23 thanks for the heads-up! That could well be it.
@user157973 please can you confirm your phone's language? If I can change language on my phone here hopefully I can get a fix in to Gadgetbridge.
-
-
-
That looks really cool, thanks!
I had a quick glance at your code, and it looks great to me! At the end of the day it's not about how it looks anyway, it's whether it works and is reliable, and I get the impression yours does just that.
I don't see there's a big problem with 'taking over' the Bangle. I think as a normal app you should have pretty much free reign over what happens - I guess maybe some boot code could interfere but I think on the whole we can just limit what other boot code apps we allow people to install.
If there are firmware mods needed we can look at that - things like the packet length and max connections were useful to everyone when they went in.
Unfortunately I don't have an EUC to test with here, but I guess anyone can check the UI is working ok...
-
-
Ok, that sounds about right with HRM. By default it looks like when HRM is showing, the HRM is on.
But just go into
Settings -> Apps -> Clock Info -> HRM
and change it to 'Tap'When that is set, when you first display the HRM view it turns the HRM on for 1 minute, and it turns it on when you tap on the HRM clockinfo too. Otherwise HRM is only on when it's turned on for the 'health' app - probably every 10 minutes - and it just shows you the last HRM value.
So with that you'll probably be back to much longer battery life.
Pebble++ should be fine drain wise - it just gives you the flexibility to put things on that drain your battery too :)
You know you can install extras with https://banglejs.com/apps/?c=clkinfo
So you can have buttons for BTHome on there, sunrise/sunset, or a timer (which I often use).
If there's something specific you'd like though let me know - clockinfos are often pretty simple