• Looks like a great idea!

    The screen shows inverted image currently, what's the way to get black text / white background?

    g.setColor(0);g.setBgColor(1) and a redraw should do it!

    In advertising mode only (no screen connected) with MAX31855 attached power consumption seemed close to zero = it kept around 100% for a couple days I kept it on. With the screen attached additionally it was draining roughly 0.5-1% per hour, which is not bad, but it can be better I believe. How to do so? Reducing baud rate? Less frequent screen updates? If so, how to manage do it?

    The battery indicator isn't too accurate so might be misleading, but yes, with standard advertising it should be pretty good - 20uA or so.

    How often were you updating the screen? I'd have thought the biggest power draw would actually be in listening on the radio to advertisements (it might actually be better to use NRF.setLowPowerConnection(true) and to then actually connect directly to the other device, as that'll reduce the current draw of the receiver.

    Is there any way to completely switch off the screen with a command, given it is attached to power (I guess no)?

    I'm not aware of one - if you dig in the datasheet for the display you might find something though. They're so low power you could always power it off a GPIO though.

    Is there any way to completely switch off Puck.js with an external switch without removing a battery?

    Not super-easily, but if you look below the IR LED on the PCB you'll see two small pads (next to one big one for the battery holder). If you cut the track on the PCB between those 2 pads, that should separate the battery holder and the power. You can then either connect a switch to those 2 pads, or connect it between the battery holder's pin and the 3V pin.

    Having said that, if you do NRF.sleep() to turn advertising off and have no intervals, it'll draw 3uA which is pretty small.

    You could also poke the system power registers directly in order to force the system into OFF mode (0.3mA) but then your only way to restart is to disconnect and reconnect the battery.

    edit: ahh - every 10 seconds. That shouldn't be too bad. I notice you're using D28. If that's pulled high when power is applied then Puck.js will enable the Serial port, which will really suck power (http://www.espruino.com/Puck.js#serial-cĀ­onsole). You could try using another pin if that's the case (although having used both D28 and D29 for other things it should have automatically disabled it again.

    Honestly, I'd try and set up a slightly more accurate way of measuring power consumption. Do you have an oscilloscope? If so you could measure the voltage drop across a resistor when powering Puck.js and that should give you a pretty clear idea of when power is drawn and how much.

About

Avatar for Gordon @Gordon started