@Pixmusix looks like you beat me to it as i was formatting my equations I’ll post for posterity anyway.
Dave Jones has a great EEVBlog video from forever ago that goes deep on calculating temperature rise and thermal resistance. Thinking about heat flow like an electrical circuit is a game changer and how it’s really done in engineering.
in any case, let’s do a worked example with data assuming the TO220 is in free air - so we’ll use the junction-to-ambient value for thermal resistance:
Power dissipated is
So temperature of the junction is
The junction will be 65°C above ambient which is pretty hot!
If you bond the package to a heatsink you can add the R_{thj-case} resistance with whatever thermal resistance data you have on the heatsink which will be much lower.
Actually works pretty well Too hot to touch for me is tuned to about 50°C (plus minus 10
) which is super good enough for maker projects