The first goal is to get it to display the actual temperature and not just the set-point. The set-point is a nice-to know, but I really do like to know the real thing.
I've accomplished that. It is usable as of now.
The temperature overshoot issue is my 2nd goal. As of now I have implemented a PD control loop, which works reasonably well, but the parameters need more tweeking. Initial power-up is still a bit iffy with respect to overshoot, but once the device is warmed up, moving the temperature around isn't too bad. Work in progress :-)
I'll tweak the way the device controls the heater a bit more and may finally go to full PID control. Currently the very low temperatures ( < 130°C ) take too long to reach, as the minimum duty cycle for the heater is still too long, so the tiniest bit of heating action will almost overcompensate any intended temperature drop.
I hope there is a firmware-only fix for this device.