At the head of the setup is a router that provides internet access for the system. The first node is comprised of a chipKIT Max32, Max32 Ethernet Shield and XBee Shield (developed PCB). The second node is the Wireless Thermostat that is responsible for controlling the HVAC system and receiving data from the room nodes. The room nodes, with an output control board attached, can control a motorized damper to regulate the temperature in each room.


Here is a diagram the show a basic communication scheme for the wireless thermostat network.

Wiring (Thermostat)

  • The HVAC in my house has five wires and are marked as follows:
  • RH – 24VAC transformer for the heating system. RH is wired to RC.
  • RC – 24VAC transformer for the cooling system. RC is wired to RH.
  • W – Relay that turns on the heat.
  • Y – Relay that turns on the AC.
  • G – Relay that turns on the fan.

The transformer connections RH and RC are wired together since there is only one transformer for the type of HVAC installed in my house. This transformer provides the power the thermostat uses to switch on the relays. 

Wiring (Motorized Dampers)

Temperature control in each of the rooms is controlled by a motorized damper. The damper that I selected is a normally open type. This type of damper will close when 24VAC is applied to the motor. The damper will open when power is removed. 

Power to the damper is controlled by the thermostat. Both the AC and Heat relays are wired together so that actuating either of them will provide power to the damper. The trip point for providing power to the damper motor is based on the mode of operation of the thermostat (heat/cool) and the temperature set point. This arrangement allows the wireless node placed in each of the rooms to individually regulate temperature.

Operating Principles

The basic mode of operation for the Wireless Thermostat is to accept an input for a temperature set point and regulate the temperature around this set point. Regulation takes place through turning on or off the HVAC system. 

ChipKIT Max32 XBee Shield

The ChipKIT Max32 XBee Shield is a plug in board for the Max32 that allows for wireless communications via XBee modems. On the board is a dip switch that allows the default Serial1 port to be enabled or disabled. Serial port 1 on the Max32 was selected to allow the default port to remain free for sketch uploads. There is a 10 pin header on each side of the XBee modem connection that allows one to configure the board for other serial ports on the Max32. 

Wireless Thermostat/Temperature Node

The Wireless Thermostat/Temperature Node is responsible for controlling the HVAC and functioning as a room node to control the motorized dampers. 

System Output Controller

The System Output Controller mates to the bottom of the Thermostat/Temperature Node. The board accepts I2C commands and controls the output of 4 Solid State Relays and 4 mechanical relays.

MAX6675 Thermocouple Breakout

The MAX6675 board was created as an attachment for the Thermostat/Temperature board to allow for Cold-Junction Compensated Type-K Thermocouple interface probes to be used. My plans are to use the design for various heating control projects such as a Sous-vide cooker, smoker controller, reflow oven and some environmental projects.

The specifications for the MAX6675 are:

  • Works with any Type-K Thermocouple
  • Has a range of 0 to 1024 degrees Celsius in 0.25 degree increments
  • Operating voltage: 3.3 to 5V
  • SPI interface

** NOTE ** The MAX6675 has been replaced by the MAX31855.

Pin List

Wireless Thermostat/Temperature Node V2.0 Pin Assignments
Pin Arduino Pin Pin Name Description
1 RESET RST Controller Reset Pin
2 D0/RX RXI Serial Receive (RX) Pin
3 D1/TX TXO Serial Transmit (TX) Pin
9 XTAL1/OSC1 OSC1 16MHz Oscillator Pin 1
10 XTAL2/OSC2 OSC2 16MHz Oscillator Pin 2
8 GND GND Ground
22 AGND AGND Ground
7 VCC VCC 3.3V
Read more »