Just to add it's really worth trying to update the firmware. I seem to recall there were some instabilities in the handling of pin state changes in early firmwares.
Also, with later firmwares there's been a lot of work put into trying to make the standard Bangle.js code work on different watches, so when you update you could probably use the standard jswap_banglejs.c with minimal changes required
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Just to add it's really worth trying to update the firmware. I seem to recall there were some instabilities in the handling of pin state changes in early firmwares.
Also, with later firmwares there's been a lot of work put into trying to make the standard Bangle.js code work on different watches, so when you update you could probably use the standard
jswap_banglejs.c
with minimal changes required