While debugging I noticed that the hot end cooling fan did not turn on when I manually set the hot end temperature target to 200 °C. Even after the hot end reached 200 °C the fan did not turn on. The bed target temperature during this test was set to 0 °C.
I let everything cool down then set the bed temperature to 30 °C. About 10 seconds later the hot end cooling fan turned on. I then set the bed to 0 °C. About a minute later the hot end cooling fan turned off. The hot end target temperature during this test was set to 0 °C.
This is a (original) CR-10 printer. The stock controller board has been swapped out with a BTT Mini E3 V2.0 board. I am running Marlin 2.0.9.7. I have loaded in a set of CR-10 configurations which I believe are from the Marlin web site.
Since OctoPrint is connected by USB to the BTT controller board during the above test, I repeated the test after disconnecting the USB cable. The results were the same. The hot-end cooling fan turns on when the bed is hot and the hot-end is cold. And, the hot-end cooling fan turns off when the bed is cold and the hot-end is hot.
I know in many designs the hot-end cooling fan is on all the time (i.e. as soon as power is applied to the controller board). In the stock CR-10, IIRC, the hot-end cooling fan was only on when the hot-end was hot. I was expecting the same behavior after replacing the stock CR-10 controller board with the BTT controller board. But this behavior where the hot-end cooling fan is obviously tied to the bed heater and not the hot-end was unexpected.