Vial-wise Temperature Calibration

Hello,

I’m starting the temperature calibrations for the eVOLVER unit we got from FynchBio. For each temperature level, I noticed it takes about 30 minutes (minimum, after allowing the thermometer to equilibrate after putting the probe into each) to input the temperature readings. The problem with this is that the eVOLVER UI takes in all the thermistor values at the same time. I noticed that in the 30 minutes, there was a significant variation in the room temperature of the lab, to a point where I believe this negatively impacts the accuracy of the calibration.

I think @danigarcia noted something similar in this thread in posts 23 and 25.

What I would like to do is create a script that listens for the data broadcast, gets the thermistor values from it, and manually writes down the thermistor value for each temperature measurement of the vial. I would do these for all temperatures and all vails. I would then like to transfer these values into an existing calibration to manually update this. Doing it this way gives confidence that when the thermistor value was noted down, it actually matches the temperature reading from the thermometer, i.e. there’s no delay, in which the temperature of the vial may change due to fluctuation in room temperature.

I wanted to get feedback on this approach–does this sound sensible? Also, where can I find an existing calibration file? Is it somewhere on the pi on the physical eVOLVER unit itself? I’ve tried to ssh into the pi, but it was not immediately obvious to me where it is located.

Thanks in advance!

Making a jupyter notebook version of the calibration scripts is on our TO-DO list to open up how calibrations are done. At this point here is an example of a simple script that pings the evolver.

This script would update the configuration file on the eVOLVER and also recieve a measurement from the eVOLVER every 20 seconds.

This might help you perform any custom calibrations.

Brandon

Thank you for the help Brandon!

So inside the /home/pi/evolver/evolver directory I see a configuration.json, that has the outputs of calibrations steps through the gui. I presume the way forward is not to manually change the values in this structure:

“name”: “dummy_calibration_file”,
“calibrationType”: “temperature”,
“timeCollected”: 1692999159334,
“measuredData”: [
[ 25, 35, 45],
[ 25, 35, 45 ],
[ 25, 35, 45 ],
[ 25, 35, 45 ],
[ 25, 35, 45 ],
[ 25, 35, 45 ],
[ 25, 35, 45 ],
[ 25, 35, 45 ],
[ 25, 35, 45 ],
[ 25, 35, 45 ],
[ 25, 35, 45 ],
[ 25, 35, 45 ],
[ 25, 35, 45 ],
[ 25, 35, 45 ],
[ 25, 35, 45 ],
[ 25, 35, 45 ]
],
“fits”: [
{
“name”: “ko”,
“coefficients”: [
[ 49.096276676390424, -85600.55049719161 ],
[ -0.1621621621646938, 315.16216216284226 ],
[ -0.1612325331447737, 319.1454675750366 ],
[ -0.15051491946382534, 302.06363876485176 ],
[ -0.1588065447570981, 310.42348412001826 ],
[ -0.1466414380346559, 292.20908230903405 ],
[ -0.1596929808723889, 307.22330139379903 ],
[ -0.1302931596115966, 258.8436482090499 ],
[ -0.16108037748381632, 318.071916694468 ],
[ -0.19480519480779956, 368.05194805274635 ],
[ -0.18183979082738944, 344.006417875711 ],
[ -0.15011546158159703, 293.49882484350996 ],
[ -0.15475735575337946, 309.1784486059473 ],
[ -0.16009487103721387, 313.45834568700803 ],
[ -0.17314702308883123, 333.79404617326986 ],
[ -0.1666069509161896, 331.8380508785324 ]
],
“type”: “linear”,
“timeFit”: 1692999179.223506,
“active”: false,
“params”: [
“temp”
]
}
],
“raw”: [
{
“param”: “temp”,
“vialData”: [
[
[ 1759, 1772, 1785 ],
[ 1813, 1799, 1785 ],
[ 1748, 1733, 1724 ]
],
[
[ 1719, 1731, 1747 ],
[ 1777, 1761, 1744 ],
[ 1702, 1691, 1677 ]
],
[
[ 1760, 1762, 1772 ],
[ 1800, 1793, 1784 ],
[ 1743, 1732, 1720 ]
],
[
[ 1763, 1776, 1791 ],
[ 1822, 1809, 1793 ],
[ 1751, 1738, 1727 ]
],
[
[ 1726, 1739, 1754 ],
[ 1785, 1769, 1755 ],
[ 1712, 1695, 1685 ]
],
[
[ 1744, 1753, 1766 ],
[ 1796, 1787, 1772 ],
[ 1732, 1722, 1706
]
],
[
[ 1694, 1709, 1721 ],
[ 1752, 1739, 1723 ],
[ 1678, 1666, 1653 ]
],
[
[ 1704, 1716, 1733 ],
[ 1768, 1754, 1740 ],
[ 1697, 1684, 1670 ]
],
[
[ 1753, 1758, 1773 ],
[ 1800, 1789, 1778 ],
[ 1737, 1725, 1715 ]
],
[
[ 1704, 1717, 1729 ],
[ 1756, 1739, 1728 ],
[ 1684, 1673, 1661 ]
],
[
[ 1700, 1709, 1720 ],
[ 1748, 1731, 1716 ],
[ 1672, 1658, 1647 ]
],
[
[ 1714, 1724, 1740 ],
[ 1770, 1757, 1742 ],
[ 1699, 1685, 1672 ]
],
[
[ 1765, 1770, 1783 ],
[ 1812, 1802, 1790 ],
[ 1753, 1743, 1731 ]
],
[
[ 1734, 1741, 1752 ],
[ 1783, 1772, 1757 ],
[ 1718, 1705, 1695 ]
],
[
[ 1716, 1729, 1741 ],
[ 1768, 1757, 1744 ],
[ 1704, 1691, 1678 ]
],
[
[ 1778, 1782, 1792 ],
[ 1823, 1812, 1801 ],
[ 1765, 1751, 1740 ]

I am aware the numbers in the above structure are nonsensical, I quickly ran a calibration without waiting for anything to equilibriate and put in false temperature measurements, just to experiment and see where the data ends up going.

Could you please guide me on how I would send back to the eVOLVER both temperature measurements and thermistor values before running a calibration? Can I do this with the calibration script somehow?