HPC09 Head Pressure Control Optimized Temperature Control Switch


HPC09 Actual size.

The HPC09 Head Pressure Control Optimized Temperature Control Switch is a W1209 Temperature Control Switch reprogrammed with advanced software to specifically designed to optimize HVAC control systems. The HPC09 focuses on controlling system temperature understanding real-world HVAC designs and performance optimization strategies.


  • W1209 Hardware reflashed with advanced HPC09 software
  • Measurement in °C and °F
  • 3-digit resolution, -99 to -10, -9.9 to 99.9, and 100 to 999 depending on range
  • Temperature control range: -50~110°C
  • Temperature measurement accuracy: 0.1 °C
  • Control accuracy: 0.1 °C
  • Input power: DC 12V
  • Static Current: 35mA
  • Peak Current: 65mA
  • Measurement input: NTC (10K 0.5%) Waterproof sensor
  • Output: 1 relay output, capacity = 20A 125VAC,
  • Size: 48.5*40mm

HPC09 Head Pressure Control Algorithm

The HPC09 algorithm combines two algorithmic strategies, and other advanced features, to optimize Head Pressure Control in real-world HVAC systems.

Separate digital process control of low and high temperature setpoints.

Rather than being a simple, single-temperature, stable-limit-cycle style thermostat the HPC09 implements two separate digital process control algorithms to operate the HVAC between specified low-temperature and high-temperature setpoints. As the two separate control algorithms maintain the HVAC temperature system between specified set point temperatures the system’s head pressure remains bounded and optimized.

Cycle time management.

Changing environmental loads change an HVAC system’s cycle times. As the environmental load increases the system’s cycle time increases. This association is so reliable that with practice outside temperature can often be inferred from an HVAC system’s cycle time. As cycle times increase there is an opportunity to tighten the system’s low and high temperature setpoints. Tightening the temperature setpoints has multiple positive outcomes; less temperature swings, less head pressure swing, and system operation consistently closer to optimum parameters. These outcomes work together to increase comfort and save operational costs.

As the environmental load and system’s cycle time decreases. HVAC systems can become overpowered to the point where operational efficiency must give way to other issues such as motor protection. Increasing the spread of the low and high temperature setpoints increases cycle time.

Motor protection.

Additionally, the HPC09 algorithm implements an anti-jogging safety timer to be sure that the output relay does not switch faster than the time selected. The decimal point of the left-most seven-segment-display digit will be lit when the anti-jogging safety timer is active.

Quickset pushbuttons.

Fine tuning the HPC09 algorithms requires multiple parameter settings. To simplify quick and simple operation of the HPC09 a Quickset interface has been implemented. Quickset operation looks something like the original W1209 temperature setting method yet fully sets all the parameters needed to operate both the low and high temperature setpoints and the cycle time management algorithms. Low and high temperature setpoints are -/+ 6 degrees of the selected temperature. Cycle time parameters are set to default values to implement constant temperature setpoints at all cycle times.


If you have read this far you might be interested in the HVAC Test Load Simulator used to test and fine-tune the multiple control algorithms in this project.

A really old post showing early thinking about the project is
Cell Phone Tower Machine Room Advanced Temperature Control Unit.

HVAC Test Load Simulator – Update

To build the Head Pressure Control Optimized Temperature Control Switch (that is being prototyped as an Arduino Sketch and be fully implemented as a re-flashed W1209 device) an HVAC Test Load Simulator needs to be built.

Update:The in-process re-flashed device project has been named the HPC09 Head Pressure Control Optimized Temperature Control Switch. Take a look

My idea is to take a block of aluminum and put an independently-controlled thermoelectric Peltier effect heater/cooler and fan on each side to heat and cool the block.

A local machine shop cut the block and drilled a hole in the side to accommodate the thermistor probe. The Peltier devices are placed on each end in such a way that heat is pumped into one side of the block and pulled out the other. Notice how both the Peltier devices are oriented the same way so that heat always moves in one direction thru the simulator.

The cardboard shield needed to be added because the probes were being blown by the fans and didn’t represent the temperature of the block.

The bank of TTL-controlled relays provide independent power to the fans
Peltier devices. In the end, the best HVAC simulation was achieved by running the fans full-time and turning the appropriate Peltier device on and off as needed.

By providing both heating and cooling signals any pair of temperature setpoints can be achieved. Running a single Peltier device allows chilled-to-room-temperature or room-temperature-to-warm scenarios.

The Arduino Sketch code, the little breadboard, and the relays are working well. The biggest problem has been the thermal grease – it seems to get everywhere…

Thermoelectric Peltier Device Air Conditioning Equipment Simulator – is the initial, old post about the same topic.