The compensation might be needed, and the internal thermal sensor also needs tuning in any case if you read the specs, but it's close enough that you could use it out of the box and only be out by a few degrees. Chip temperature with regular sleeps isn't going to be a significant factor.
There is enough code space on the ATtiny85 that you could actually build a model that takes measured temperature T at time t (T_t), the goal temperature of G (G_t) and produce a predictive model for M(T_t, G_t) = T_{t+n}. You could then do something a little smarter than a PID controller that takes in some profile considerations, i.e. slow (low noise, low RPM, likely for normal usage), fast (high noise, high RPM in bursts, likely for gaming).
Yeah... It's either overkill, or there is some decent power going through it and it will affect thermal measurements anyway. Not to mention what it might do to the reference voltage.
> [..] mentions I2C is bit banged [..]
They possibly bit banged it? But it wouldn't have been needed given the hardware support...
> [..] yet completely left out circuit schematics [..]
Yeah, which is far more important that anything else.
> [..] which incidentally includes freewheel diode for the fan.
This may have been sensible to be fair, especially if you happen to rapidly change the delta PWM signal, you could end up with a decently sized back-EMF. But I think even better would be to sink it into something, rather than back into the power supply of sensitive components...
> PCB getting in the way isn't going to matter in this instance.
Agreed.