You are reading a single comment by @gdanov and its replies. Click here to read the full conversation.
  • Hi, you wrote you sample sensors every 300ms, unless the sensor is in some liquid or glued/bolted to something you measure, you create significant self heating (assuming it's a DS18B20 or similar). And IIRC unless you reduce the default resolution, sampling multiple sensors won't finish in 300ms.

    And since you got CALLBACK,MEMORY errors as well, there might be a memory leak somewhere. Happens to everyone, I usually display or send free memory as well, so I can spot if there is any memory leak. Can you post your code? Just remove passwords :)

    The probably too fast sampling rate can lead to a memory leak, because you try to start a new measurement cycle while the first is still in progress. If that's the case, simply measuring slower could solve your problem (and reduce errors due to sensor self heating).

    You can add some debug prints to your to the beginning and end of measurement with process.memory().free to confirm that measurements don't overlap?

  • Thanks a lot for the feedback.
    I'm using DS18B20 and I knew the resolution/conversion time relationship. I use 9 or 10 bit resolution and I read registers then request new resolution without waiting in order to keep the event loop free.
    How much self-heating do you think I'm causing? It's measuring temperatures in the 90-110 range and couple degrees offset (as long as it's constant) is not an issue.


Avatar for gdanov @gdanov started