I have an inexpensive (~$10 inc post) digital temperature controller that was observed to have very high RF emissions and was unusable because it was incompatible with radio operations here.
There has been enhanced firmware for a STC-1000 controller based on a PIC chip, but in my experience, most seem to be made with an STM8S003F3 chip. More recently, what appears to be a port of the PIC software to STM8 has been published at https://github.com/Emile666/stc1000_stm8.
The enhanced firmware is directed at home brewing for control of long running fermentation processes etc, incorporating storage for a number of multi-step programs (profiles). It is not really suited to more general applications like a fridge controller as for example it is more difficult for the common operation to set the set point.
I thought it might be entertaining to try it out.
Installation of the firmware was straight forward, I had the necessary programming adapter and software.
Interestingly, after updating the firmware, the device would not start on its original power supply. My suspicion is that the new firmware runs the LED display at higher duty cycle and the power supply could not withstand the load.
Since the power supply had RF emission problems, it was removed and the device converted to 12V DC.
Above, the large components of the switched mode power supply were removed, a Polyswitch protective device installed and input routed to the output terminals of the old 12V output switched mode power supply (white wire is -ve, brown wire is +ve).
A bit of time was wasted messing with the minutes mode which seemed to have the problem that if power was cycled, the setpoint in th mode was not retained, and was replaced with 0.0°. Reading the code showed that in minute mode, current values are not saved to EEPROM in the same way, so figuring that it was cut down in EEPROM writing to preserve EEPROM endurance, I abandoned it to use the hours mode.
This all seemed to work ok.
I cannot resist the temptation to replace the MCU with a STM8S103F3 (~$1.20 inc post) which has substantially more EEPROM and accommodates more detailed control programs (profiles). They are on a slow boat from China.
Above, the display board. It has been removed from the main board and the MCU removed. There is sufficient solder left on the pads that a little flux, the new chip and hot air to reflow the solder and the processor is upgraded from 128B of EEPROM to 640B. The temptation might be to remove this solder with solder wick, but you do so at the risk of lifting a pad… rule #1 is “don’t damage the PCB”.
The new chip worked a treat, and makes available to larger profile space.
This is not to recommend the firmware change for most common applications, it specifically targets home brewing process control and is unnecessarily complicated for simpler applications.