• Hi all! I was recently gifted a Bangle 1 from a friend. I really like Espruino as a smartwatch platform, and I'm interested in running it on a more recent watch, while keeping hardware costs down (I have an application in mind where I'd like to give a few units away to friends & family).

    So, my question is: given the current state of ports, is it possible to run Espruino on a non-Bangle smartwatch that is
    1) Not (a ton of) hassle to flash (ideally over BLE, if that's possible?)
    2) cheap
    3) stable

    in that order of priority?

  • Currently cheapest is probably the C17/Magic3 - about 11 usd including VAT and shipping on aliexpress, which is great price for nrf52840 based smartwatch. One random seller https://www.aliexpress.com/item/10050053­73233740.html

    is it possible to run Espruino on a non-Bangle smartwatch

    Yes but Espruino != Bangle.js, the interpreter works fine including BLE and all hardware but the UI part and Bangle apps from official repo work well only with official Bangle.js watches. However you can certainly use C17 running Espruino as a watch with custom subset of tweaked apps. C17 has 280x240 touch screen, one button and no gps or barometer. Also the HR sensor gives just raw data so is not that much usable out of box, same for step counting.
    For Bangle api layer it is perhaps best to start from here https://github.com/jeffmer/WatchApps

  • Thankyou, that makes sense. I've just taken delivery of a C17 watch I found on ebay, firmware version MOY-NBA5-2.0.5, which isn't one of the versions listed in your repo. Is it still worth a try?

  • Is it still worth a try?


  • Great, thankyou! I’ve been trying to flash the firmware from your GitHub repo, but DaFlasher is consistently failing at 50%. I’ll try a different Android device if I can find one, but in the meantime: is that a known issue and/or is there another way to flash a C17 watch? I’ve tried quitting and restarting the DaFlasher app, as suggested by the author in a YouTube video.

  • You are flashing the espruino_2v10.102_magic3-dafit.bin file right? no, no workaround for that step, worked for me many times, yes try different Android device. Once you have first Espruino from the -dafit.bin then you can update bootloader by copy pasting the bootloader and updating UICR via IDE (step 6 in readme) and then you can use any other DFU tool - like nrfConnect. But for the first step with the DaFit .bin file format only DaFlasher works.

    And BTW once you flash Espruino the screen is blank, you need to run some js code to use it.

  • Hooray! I found another device and it flashed fine. I guess the one I was using to start with had a flakey BT radio or something. Used nrfConnect to flash everything except the initial DaFlasher .bin file, thanks for the tip on that. Now have a watch with @jeffmer's Watch build of Espruino on it 🙌

    Thanks for all your help @fanoush, and for the Magic3 build of Espruino!

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

Best (cheap, least hassle) non-Bangle smartwatch for Espruino in 2024?

Posted by Avatar for prehensile @prehensile