Cooling an IC2200H – update


I have an IC2200H mounted on my operating table with 25mm clearance above the radio and ample room for convection currents to assist in heat removal. It is concerning that the case temperature reaches temperatures that are not safe to touch, temperatures in excess of 75° (55° above ambient) have been measured and that has not triggered the internal temperature protection… so it could get hotter still!

Whilst it might take a while for the radio to reach high temperatures, in the long term, it must dissipate around 139W when transmitting on HIGH power setting and at ambient temperatures as high as 35° in the shack. (Rated input is 15A at 13.6V for 65W out, leaving 139W of heat to be dissipated.)

This is one of those high power mobile radios that advertises no fan as an advantage, but it is clearly not up to the task!

The objective of this change is to keep the external parts below 60°, the (ASTM standard C1055  1999) 5 second human skin burn threshold.

The solution is to fit a fan behind the radio to draw cool air and direct it over the radio, and to fit a thermostat controller so that the fan runs only as needed.


A 12V 0.18A 80mm muffin fan with ceramic bushing was chosen as a relatively quiet fan with good life.

Clip 152

The controller is based on generic heating / cooling controller (Duffy 2012) which uses flexible microcontroller code and application specific calibration constants in EEPROM. In this case, a thermistor is used as the temperature sensing element. The updated thermistor is 5k/3470 rather than the 5k shown in the circuit.

This article is an update for a different thermistor and updated firmware to the original article (Cooling an IC2200H).


An NTC 10k thermistor suits the application well, it has low current, low self heating, and gives a resolution of less than 0.1° around 50° in the circuit. (Duffy 2013) explains the behaviour of a thermistor in this role.

Clip 149

Above is the calculated voltage across the NTC 10k/3470 thermistor (cost ~$1) biased with 22k from +5V. This voltage is converted to a digital value by the microcontroller ADC and compared to the thresholds stored in EEPROM. The thermistor is secured between heatsink fins at the hottest spot on the heatsink.

The temperatures chosen for the controller are setpoint=45° and differential=5°, (the fan turns on at 50° and off at 45°) which correspond to voltages of 897mV and 780mV. They are set in EEPROM as ADC counts for setpoint of 835 and differential of 109.

Additionally, a minimum ON time of 60s is set to reduce the chance of short cycling.

Screenshot - 07_06_2015 , 17_48_54

Above is a screen dump from a hex editor showing the EEPROM data structure mapped. Although the application is cooling, the mode is set to heating because of the negative temperature coefficient sensor.


Above is the assembled fan controller. The Veroboard slips into rails in the Jiffy box, the three pin polarised connector takes a standard muffin fan plug, and the two pin header is for the remote thermistor.

Update: 27/06/2016

A 5V active buzzer was added as an alarm annunciator, it is connected between pin 6 of the MCU and +5V. It requires more current than the existing regulator. The 470Ω resistor and Zener diode were replaced by a LM7805 three terminal regulator. The original EEPROM image sets the alarm point at 55°.


  • ASTM standard C1055. 1999. Standard guide for heated system surface conditions that produce contact burn injuries. ASTM International, West Conshohocken, PA.
  • Duffy, O. 2012. Generic heating / cooling controller. (offline).
  • ———. 2013. Arduino thermometer – a tutorial. (offline).