Heating element not working

When I use the GUI to set a temperature, or even just turn on the eVOLVER, every smart sleeve heats up except for the sleeve in the top left corner location. The fan works, and I get temperature and OD readings. It’s just the heating element that won’t work.
The sleeve in the top left corner does not change raw or celcius temperature values. According to the GUI, it’s raw value is ~ 2000 and temperature = 26.6 degrees.
I can feel the heating element, which is consistently cold even when it should be heating.

It worked fine for the last few months. I haven’t touched the vial since the last experiment or repaired it.

Here’s what I’ve tried so far:

  1. Swapping smart sleeves into the top left corner position ( also swapping the ribbon cable). Smart sleeves consistently do not heat up in the top left corner, but start working when they are moved to any other position.
  2. Restarting the evolver manually
  3. restarting the evolver from the pi

The port that the ribbon cable goes into is very clean, and nothing looks corroded.

Something that may or may not be useful: when I noticed this problem initially, I pulled out the smart sleeve at position 12 and replaced the whole thing. I didn’t try that smart sleeve on anything else. I did notice the pin at position 5 in the back was elevated relative to the rest of the pins.

Any suggestions on what to do?

How does temperature calibration plot look like for this sleeve?

The old temperature calibration plot ( while things were working) looked like this:

The new temperature calibration plot looks like this ( see how vial 12 is flat):

Hi Eric,

Can you check the config file on the raspberry pi? I’m curious if the commands are successfully making it through. When you swapped the smart sleeve out did it heat? And lastly, are you able to change the temperature of other vials, like swapping between 30-37C?

There is a known bug that can occur if you only change a parameter of subset of vials, I have a fix in for RC but unfortunately we haven’t been able to push a new release in a while.


The fix is in the master branch but it is not in the packaged release files.


Also, if you can provide a screenshot of the log on the rpi as you send temperature commands that would be very helpful!

I have a very similar problem.
During the initial temperature calibration there were problems with three smart sleeves.
The first stayed at RT during all three steps of the calibration.
The second got to ~35°C during the 2nd step but dropped to RT during the 3rd step.
And the third smart sleeve got to ~35°C during the second step but stayed at 35°C during the third step as well.
The calibration worked fine for all other smart sleeves and the temperature can be set normally.
After the calibration, for the first two smart sleeves I can’t change the temperature from RT. The third smart sleeve cant get temperatures over ~35°C.

Do you think that these problems could be caused by this bug or do you think I have a hardware problem?

If it is caused by the bug, how can I access and change the server code?

If you swap smart sleeves (e.g. one that works with one that doesn’t), does the issue follow the Smart Sleeve? This will help you isolate where you are having issues.

The problems follow the smart Sleeves in all three cases when I swap positions.

Then that is a Smart Sleeve issue. I would recommend your soldering joints/ connections.

When I swapped working smart sleeves onto that position, they did not heat.
I’m able to change the temperatures of other vials.

re the sw bug:
Can I just change that 1 line? Or would I need to replace the whole file? I guess just copy an paste in nano or something?

That’s what happens when I tail the evolver after running a temperature command through the GUI. The troublesome vial is vial 12.

Can you show your config file located at evolver/evolver/conf.yml? The first number in the tempi line doesn’t make any sense.

If all the other vials can be set and are regulating properly that seems like a hardware issue. You can try Brandon’s suggestion above of swapping the smart sleeve with another to see if it follows the sleeve. If it does, you should check the heaters are maybe swap those components out.


To confirm, when you put a different vial into the problem position, it also did not heat? Or does it follow the sleeve?

If I put a different vial into the problem position, it also won’t heat. Sleeves start working once they are moved away from the problem position.

There are two conf.yml files.
Here’s the output for the conf.yml: (this one has weird numbers under temp- may need to change this??) I tried going into the conf.yml and changing this to 1850, and then tried heating up the evolver using both the calibration files shown in this thread. The smart sleeve at position 12 did not heat up and was cold to touch

Here’s the output for the conf.yml~

The conf file with the tilde at the end is a backup, just ignore or delete it.

You definitely should fix that negative number in the temp param, I’m curious how that even happened, but it looks like vial0 is very hot and working. Just make sure you can set it to something appropriate and it regulates afterwards.

If you swapped vials and the vial still is not heating, there could be a problem with the PWM board. Based on the log file, the ADC board appears to be working fine for that address, and it doesn’t appear like there are any problems with the SAMD21 board. If you have a multimeter, can you measure the voltage across the temperature pins on the vial board and compare to some of the other vials?


On another note, I’m having a lot of trouble getting my edits on the conf.yml file to stick. I’ll change the massive negative number in position 0 to something reasonable (like 1640) using nano. I’ll check right after and the file seem to have changed. I’ll restart the evolver, check again still good.
value: [‘1640’, ‘1624’, ‘1624’, ‘1635’, ‘1637’, ‘1636’, ‘1627’, ‘1625’,
‘1619’, ‘1610’, ‘1620’, ‘1629’, ‘1597’, ‘1625’, ‘1592’, ‘1628’]
But then as soon as I send a temperature command through the UI, the conf.yml file changes back to get the wonky # at position zero!
value: [’-4988211300929’, ‘1624’, ‘1624’, ‘1635’, ‘1637’, ‘1636’, ‘1627’, ‘1625’,
‘1619’, ‘1610’, ‘1620’, ‘1629’, ‘1597’, ‘1625’, ‘1592’, ‘1628’]

The temperatures for vial 0 are are fine when I run things through python, it’s just the GUI that seems to be messing things up!


If you manually change conf.yml you need to immediately restart the server using supervisorctl or reboot/power cycle the RPi. The server will update the conf file every broadcast (default 20s) with the most recent values it has for every parameter. It only reads conf.yml on startup.

I’m wondering if crazy value from the GUI is due to the calibration being bad. Can you send me in a direct message a copy of your calibrations.json file located at /home/pi/evolver/evolver/calibrations.json on the RPi? If you need help getting the file off of the RPi I can provide more detailed instructions.