PebbleOS on Bangle.js 2? #7339
Replies: 3 comments 1 reply
-
So the error seems to be that the ID read from flash does not match this predefined value EDIT: oh it gets 0 if the log is correct so indeed generic issue with the command |
Beta Was this translation helpful? Give feedback.
-
Yes, that's what I thought originally, so I made the gd25q64.c file with what I believe is the flash ID and the correct commands (the ID might be wrong of course) as well as some code to try and do wakeup. But as you say the actual command isn't working at all, and even disabling that check, it seems no other flash commands are working, so I guess it's something to do with how QSPI is setup to communicate with the Bangle - although it would appear that it works for whatever nRF52840 device the developer are using. ... I guess maybe there's a chance there is some pin I didn't manage to change in the code that overlaps with the SPI peripheral and causes problems? |
Beta Was this translation helpful? Give feedback.
-
Pebble javascript apps on espruino. Apps written in javascript for pebbleOS, would it be feasable to get them running on espruino? Without modification? Maybe some could basically just be copied over and others would need some kind of compatibility layer app that routed Pebble API calls to Bangle.js counterparts. Just thinking out loud. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2025-02-07 by @gfwilliams
You may have seen in the news recently that the Pebble watch OS has now been Open Sourced and work is underway to port it to nRF52840 devices (seemingly with the hope that a new Pebble watch can be made).
Bangle.js 2 happens to also be nRF52840 and so it may be possible to run Pebble OS on it. There is some discussion on https://forum.espruino.com/conversations/374260/?offset=250#comment17663202
I have been having a bit of a play around porting the Pebble OS to Bangle.js 2, and I put a repo here: https://github.com/gfwilliams/pebble-banglejs2
Some instructions and info on the current state are at the top of the README on that repository.
It now builds, flashes, and the code kinda runs, but errors because it can't access the flash chip. I've also added code for the display but haven't been able to test it yet.
If anyone is willing to give this a try and see what they can do it'd be hugely appreciated (@fanoush? You seem to be awesome at this kind of thing)
To get debug info you'll have to crack the watch open and connect to the UATX pin, which isn't ideal - but I have a bunch of watches I can't sell here (for instance with a dead magnetometer) so I'd be willing to provide one to anyone who needs a device they can pull apart to test with.
I guess there is the potential to do debug messages over RTT serial (over SWD). It's another step, but it might make sense to allow better debug without breaking watches open.
Beta Was this translation helpful? Give feedback.
All reactions