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). Continue reading STC-1000 firmware change
I have started using Arduino Pro Micros recently, and sourced inexpensive clones from China.
Experience is that all manner of inexpensive small microcontroller modules from China are likely to have issues with the bootloader: it isn’t there, it is back level, not suited to the actual clock speed.
I have come to routinely install a current / known / working bootloader to avoid wasting time down the track.
The Pro Micro does not have an ISP header, and the QFN package does not suit a chip adapter, so the next option is an adapter that can connect to the board with no pins, male or female headers, top or bottom.
Above is an adapter built on a small piece of Veroboard. If you are ging to copy it, make it one row of holes higher. I did initially, and in a miscount of rows, I incorrectly removed the top row. The black mark identifies the pin 1 of the Pro Micro, and the adapter connects to the side with the /RST pin.
The headers on the adapter engage JP6, preserving the pin ordering, pin 1 to the black mark on the veroboard.
In both cases, the bootloader did not work. I did not investigate further but did note that the NVM user row looked like it had been cleared, but just wrote a new bootloader and restored a default user row with protection for the 8192 length bootloader.