Thanks - it's a shame it varies so much. When I'd tested they seemed to all be within +/- 1 degree, but that was with pre-production nRF52 chips and I wonder whether they were manufactured differently :(
There is also a temperature sensor on the MAG3110 - it's not exposed in the firmware yet, but I wonder if it might be calibrated better.
What the graph does show is that the temperature readings are reliable to around 1 degree C once you take account of the temperature offset - so it wouldn't be too painful to do something like E.setBootCode("E._getTemperature=E.getTemperature;E.getTemperature=function(){return E._getTemperature()-1.234};",true) with the calculated temperature offset.
Finally: http://www.espruino.com/Puck.js shows the available pads - there's a SOT23 part outline on the board connected to digital IO, and you may be able to solder a temperature sensor on there if you can find a OneWire digital one.
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.
Thanks - it's a shame it varies so much. When I'd tested they seemed to all be within +/- 1 degree, but that was with pre-production nRF52 chips and I wonder whether they were manufactured differently :(
There is also a temperature sensor on the MAG3110 - it's not exposed in the firmware yet, but I wonder if it might be calibrated better.
What the graph does show is that the temperature readings are reliable to around 1 degree C once you take account of the temperature offset - so it wouldn't be too painful to do something like
E.setBootCode("E._getTemperature=E.getTemperature;E.getTemperature=function(){return E._getTemperature()-1.234};",true)
with the calculated temperature offset.Finally: http://www.espruino.com/Puck.js shows the available pads - there's a SOT23 part outline on the board connected to digital IO, and you may be able to solder a temperature sensor on there if you can find a OneWire digital one.