• Hi - the watch looks great! When I saw it on Twitter I linked it from espruino.com too :)

    I think @fanoush could be spot on with the UART. Are you using pin D8 for anything? http://www.espruino.com/MDBT42Q#pinout

    If D8 is high at startup then the firmware will assume that it is connected to a UART and will enable the UART hardware, which draws a few mA (if I recall). All you'll need to do is add Serial1.unsetup() to onInit (or just to your code if it's saved to flash as-is) to disable it.

    Also the crystal is usually connected to D0/D1 I think? The standard firmware doesn't use it, but worse than that it uses D0/D1 as the default LED and button - so it's possible that it is putting them in a state that'd draw a bunch of power (although afaik they should both be 0v normally). It'd be worth trying without the crystal anyway.

    Or, you could compile your own firmware, enable the crystal in code and move LED1 and BTN1 but honestly I'd try and avoid that for the moment. nRF52 is actually pretty good at calibrating the internal RC oscillator using the high-speed crystal, so you'll find it's reasonably good at keeping time even without the 32k crystal.

    I'd really suggest trying to measure the current draw though. For quick debugging I just sandwich a two wires between the coin cell's '-' side and the PCB, so I can put a volt meter in series with the cell... Hopefully that'd work for you too - then you could at least see if it draws a bunch of power when not running any code, and could try adding code in until you see the high power draw.

    You could also try setSleepIndicator(LED1) or whatever indicator LED you have available - it'll show when Espruino is waking up to execute code, and if it's lit up a lot you'll know it's because of some code you have running :)

About

Avatar for Gordon @Gordon started