Patent Description:
A heating, ventilation, and air conditioning (HVAC) controller can control a variety of devices such as a furnace, a heat pump including a geothermal heat pump, a boiler, air conditioning unit, forced air circulation, and other similar equipment to control the internal climate conditions of a building. In some examples, a thermostat can control different devices depending on the outside temperature, temperature inside the building, the time of day, and other factors.

The scope of the present invention is set out in the claims appended hereto.

<FIG> is a block diagram illustrating an example heating, ventilation, and air conditioning (HVAC) system <NUM> in a building <NUM>, in accordance with one or more techniques described herein. HVAC system <NUM> includes HVAC component(s) <NUM>, a supply air duct <NUM>, a return air duct <NUM> (collectively, "ducts <NUM>, <NUM>"), dampers <NUM>, and air filters <NUM>. Additionally, HVAC system <NUM> includes an HVAC controller <NUM> configured to control HVAC component(s) <NUM> to regulate one or more parameters within building <NUM>. HVAC controller <NUM> may include a dial <NUM> and an analog display <NUM>.

HVAC system <NUM> may include one or more devices for regulating an environment within building <NUM>. For example, HVAC controller <NUM> may be configured to control the comfort level (e.g., temperature and/or humidity) in building <NUM> by activating and deactivating HVAC component(s) <NUM> in a controlled manner. HVAC controller <NUM> may be configured to control HVAC component(s) <NUM> via a wired or wireless communication link <NUM>. In some examples, a wired communication link <NUM> may connect HVAC component(s) <NUM> and HVAC controller <NUM>. HVAC controller <NUM> may be a thermostat, such as, for example, a wall mountable thermostat. In some examples, HVAC controller <NUM> may be programmable to allow for user-defined temperature set points to control the temperature of building <NUM>. Based on sensed temperature of building <NUM>, HVAC controller <NUM> may turn on HVAC component(s) <NUM> or turn off HVAC component(s) <NUM> in order to reach the user-defined temperature set point. Although this disclosure describes HVAC controller <NUM> (and controllers shown in other figures) as controlling HVAC component(s) <NUM>, external computing device <NUM> may also be configured to perform these functions. The techniques of this disclosure will primarily be described using examples related to temperature, but the systems, devices, and methods described herein may also be used in conjunction with other sensed properties, such as humidity or air quality. In some examples, HVAC controller <NUM> may be configured to control all of the critical networks of a building, including a security system.

HVAC component(s) <NUM> may provide heated air (and/or cooled air) via the ductwork throughout the building <NUM>. As illustrated, HVAC component(s) <NUM> may be in fluid communication with one or more spaces, rooms, and/or zones in building <NUM> via ducts <NUM>, <NUM>, but this is not required. In operation, when HVAC controller <NUM> outputs a heat call signal to HVAC component(s) <NUM>, HVAC component(s) <NUM> (e.g., a forced warm air furnace) may turn on (begin operating or activate) to supply heated air to one or more spaces within building <NUM> via supply air ducts <NUM>. HVAC component(s) <NUM>, which include an air movement device <NUM> (e.g., a blower or a fan), can force the heated air through supply air duct <NUM>. In this example, cooler air from each space returns to HVAC component(s) <NUM> (e.g. forced warm air furnace) for heating via return air ducts <NUM>. Similarly, when a cool call signal is provided by HVAC controller <NUM>, a cooling device (e.g., an air conditioning (AC) unit) of HVAC component(s) <NUM> may turn on to supply cooled air to one or more spaces within building <NUM> via supply air ducts <NUM>. Air movement device <NUM> may force the cooled air through supply air duct <NUM>. In this example, warmer air from each space of building <NUM> may return to HVAC component(s) <NUM> for cooling via return air ducts <NUM>.

In some examples, HVAC component(s) <NUM> may include any one or combination of a fan, a blower, a furnace, a heat pump, an electric heat pump, a geothermal heat pump, an electric heating unit, an AC unit, a humidifier, a dehumidifier, an air exchanger, an air cleaner, a damper, a valve, and a fan, however this is not required. HVAC component(s) <NUM> may include any device or group of devices which contributes to regulating the environment within building <NUM> based on signals received from HVAC controller <NUM> or contributes to regulating the environment within building <NUM> independently from HVAC controller <NUM>.

Ducts <NUM>, <NUM> may include one or more dampers <NUM> to regulate the flow of air, but this is not required. For example, one or more dampers <NUM> may be coupled to HVAC controller <NUM> and can be coordinated with the operation of HVAC component(s) <NUM>. HVAC controller <NUM> may actuate dampers <NUM> to an open position, a closed position, and/or a partially open position to modulate the flow of air from the one or more HVAC components to an appropriate room and/or space in building <NUM>. Dampers <NUM> may be particularly useful in zoned HVAC systems, and may be used to control which space(s) in building <NUM> receive conditioned air and/or receives how much conditioned air from HVAC component(s) <NUM>.

In many instances, air filters <NUM> may be used to remove dust and other pollutants from the air inside building <NUM>. In the example shown in <FIG>, air filters <NUM> is installed in return air duct <NUM> and may filter the air prior to the air entering HVAC component(s) <NUM>, but it is contemplated that any other suitable location for air filters <NUM> may be used. The presence of air filters <NUM> may not only improve the indoor air quality but may also protect the HVAC component(s) <NUM> from dust and other particulate matter that would otherwise be permitted to enter HVAC component(s) <NUM>.

HVAC controller <NUM> may include any suitable arrangement of hardware, software, firmware, or any combination thereof. For example, HVAC controller <NUM> may include processing circuitry comprising microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or equivalent discrete or integrated logic circuitry, or a combination of any of the foregoing devices or circuitry. Accordingly, the processing circuitry may include any suitable structure, whether in hardware, software, firmware, or any combination thereof, to perform the functions ascribed herein to HVAC controller <NUM>.

Although not shown in <FIG>, HVAC controller <NUM> may include a memory configured to store information within HVAC controller <NUM> during operation. The memory may include a computer-readable storage medium or computer-readable storage device. In some examples, the memory includes one or more of a short-term memory or a long-term memory. The memory may include, for example, random access memories (RAM), dynamic random access memories (DRAM), static random access memories (SRAM), magnetic discs, optical discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable memories (EEPROM). In some examples, the memory is used to store program instructions for execution by the processing circuitry of HVAC controller <NUM>. In some examples, the memory of HVAC controller <NUM> may be able to store data to and read data from memory included in external computing device <NUM> and/or memory included in external database <NUM>. The memory may be used for storing network settings such as an Internet Protocol (IP) address and/or a Media Access Control (MAC) address of HVAC controller <NUM>, external computing device <NUM>, and/or a router.

In some examples, HVAC controller <NUM> may include a set of wire terminals which make up a terminal block (e.g., a wall plate or a terminal plate) for receiving a set of control wires for one or more HVAC component(s) <NUM> of HVAC system <NUM>. The memory of HVAC controller <NUM> may store one or more wiring configurations for HVAC component(s) <NUM>, allowing HVAC controller <NUM> to determine which of HVAC component(s) <NUM> are connected to HVAC controller <NUM>. The memory of HVAC controller <NUM> may also store settings for HVAC system <NUM> which correspond to the one or more wiring configurations for HVAC component(s) <NUM>. For example, if HVAC controller <NUM> is wired to an AC unit of HVAC component(s) <NUM>, HVAC controller <NUM> may determine one or more settings for controlling the AC unit to turn on and turn off.

In some examples, the memory of HVAC controller <NUM> may store program instructions, which may include one or more program modules, which are executable by HVAC controller <NUM>. When executed by HVAC controller <NUM>, such program instructions may cause HVAC controller <NUM> to provide the functionality ascribed to it herein. The program instructions may be embodied in software, firmware, and/or RAMware.

In some examples, HVAC controller <NUM> may include a dial <NUM> which is located at an outer circumference of HVAC controller <NUM>. HVAC controller <NUM> may be fixed to a wall or another surface such that dial <NUM> may be rotated relative to one or more other components (e.g., analog display <NUM>) of HVAC controller <NUM>. Dial <NUM> may represent a user interface such that processing circuitry of HVAC controller <NUM> may receive, dial <NUM> and/or dial circuitry electrically connected to dial <NUM>, information indicative of a user input. In some examples, the user input may represent a user selection of a set point parameter value (e.g., a set point temperature), a user selection of information to be displayed by HVAC controller <NUM>, or a user selection of another setting. In some examples, dial <NUM> may smoothly rotate with respect to analog display <NUM>. In some examples, dial <NUM> may rotate with one or more steps such that as dial <NUM> rotates, dial <NUM> "snaps" into position after every interval of rotational distance. In some examples, dial <NUM> may smoothly rotate with respect to analog display <NUM> and HVAC controller <NUM> may output an audio signal (e.g., a clicking noise) for every interval of rotational position (e.g., every one degree) in which dial <NUM> rotates.

In some examples, dial <NUM> does not move inwards in response to a force applied to dial <NUM>. For example, dial <NUM> may rotate about a center axis which passes through a center of dial <NUM> without moving along the center axis in response to one or more forces applied to dial <NUM>. When HVAC controller <NUM> is mounted on a vertical surface such as a wall, HVAC controller <NUM> may prevent dial <NUM> from depressing inwards towards the vertical surface while allowing the dial <NUM> to rotate.

In some examples, dial <NUM> may include a set of light-emitting diodes (LEDs) configured to illuminate a portion or a whole of dial <NUM>, but this is not required. The processing circuitry of HVAC controller <NUM> may selectively illuminate one or more LEDs of the set of LEDs in order to indicate a set point temperature or convey other information. In some examples, the set of LEDs included in dial <NUM> may illuminate dial <NUM> to indicate that HVAC system <NUM> is in a heating or indicate that HVAC system <NUM> is cooling. For example, when HVAC system <NUM> is heating (e.g., HVAC controller <NUM> is outputting one or more instructions for HVAC component(s) <NUM> to increase a temperature within building <NUM>), the LEDs of dial <NUM> cause dial <NUM> to illuminate at a first color. When HVAC system <NUM> is cooling (e.g., HVAC controller <NUM> is outputting one or more instructions for HVAC component(s) <NUM> to decrease a temperature within building <NUM>), the LEDs of dial <NUM> cause dial <NUM> to illuminate at a second color. In this way, the LEDs of dial <NUM> may indicate whether HVAC system <NUM> is heating or cooling.

Analog display <NUM> may include information relating to one or more aspects of an area in which HVAC controller <NUM> is located (e.g., a room in which HVAC controller <NUM> is located, a building in which HVAC controller <NUM> is located, an area outside of a building in which HVAC controller <NUM> is located, or any combination thereof). Analog display <NUM> may be round in shape and analog display <NUM> may be located an area within a circumference of dial <NUM> such that edges of dial <NUM> are visible around an outer circumference of analog display <NUM>. At least part of dial <NUM> and analog display <NUM> may represent an outer surface of HVAC controller <NUM>. In some cases, HVAC controller <NUM> may receive user input to one or both of dial <NUM> and analog display <NUM>.

A user may interact with HVAC controller <NUM> through a mobile phone, a tablet, a computer, or another device. For example, user devices 8A-8N (collectively, "user devices <NUM>") may communicate with HVAC controller <NUM> via network <NUM>. HVAC controller <NUM> may, in some examples, be configured to communicate directly with network <NUM> without communicating with network <NUM> via a gateway device (e.g., a Wi-Fi router) within building <NUM>. In some examples, HVAC controller <NUM> may receive instructions from one or more of user devices <NUM>. The instructions may include, for example, a request to change a set point temperature for an area within building <NUM>. HVAC controller <NUM> may change the set point temperature in response to receiving the instruction. In turn, HVAC controller <NUM> may control HVAC component(s) <NUM> to control the temperature within building <NUM> to reach the new set point.

In some examples, responsive to detecting a rotation of dial <NUM> while HVAC controller <NUM> is in the idle state, HVAC controller <NUM> transitions out of the idle state to a set point state. HVAC controller <NUM> may change a temperature set point for an area within building <NUM> in response to detecting the rotation of dial <NUM>. In other words, HVAC controller <NUM> may determine that a rotation of dial <NUM> while HVAC controller <NUM> is in the idle state represents a user request to change a temperature set point. In transitioning out of the idle state, the processing circuitry of HVAC controller <NUM> may display the temperature set point for the area within building <NUM> on analog display <NUM>. Additionally, HVAC controller <NUM> may display the temperature set point changing as dial <NUM> rotates. For example, the analog display <NUM> may show the temperature set point cycle through a range of degrees, where each change from one degree to another degree is reflected on analog display <NUM>. In some examples, HVAC controller <NUM> may emit a noise each time the temperature set point changes from one degree value to another degree value. The noise may represent a clicking noise, a tapping noise, or another type of noise.

In some examples, HVAC controller <NUM> may control HVAC components <NUM> based on more than one set point. For example, HVAC controller <NUM> may determine whether one or both of a first set point mode and a second set point mode is activated. In some examples, the first set point mode represents a cooling temperature set point mode and the second set point mode represents a heating set point mode. In the cooling set point mode, the HVAC controller <NUM> may be configured to change a cooling set point, and in the heating set point mode, the HVAC controller <NUM> may be configured to change a heating set point. A cooling set point may represent a temperature set point for controlling HVAC components <NUM> to decrease or maintain a temperature within building <NUM> as compared with a temperature outside of building <NUM>. A heating set point may represent a temperature set point for controlling HVAC components <NUM> to increase or maintain a temperature within building <NUM> as compared with a temperature outside of building <NUM>.

In some examples, HVAC controller <NUM> is configured to receive user input representing an instruction to enter the first set point mode. In some examples, HVAC controller <NUM> is configured to receive user input representing an instruction to enter the second set point mode. HVAC controller <NUM> may enter the second set point mode in response to receiving user input representing a request to enter the second set point mode. For example, HVAC controller <NUM> may deactivate the first set point mode and activate the second set point mode in response to receiving information indicative of a user input to a mode button representing a request to enter the second set point mode. Alternatively, HVAC controller <NUM> may enter the first set point mode in response to receiving user input representing a request to enter the first set point mode. For example, HVAC controller <NUM> may deactivate the second set point mode in response to receiving information indicative of a user input to a mode button representing a request to enter the first set point mode.

HVAC controller <NUM> is configured to cause, based on the first set point mode being activated, the first set point of the device to change in response to receiving a rotation input to dial <NUM>. Additionally, HVAC controller <NUM> is configured to cause, based on the second set point mode being activated, the second set point of the device to change in response to receiving a rotation input to dial <NUM>. In this way, HVAC controller <NUM> may control one or both of the first set point and the second set point to change based on a rotation input to dial <NUM>.

In some examples, analog display <NUM> includes a set of markers, an electric motor, and a pointer connected to the electric motor. In some examples, analog display <NUM> is circular in shape. The set of markers may be arranged in a "fan" shape, such that the markers are spaced along the circumference of analog display <NUM>. In some examples, one or more of the markers may be labelled with a temperature value such that each marker of the set of markers corresponds to a temperature value. HVAC controller <NUM> may be configured to control the electric motor in order to "point" the pointer at the set of markers to indicate a temperature value. For example, HVAC controller <NUM> may be configured to control the electric motor in order to cause the pointer to indicate a first marker of the set of markers, wherein the first marker corresponds to a current temperature value. In some examples, HVAC controller <NUM> includes a temperature sensor. HVAC controller <NUM> may control the electric motor to align the pointer with the first marker based on the information indicative of the current parameter value. In some examples the electric motor represents a stepper motor.

Additionally, or alternatively, HVAC controller <NUM> may be configured to control dial <NUM> to indicate a temperature set point by indicating a second marker of the set of markers which corresponds to the temperature set point. In this way, it may be possible to observe the temperature set point and the current temperature value in relationship to each other on the same set of markers. Dial <NUM> may include a set of LEDs. In some examples, to control dial <NUM> to indicate the temperature set point, HVAC controller <NUM> may control the set of LEDs to indicate the second marker. HVAC controller <NUM> may indicate the second marker by illuminating an LED of the set of LEDs which is proximate to the second marker. In some examples, HVAC controller <NUM> may cause one or more LEDs proximate to the second marker to emit light that is a different color than light emitted by other LEDs on the dial. In any case, HVAC controller <NUM> may control the one or more LEDs to indicate the second marker. HVAC controller <NUM> may control the electric motor in order to align the pointer with the first marker of the set of markers. That is, the pointer points at the first marker and the set of LEDs on the dial indicate the second marker.

In some examples, HVAC controller <NUM> includes a temperature sensor. HVAC controller <NUM> may control the electric motor to align the pointer with the first marker based on the information indicative of the current temperature value. HVAC controller <NUM> may control the pointer to indicate the current temperature value in real time or near real time. That is, HVAC controller <NUM> may move the pointer in response to a change in the current temperature.

In some examples, HVAC controller <NUM> includes a projection ring and a top plate. The projection ring and the top plate may be located at a center of analog display <NUM> such that a central axis passes through a center point of the projection ring and a center point of the top plate, the center axis being perpendicular to a face of analog display <NUM>. In some examples, the projection ring includes a top surface, a bottom surface, and a rounded surface. The pointer may be located on top of the projection ring, and the center plaint may be located on top of the projection ring and the pointer.

In some examples, HVAC controller receives a rotation input to dial <NUM>. The rotation input may be a clockwise rotation input or a counter-clockwise rotation input. In some examples, when dial <NUM> receives the rotation input, the HVAC controller <NUM> is in a set point change mode. In this case, HVAC controller <NUM> may change one or more temperature set points based on receiving the rotation input. HVAC controller <NUM> may control the set of LEDs of dial <NUM> to indicate a marker of the set of markers based on the change in the temperature set point. For example, HVAC controller <NUM> may control the set of LEDs of dial <NUM> to update the marker of the set of markers indicated by the LEDs in response to receiving the rotation input. Alternatively, HVAC controller <NUM> may receive, from a user device of devices <NUM>, a user selection of a temperature set point. HVAC controller may control the set of LEDs of dial <NUM> to indicate the second marker based on the user selection of the set point parameter value. In this way, HVAC controller <NUM> may control the temperature set points based on user selections via dial <NUM> and/or user selections via a wireless connection <NUM> to user devices <NUM>.

Dial <NUM> may include dial circuitry that is configured to generate an electrical signal indicative of a rotation of dial <NUM>. That is, HVAC controller <NUM> may be configured to determine any one or combination of a rotational position of dial <NUM>, a rotational displacement of dial <NUM>, and a rotational velocity of dial <NUM> based in the electrical signal generated by the dial circuitry.

HVAC controller <NUM> may include a communication device (not illustrated in <FIG>) to allow HVAC controller <NUM> to communicate via a wired or wireless connection <NUM> to external computing device <NUM>. The communication device may include a Bluetooth transmitter and receiver, a Wi-Fi transmitter and receiver, a Zigbee transceiver, a near-field communication transceiver, or other circuitry configured to allow HVAC controller <NUM> to communicate with external computing device <NUM>. In some examples, the communication device may allow HVAC controller <NUM> to exchange data with external computing device <NUM>. Examples of exchanged data include a desired temperature for building <NUM>, HVAC component(s) <NUM> connected to HVAC controller <NUM>, error codes, geographic location, estimated energy usage and cost, and/or other operating parameters or system performance characteristics for HVAC system <NUM>.

HVAC controller <NUM> may communicate via wired or wireless connection <NUM> with external computing device <NUM>. External computing device <NUM> may be, include, or otherwise be used in combination with a mobile phone, smartphone, tablet computer, personal computer, desktop computer, personal digital assistant, router, modem, remote server or cloud computing device, and/or related device allowing HVAC controller <NUM> to communicate over a communication network such as, for example, the Internet or other wired or wireless connection. Communicating via the wired or wireless connection <NUM> may allow HVAC controller <NUM> to be configured, controlled, or otherwise exchange data with external computing device <NUM>. In some examples, HVAC controller <NUM> communicating via wired or wireless connection <NUM> may allow a user to set up HVAC controller <NUM> when first installing the controller in building <NUM>. In some examples, HVAC controller <NUM> and external computing device <NUM> communicate through a wireless network device such as a router or a switch. In other examples, HVAC controller <NUM> and external computing device <NUM> communicate through a wired connection such as an ethernet port, USB connection, or other wired communication network.

HVAC controller <NUM> may, via the communication device, communicate via a wired or wireless connection <NUM> with external database <NUM>. In some examples, wired or wireless connection <NUM> enables HVAC controller <NUM> to communicate with external database <NUM> via a wireless connection which includes a network device such as a router, ethernet port, or switch. HVAC controller <NUM> and external database <NUM> may also communicate through a wired connection such as an ethernet port, USB connection, or other wired communication network. Communicating via the wired or wireless connection <NUM> may allow HVAC controller <NUM> to exchange data with external database <NUM>. As such, external database <NUM> may be at a location outside of building <NUM>. In some examples, external database <NUM> may be, include, or otherwise be used in combination with a remote server, cloud computing device, or network of controllers configured to communicate with each other. For example, HVAC controller <NUM> may receive data from HVAC controllers in nearby buildings through the internet or other city- or wide-area network. HVAC controller <NUM> may include the onboard database because it is unable to communicate via the communication device.

In some examples, external database <NUM> may be, or otherwise be included in, or accessed via, external computing device <NUM> (e.g., smartphone, mobile phone, tablet computer, personal computer, etc.). For example, HVAC controller <NUM> may communicate via a Wi-Fi network connection with a smartphone device to exchange data with external database <NUM>. By communicating via wired or wireless connection <NUM>, HVAC controller <NUM> may exchange data with external database <NUM>.

In some examples, HVAC controller <NUM> may display a setpoint as a bright white light at moving around a perimeter of HVAC controller <NUM>. As dial <NUM> rotates, the light may move with dial <NUM> to show a selected setpoint. If the setpoint is changed via a mobile application on one or more of user devices <NUM>, the light may move on HVAC controller <NUM> to show the selected setpoint. An application of one of user devices <NUM> may enable a user to view one or more aspects of HVAC controller <NUM>.

In some examples, if a Buoy water valve is installed, HVAC controller <NUM> may receive details on water usage and leak status. In some examples, if a security system is installed, HVAC controller <NUM> may control the security system.

<FIG> is a block diagram illustrating an example HVAC controller <NUM> including a dial <NUM> and an analog display <NUM>, in accordance with one or more techniques described herein. As seen in <FIG>, HVAC controller <NUM> includes processing circuitry <NUM>, memory <NUM>, communication circuitry <NUM>, sensor(s) <NUM>, and terminal(s) <NUM>. Sensor(s) <NUM> may, in some examples, include a temperature sensor <NUM>. In some examples, dial <NUM> includes LEDs <NUM>. Analog display <NUM> includes markers <NUM>, LEDs <NUM>, mode button <NUM>, pointer <NUM>, and electric motor <NUM>. In HVAC controller <NUM> may be configured to communicate with HVAC system <NUM> via terminal(s) <NUM> and/or communicate with user devices 8A-8N (collectively, "user devices <NUM>") via network <NUM>.

HVAC controller <NUM> may be configured to control HVAC system <NUM> in order to regulate one or more parameters of a space (e.g., a building, one or more rooms within a building, a large vehicle, or a vessel). In some examples, HVAC controller <NUM> regulates a temperature within the space. HVAC controller <NUM> may regulate the temperature of the space by using HVAC system <NUM> to decrease a temperature of the space if the current temperature of the space is greater than a first set point temperature and/or increase a temperature of the space using HVAC system <NUM> if the current temperature of the space is less than a second set point temperature. In some examples, the first set point temperature (e.g., a cooling set point temperature) is less than the second set point temperature (e.g., a heating set point temperature). In some examples, the first set point temperature is equal to the second set point temperature.

Processing circuitry <NUM> may include fixed function circuitry and/or programmable processing circuitry. Processing circuitry <NUM> may include any one or more of a microprocessor, a controller, a DSP, an ASIC, an FPGA, or equivalent discrete or analog logic circuitry. In some examples, processing circuitry <NUM> may include multiple components, such as any combination of one or more microprocessors, one or more controllers, one or more DSPs, one or more ASICs, or one or more FPGAs, as well as other discrete or integrated logic circuitry. The functions attributed to processing circuitry <NUM> herein may be embodied as software, firmware, hardware or any combination thereof.

In some examples, memory <NUM> includes computer-readable instructions that, when executed by processing circuitry <NUM>, cause HVAC controller <NUM> and processing circuitry <NUM> to perform various functions attributed to HVAC controller <NUM> and processing circuitry <NUM> herein. Memory <NUM> may include any volatile, non-volatile, magnetic, optical, or electrical media, such as, for example, RAM, DRAM, SRAM, magnetic discs, optical discs, flash memories, or forms of EPROM or EEPROM. In some examples, the memory is used to store program instructions for execution by the processing circuitry of HVAC controller <NUM>.

Communication circuitry <NUM> may include any suitable hardware, firmware, software or any combination thereof for communicating with another device, such as user devices <NUM> or other devices. Under the control of processing circuitry <NUM>, communication circuitry <NUM> may receive downlink telemetry from, as well as send uplink telemetry to, one of user devices <NUM> or another device with the aid of an internal or external antenna. Communication circuitry <NUM> may include a Bluetooth transmitter and receiver, a Wi-Fi transmitter and receiver, a Zigbee transceiver, a near-field communication transceiver, or other circuitry configured to allow HVAC controller <NUM> to communicate with one or more remote devices such as user devices <NUM>. In some examples, communication circuitry <NUM> may allow HVAC controller <NUM> to exchange data with external computing device <NUM> of <FIG>. Examples of exchanged data include a desired temperature for the space, one or more control parameters for HVAC system <NUM>, error codes, geographic location, estimated energy usage and cost, and/or other operating parameters or system performance characteristics for HVAC system <NUM>.

In some examples, HVAC controller <NUM> includes one or more sensor(s) <NUM> including temperature sensor <NUM>. In some examples, temperature sensor <NUM> is located within a housing of HVAC controller <NUM>. In some examples, temperature sensor <NUM> is located remotely from HVAC controller <NUM> and may communicate with HVAC controller <NUM> via communication circuitry <NUM>. For example, temperature sensor <NUM> may be located in the same room or the same area as HVAC controller <NUM> while being separate from HVAC controller <NUM> such that heat generated from components of HVAC controller <NUM> does not affect a temperature signal generated by temperature sensor <NUM>. It may be beneficial for temperature sensor <NUM> to be located separately from HVAC controller <NUM> in order to obtain an accurate temperature reading. In some examples where temperature sensor <NUM> is located within the housing of HVAC controller <NUM>, HVAC controller <NUM> may prevent components from affecting a temperature signal generated by temperature sensor <NUM>. In some examples, at least a portion of the housing of HVAC controller <NUM> may include stainless steel and the housing may be coated with a material which hides fingerprints. In some examples, the term "housing" may be used herein to describe an outer surface of HVAC controller <NUM>, including on outer surface of dial <NUM>, an outer surface of analog display <NUM>, and an outer face of HVAC controller <NUM> which is fixed to a wall or another surface.

In some examples, a housing of HVAC controller <NUM> may be substantially cylindrical in shape, and dial <NUM> may represent a ring-shaped piece that is located at an outer circumference of HVAC controller <NUM>. In some examples, HVAC controller <NUM> includes a first face configured to be mounted on a plate which is fixed to a wall or another surface, a second face including a display, and a third face representing a side of HVAC controller <NUM>, the third face extending around a circumference of HVAC controller <NUM>. Dial <NUM> may include the third face of HVAC controller <NUM>. In some examples, dial <NUM> is configured to rotate with respect to one or more other components of HVAC controller <NUM>. For example, dial <NUM> is configured to rotate with respect to analog display <NUM>. In some examples, dial <NUM> is configured to rotate in response to a user input. Dial <NUM> may be electrically connected to dial circuitry (not illustrated in <FIG>) which may generate an electrical signal indicative of one or more rotational parameters (e.g., a rotational position, a rotational velocity, and/or a rotational acceleration) of dial <NUM>. The dial circuitry may output the electrical signal indicative of the one or more rotational parameters to processing circuitry <NUM>. In some examples, the dial circuitry is part of processing circuitry <NUM>.

Processing circuitry <NUM> may be configured to set and/or change one or more temperature set points corresponding to the space in which HVAC controller <NUM> regulates temperature. For example, a first set point temperature may represent a cooling set point temperature and a second set point temperature may represent a heating set point temperature. In some examples, if HVAC controller <NUM> is cooling and the current temperature is greater than the cooling set point temperature, processing circuitry <NUM> may control HVAC system <NUM> to regulate the temperature in the space to approach the cooling set point temperature over a period of time based on the current temperature and the cooling set point temperature. In some examples, if HVAC controller <NUM> heating and the current temperature is less than the heating set point temperature, processing circuitry <NUM> may control HVAC system <NUM> to regulate the temperature in the space to approach the heating set point temperature over a period of time based on the current temperature and the heating set point temperature.

In some example, processing circuitry <NUM> is configured to receive an instruction to change and/or set one or more temperature set points of HVAC controller <NUM> from dial circuitry electrically connected to dial <NUM>, where the instruction is indicative of a user selection of one or more temperature set points using dial <NUM>. For example, in response to a first rotation of dial <NUM>, processing circuitry <NUM> may set the cooling temperature set point value to a first temperature value if a cooling set point mode of HVAC controller <NUM> is activated. In some examples, HVAC controller <NUM> includes a mode button (not illustrated in <FIG>) electrically connected to processing circuitry <NUM> which is configured to generate a signal based on a user request to switch a set point mode between the cooling set point mode and a heating set point mode. In response to a second rotation of dial <NUM>, processing circuitry <NUM> may set the heating temperature set point value to a second temperature value if a heating set point mode of HVAC controller <NUM> is activated. In some examples, processing circuitry <NUM> is configured to receive an instruction to change and/or set one or more temperature set points of HVAC controller <NUM> from one or more of user devices <NUM> via network <NUM>. Processing circuitry <NUM> may change the one or more temperature set points based on such an instruction.

In some examples, dial <NUM> includes LEDs <NUM>. LEDs <NUM> may be, in some cases, a part of dial <NUM>. In some examples, each LED of LEDs <NUM> may be configured to output an optical signal. LEDs <NUM> may be arranged in an array around the circumference of dial <NUM> such that the optical signal output by each LED of LEDs <NUM> is emitted outwards from a face of HVAC controller <NUM> which includes analog display <NUM>. In some examples, processing circuitry <NUM> is configured to cause at least some of LEDs <NUM> to output an optical signal of a first color when HVAC controller <NUM> is in a heating set point mode and the current temperature is lower than the heating set point temperature. In some examples, processing circuitry <NUM> is configured to cause at least some of LEDs <NUM> to output an optical signal of a second color when HVAC controller <NUM> is in a cooling set point mode and the current temperature is greater than the cooling set point temperature. In some examples, the first color is red, and the second color is blue, but this is not required. Each of the first color and the second color may represent any visible wavelength of light.

In some examples, analog display <NUM> includes LEDs <NUM>. In some examples, processing circuitry <NUM> is configured to selectively activate LEDs <NUM> in order to selectively illuminate one or more of the markers <NUM>. In some examples, processing circuitry <NUM> selectively illuminates one or more of the set of markers in order to indicate one or more temperature set points (e.g., the cooling set point and/or the heating set point). In some examples, HVAC controller <NUM> includes LEDs <NUM> instead of LEDs <NUM>. In some examples, HVAC controller <NUM> includes both of LEDs <NUM> and LEDs <NUM>. LEDs <NUM> may be located behind a surface of analog display <NUM> which includes the markers <NUM>. In some examples, LEDs <NUM> may emit optical signals which cause one or more of markers <NUM> to light up.

In some examples, markers <NUM> may include a set of temperature markers. The set of temperature markers may represent a range of temperatures. In some examples, the range of temperatures includes a lower-bound temperature and an upper-bound temperature. In some examples, the lower-bound temperature is <NUM> degrees Fahrenheit (°F) and the upper-bound temperature is <NUM> °F, but this is not required. The range of temperatures may include any range of temperatures. In some examples, each temperature marker of the set of temperature markers is in the shape of a dash, or a line. The set of temperature markers may be arranged in a semi-circular array the set of temperature markers are equally spaced apart. In some examples, markers <NUM> may include a set of numeric temperature indicators. Each numeric temperature indicator of the set of numeric temperature indicators may indicate a temperature associated with a respective temperature marker of the set of temperature markers.

In some examples, LEDs <NUM> may illuminate one or more of the set of temperature markers in order to indicate one or more temperature set points. For example, processing circuitry <NUM> may cause LEDs <NUM> to illuminate a first temperature marker of the set of temperature markers to indicate a first temperature set point and illuminate a second temperature marker of the set of temperature markers to indicate a second temperature set point. That is, the first temperature marker may by associated with a first temperature value corresponding to the first temperature set point, and the second temperature marker may by associated with a second temperature value corresponding to the second temperature set point. In some examples, processing circuitry <NUM> may cause LEDs <NUM> to change the temperature marker of the set of temperature markers that is illuminated to indicate the first temperature set point. In some examples, processing circuitry <NUM> may cause LEDs <NUM> to change the temperature marker of the set of temperature markers that is illuminated to indicate the second temperature set point.

In some examples, HVAC controller <NUM> may receive one or more inputs to mode button <NUM>. For example, HVAC controller <NUM> may operate according to a first temperature set point mode and a second temperature set point mode. In some examples, when HVAC controller <NUM> receives an input to mode button <NUM>, processing circuitry <NUM> may transition from operating according to the first temperature set point mode to operating according to the second temperature set point mode, or processing circuitry <NUM> may transition from operating according to the second temperature set point mode to operating according to the first temperature set point mode. When HVAC controller <NUM> is operating according to the first temperature set point mode, processing circuitry <NUM> may change a first temperature set point in response to receiving a user input to the dial <NUM>, and when HVAC controller <NUM> is operating according to the second temperature set point mode, processing circuitry <NUM> may change a second temperature set point in response to receiving a user input to the dial <NUM>.

For example, processing circuitry <NUM> may determine whether one or both of a cooling set point mode and a heating set point mode is activated. Processing circuitry <NUM> may receive a first rotation input to dial <NUM>. When processing circuitry <NUM> determines that the cooling set point mode is activated, processing circuitry <NUM> may cause a cooling set point to change from a first cooling set point value to a second cooling set point value in response to receiving a first rotation input to dial <NUM>. Processing circuitry may control LEDs <NUM> to transition from illuminating a first marker of the set of markers <NUM> to illuminating a second marker the set of markers <NUM>, wherein the first marker corresponds to the first cooling set point value and the second marker corresponds to the second cooling set point value. When the first cooling set point value is greater than a heating set point value, and when the second cooling set point value is greater than or equal to the heating set point value, processing circuitry <NUM> may cause the cooling set point to change from the first cooling set point value to the second cooling set point value without changing the heating set point value in response to receiving the first rotation input to dial <NUM>.

Alternatively, when processing circuitry <NUM> determines that the heating set point mode is activated, processing circuitry <NUM> may cause a heating set point to change from a first heating set point value to a second heating set point value in response to receiving a first rotation input to dial <NUM>. Processing circuitry may control LEDs <NUM> to transition from illuminating a first marker of the set of markers <NUM> to illuminating a second marker the set of markers <NUM>, wherein the first marker corresponds to the first heating set point value and the second marker corresponds to the second heating set point value. When the first heating set point value is less than a cooling set point value, and when the second heating set point value is less than or equal to the cooling set point value, processing circuitry <NUM> may cause the heating set point to change from the first heating set point value to the second heating set point value without changing the cooling set point in response to receiving the first rotation input to dial <NUM>.

In some examples, it may be beneficial for HVAC controller <NUM> to always maintain the heating set point to be less than or equal to the cooling set point. For example, if the HVAC controller <NUM> sets the heating set point to be greater than the cooling set point, the HVAC controller <NUM> may simultaneously attempt to heat building <NUM> and cool building <NUM> when the current temperature is between the heating set point and the cooling set point. Performing only one of heating and cooling is more energy efficient that performing both of heating and cooling at the same time. Consequently, it is beneficial for HVAC controller <NUM> to maintain the heating set point to be less than or equal to the cooling set point. Consequently, when processing circuitry <NUM> decreases the cooling set point to be lower than an initial heating set point value, processing circuitry <NUM> may also decrease the heating set point in unison with the cooling set point. Additionally, or alternatively, when processing circuitry <NUM> increases the heating set point to be greater than an initial cooling set point value, processing circuitry <NUM> may also increase the cooling set point in unison with the heating set point.

HVAC controller <NUM> may control LEDs <NUM> to indicate a change in the heating set point and/or a change in the cooling set point as the changes are happening. In one example, HVAC controller <NUM> may decrease the cooling set point by two degrees in response to receiving a rotation input to dial <NUM>, and HVAC controller <NUM> may control LEDs <NUM> to show the cooling set point "move" across the set of markers <NUM>. For example, as dial <NUM> is rotating, HVAC controller <NUM> may cause LEDs <NUM> to transition from illuminating a first marker of the set of markers <NUM> to illuminating a second marker of the set of markers <NUM>, and HVAC controller <NUM> may cause LEDs <NUM> to transition from illuminating the second marker of the set of markers <NUM> to illuminating a third marker of the set of markers <NUM>. The second marker is one degree lower than the first marker, and the third marker is one degree lower than the second marker. As such, a user may view the transition of the set point by observing the set of markers <NUM>. In some examples, LEDs <NUM> cause an illuminated marker to blink when a set point is changing, but this is not required.

Pointer <NUM> may extend along a radius of analog display <NUM> and pointer <NUM> may be configured to rotate about a center point of analog display <NUM> such that pointer <NUM> "points" at one or more markers of the set of markers <NUM>. In some examples, electric motor <NUM> may receive an electric signal from processing circuitry <NUM> which <NUM> causes electric motor <NUM> to place pointer <NUM> in order to indicate a current temperature of the space (e.g., an area within building <NUM>) in which HVAC controller <NUM> is performing temperature regulation using HVAC components <NUM>. In some examples, processing circuitry <NUM> receives a temperature signal from temperature sensor <NUM>, the temperature signal indicating the current temperature of the space in real-time or near real-time. Processing circuitry <NUM> may cause electric motor <NUM> to place (e.g., rotate) the pointer <NUM> based on the temperature signal in order to indicate the current temperature by pointing pointer <NUM> at a marker of the set of markers <NUM> which corresponds to the current temperature. In this way, pointer <NUM> may point at a marker of the set of markers <NUM> to indicate the current temperature of space, and LEDs <NUM> may illuminate one or more markers of the set of markers <NUM> to indicate one or more respective temperature set points for controlling HVAC components <NUM> to regulate the temperature within the space.

In some examples, projection LEDs <NUM> project a halo onto analog display <NUM>. For example, projection LEDs <NUM> may create a halo light ring as a cosmetic feature over analog display <NUM> of HVAC controller <NUM>. In some examples, the halo may represent a radially fading halo which allows set of markers <NUM> to be visible along with the halo. For example, the radially fading halo may represent a circular light ring in which the light intensity decreases moving away from the center of the light ring. The light intensity lowest at the edge of the circular light ring, and the light intensity greatest closer to the center of the circular light ring. In some examples, the halo may appear in a translucent applique pattern and/or create an LCD display illusion.

In some examples, it may be beneficial to control projection LEDs <NUM> to emit light with enough energy so that a user can perceive information (e.g., markers <NUM> and pointer <NUM>) when the room housing HVAC controller <NUM> is dark. To achieve this effect, HVAC controller <NUM> may control HVAC controller <NUM> to emit light from projection LEDs <NUM> such that the light reflects off projection ring <NUM> onto the surface of analog display <NUM>.

In some examples, the projection LEDs <NUM> may include light sources located on a Printed Component Board (PCB) (not illustrated in <FIG>) of HVAC controller <NUM>. In some examples, projection LEDs <NUM> may be configured to project an optical signal at a <NUM>° angle from the target surface, analog display <NUM>. For example, projection LEDs <NUM> may be located within a housing of HVAC controller <NUM> and may project optical signals outwards from HVAC controller <NUM> perpendicular to analog display <NUM>. HVAC controller <NUM> may include a projection ring <NUM> which is configured to reflect the optical signals emitted by projection LEDs <NUM> onto analog display <NUM> by reflecting over analog display <NUM>. In some examples, the projection ring <NUM> may, for example, be a transparent plastic in a ring shape intended to create a halo light ring over a flat surface, such as analog display <NUM> of HVAC controller <NUM>. Projection LEDs <NUM> may represent a set of LEDs that shine in an "upward" direction.

Optical signals may travel inside a lightguide of the projection ring <NUM> facing a rounding surface, making an approximately <NUM>° turn of the light direction all around the device. In some examples, the "turn" of the light is less than <NUM>° so that the light reflects downwards from the projection ring onto the surface of analog display <NUM>. In some examples, the projection ring <NUM> may turn different photons at different angles so that light lands at various locations on the surface of analog display <NUM>.

When the light comes from the projection ring <NUM>, it shines over a white surface, reflecting the light towards to the observer. Additionally, the device uses a top plate as a light blocking in order to delimits the desired light halo, as shown in the attached presentation. Since the light distribution may be angularly uniform and radially decreasing, it may create an illusion of a solar eclipse in a desired color. Furthermore, light coming from the hole system may fill a second plastic in translucent red that acts as a pointer and it is used for a position indicator purposes. For example, projection LEDs <NUM> may illuminate pointer <NUM>. This means that pointer <NUM> does not need a separate light source in order to illuminate, and pointer <NUM> may, for instance, always be illuminated in a red color, although the light ring is created in a different color. Projection ring <NUM> may include four locating pins.

Processing circuitry <NUM> may output an instruction causing the LEDs <NUM> to emit one or more optical signals to reflect off projection ring <NUM> onto analog display <NUM>. The optical signal is a first color if a current temperature is lower than a set point temperature of the one or more set point temperatures. The optical signal may represent a second color if the current temperature is greater than the set point temperature of the one or more set point temperatures. For example, if the heating mode is activated when the current temperature is lower than the set point temperature, the halo may be red. Alternatively, if the cooling mode is activated when the current temperature is greater than the set point temperature, the halo may be blue.

<FIG> is a conceptual diagram illustrating a front view of HVAC controller <NUM>, in accordance with one or more techniques described herein. As seen in <FIG>, HVAC controller <NUM> includes dial <NUM>, analog display <NUM>, and wall plate <NUM>. Analog display <NUM> includes pointer <NUM>, top plate <NUM>, and a set of markers 102A-102N (collectively, "set of markers <NUM>").

In some examples, HVAC controller <NUM> includes one or more LEDs (e.g., LEDs <NUM> of <FIG>) which may illuminate any one or combination of the set of markers <NUM> in order to indicate one or more parameter values of the range of parameter values displayed on the surface of analog display <NUM>. Dial <NUM> may represent a rotatable dial which is located at an outer circumference of analog display <NUM>. For example, dial <NUM> may rotate about a center of HVAC controller <NUM> while a surface of analog display <NUM> remains fixed in place. That is, when dial <NUM> rotates about the center of HVAC controller <NUM>, the surface of analog display <NUM> and the wall plate <NUM> do not rotate. Dial <NUM> is configured to rotate clockwise and rotate counterclockwise. HVAC controller <NUM> may control one or more temperature set points based on rotation inputs to dial <NUM>. For example, HVAC controller <NUM> may increase one or more temperature set points responsive to receiving a clockwise rotation input and HVAC controller <NUM> may decrease one or more temperature set points responsive to receiving a counterclockwise rotation input. HVAC controller <NUM> may control one or more other parameters based on rotation inputs to dial <NUM>. For example, HVAC controller <NUM> may control one or more modes of operation, control one or more humidity set points, or control one or more other set points responsive to rotation inputs to dial <NUM>.

In some examples, the LEDs of HVAC controller <NUM> may illuminate one or more markers of the set of markers <NUM> in order to indicate one or more temperature set points. For example, HVAC controller <NUM> may illuminate a first marker of the set of markers <NUM> to indicate a first temperature set point and HVAC controller <NUM> may illuminate a second marker of the set of markers <NUM> to indicate a second temperature set point. That is, the first marker may correspond to a first temperature value and the second marker may correspond to a second temperature value, where the first temperature set point is the first temperature value and the second temperature set point is the second temperature value. In some examples, the first temperature set point and the second temperature set point are at the same temperature value, and HVAC controller illuminates one marker of the set of markers <NUM> which corresponds to the temperature value of the first temperature set point and the second temperature set point. In some examples, HVAC controller <NUM> may indicate more than two temperature set points or indicate less than two temperature set points by illuminating one or more of markers <NUM>.

One or more LEDs may project a ring of light onto a face of analog display <NUM> from wall plate <NUM>. For example, at least some of the one or more LEDs may project light perpendicular to the face of analog display <NUM>, and a reflective component beneath top plate <NUM> may reflect the light radially from underneath top plate <NUM> onto the surface of analog display <NUM>. In this way, the light projected onto the surface of analog display <NUM> may be in the shape of a halo. As seen in <FIG>, the first marker 102A of the set of markers <NUM> corresponds to a first parameter value of a range of parameter values and the last marker 102N of the set of markers <NUM> corresponds to a last parameter value of the range of parameter values. In this example, the range of parameter values represents a range of temperatures extending from <NUM>°F to <NUM>°F. However, this range is not meant to be limiting. Although in the example of <FIG> only a four parameter values (e.g., <NUM>, <NUM>, <NUM>, and <NUM>) are displayed, other parameter values are evident based on the relative placement of the parameter values on analog display <NUM>. For example, the group of markers of the set of markers corresponding to a sub-range of parameter values from <NUM>°F to <NUM>°F includes <NUM> markers. In this way, each marker corresponds to one parameter value and the marker preceding the last marker 102N corresponds to <NUM>°F.

An electric motor (not illustrated in <FIG>) may be located underneath and/or proximate to top plate <NUM>. The electric motor may be configured to move (e.g., rotate) pointer <NUM> such that pointer <NUM> indicates a parameter value of the range of parameter values shown on the face of analog display <NUM>. In some examples, the rotation of pointer <NUM> is confined to an area of analog display <NUM> which includes the set of markers <NUM>. For example, the electric motor may be configured to rotate pointer <NUM> within a <NUM> degree range from first marker 102A to second marker <NUM>. In some examples, physical barriers (not illustrated in <FIG>) prevent the electric motor from rotating pointer <NUM> beyond first marker 102A or prevent the electric motor from rotating pointer <NUM> beyond the last marker 102N. In the example of <FIG>, pointer <NUM> indicates a marker of the set of markers <NUM> which corresponds to <NUM>°F. In some examples, HVAC controller <NUM> controls pointer <NUM> to indicate a current temperature in a space which HVAC controller <NUM> regulates. As such, in the example of <FIG>, pointer <NUM> indicates that the current temperature in the space is <NUM>°. HVAC controller <NUM> may determine a temperature of the space based on a signal received from a temperature sensor (e.g., temperature sensor <NUM> of <FIG>). HVAC controller <NUM> may control the electric motor in order to rotate pointer <NUM> such that pointer <NUM> indicates the current temperature.

<FIG> is a conceptual diagram illustrating an example perspective view of HVAC controller <NUM>, in accordance with one or more techniques described herein. As seen in <FIG>, dial <NUM> is a round component which is located at an outer circumference of the analog display <NUM>, which is also round. Wall plate <NUM> may be fixed to a wall or another surface. Analog display, dial <NUM>, and other components of HVAC controller <NUM> may be fixed to wall plate <NUM> such that HVAC controller <NUM> is fixed to the wall or another surface. In some examples, wall plate <NUM> and analog display <NUM> are configured to remain fixed in one place, whereas dial <NUM> and pointer <NUM> are configured to rotate about a center of HVAC controller <NUM>. At least a portion of controller <NUM> may be substantially cylindrical in shape, with a front face including analog display <NUM>, a side face including dial <NUM> which is rotatable with respect to analog display <NUM>, and a back face which is fixed to wall plate <NUM>. The controller illustrated in <FIG> is one example of controller <NUM> of <FIG>, but controller <NUM> of <FIG> is not meant to be limited to the example of <FIG>. HVAC controller <NUM> may include other example controllers not illustrated in <FIG>.

<FIG> is a conceptual diagram illustrating a perspective view of projection ring <NUM> of HVAC controller <NUM>, in accordance with one or more techniques described herein. In some examples, projection ring <NUM> may be located underneath top plate <NUM> of <FIG>. As seen in <FIG>, projection ring <NUM> includes a rounded surface <NUM>. The rounded surface may extend around a circumference of projection ring <NUM>. Projection ring <NUM> may be circular in shape, such that projection ring <NUM> fits in a center of analog display <NUM> underneath top plate <NUM>.

In some examples, projection ring <NUM> may be made of a waveguide material that is capable of bending and/or reflecting light. For example, light may enter projection ring <NUM> from a lower surface of projection ring <NUM>, and the light may travel through projection ring <NUM> to the rounded surface of projection ring <NUM>. The rounded surface may cause the light to reflect within projection ring <NUM>. The light may exit the projection ring <NUM> from a side surface located at a circumference of projection ring <NUM>. A canter of projection ring <NUM> may be located on a center axis that passes through a center of a surface of analog display <NUM> and a center of top plate <NUM>.

<FIG> is a conceptual diagram illustrating a side view of projection ring <NUM> of HVAC controller <NUM>, in accordance with one or more techniques described herein. Projection ring <NUM> includes rounded surface <NUM>, upper surface <NUM>, and lower surface <NUM>. Projection ring <NUM> is positioned such that upper surface <NUM> may face outwards from analog display <NUM>, and lower surface <NUM> faces inwards towards circuitry of HVAC controller <NUM>.

HVAC controller includes light sources 130A and 130D. Although only two light sources, i.e., light source 130A and light source 130D, are illustrated in <FIG>, HVAC controller <NUM> may include more than two light sources. Light source 130A emits light beam 120A and light source 130D emits light beam 120D. Light beam 120A and light beam 120D reflect off rounded surface <NUM>. Reflected light beam 122A is the reflection of light beam 120A off rounded surface <NUM> and reflected light beam 122D is the reflection of light beam 120D off rounded surface <NUM>. As illustrated in <FIG>, reflected light beam 122A is approximately perpendicular to light beam 120A, and reflected light beam 122D is approximately perpendicular to light beam 120D.

Reflected light beam 122A and 122D spread in a fan pattern, because rounded surface <NUM> causes the photons of light beams 120A and 120D to reflect at a range of angles. That is, some photons of light beam 120A reflect upwards away from upper surface <NUM> and some photons of light beam 120D reflect downwards towards lower surface <NUM>. Photons that are reflected at less than <NUM>° relative to the light beams 120A, 120D may travel downwards towards the surface of analog display <NUM>. For example, projection ring <NUM> may "bend" some photons at angle <NUM>, which is less than <NUM>°. Photons that reflect at angle <NUM> may reflect off the surface of analog display <NUM> so that an observer can perceive light on the surface of analog display <NUM>. Additionally, Photons that reflect at greater than angle <NUM> and less than <NUM>° may also reflect off the surface of analog display <NUM> so that an observer can perceive light on the surface of analog display <NUM>. Since analog display <NUM> reflects light at a range of angles, the light on the surface of analog display <NUM> may appear as a radially fading halo, where light intensity is greatest near an inner edge of the halo, and light intensity is lowest at an outer edge of the halo.

Each light source of light sources 130A, 130D may include one or more LEDs of projection LEDs <NUM>. In some examples, light sources 130A, 130D may represent a single light source that emits more than one light beam.

<FIG> is a conceptual diagram illustrating a top view of projection ring <NUM> of HVAC controller <NUM>, in accordance with one or more techniques described herein. In the example of <FIG>, light beams 120A-120F (collectively, "light beams <NUM>") reflect off of projection ring <NUM>. For example, light beam 120A reflects off projection ring <NUM> to become reflected light beam 122A, light beam 120B reflects off projection ring <NUM> to become reflected light beam 122A, light beam 120C reflects off projection ring <NUM> to become reflected light beam 122C, and so on. Reflected light beams 122A-122F (collectively, "reflected light beams <NUM>") are fan-shaped such that photons of reflected light beams <NUM> spread across a surface area of analog display <NUM>.

<FIG> is a conceptual diagram illustrating a perspective view of pointer <NUM> and projection ring <NUM> of HVAC controller <NUM>, in accordance with one or more techniques described herein. Pointer <NUM> includes a rotation point <NUM> and a distal point <NUM>. Pointer <NUM> may rotate about rotation point <NUM>. For example, HVAC controller <NUM> may control an electric motor to rotate pointer <NUM> such that pointer <NUM> indicates one or more markers of a set of markers. Pointer <NUM> is located on top of projection ring <NUM> such that pointer <NUM> can rotate about rotation point <NUM> while remaining on top of projection ring <NUM>. For example, gap <NUM> in pointer <NUM> allows pointer <NUM> to fit on top of projection ring <NUM> such that pointer <NUM> can rotate about rotation point <NUM> while remaining on top of projection ring <NUM>.

<FIG> is a conceptual diagram illustrating light reflecting off pointer <NUM>, in accordance with one or more techniques described herein. As seen in <FIG>, light beam 120A reflects off projection ring <NUM> to become reflected light beam 122A. Reflected light beam 122A then reflects through pointer <NUM>, causing pointer <NUM> to illuminate when a light source is emitting light beam 120A. In this way, light beams reflecting off projection ring <NUM> may illuminate pointer <NUM> as well as cast a halo on the surface of analog display <NUM>.

<FIG> illustrate views of a light pattern <NUM> on a surface <NUM>. <FIG> is a conceptual diagram illustrating a perspective view of a light pattern <NUM> on a surface <NUM>, in accordance with one or more techniques described herein. In some examples, surface <NUM> is an example of the surface of analog display <NUM> of <FIG>. Light pattern <NUM> may spread outwards from a projection ring, which is located underneath top plate <NUM>. Although <FIG> illustrates light pattern <NUM> extending to a boundary of surface <NUM>, this is not required. In some examples, light pattern <NUM> may extend partly over a surface, but not the entire surface, such that light pattern <NUM> appears as a halo on the surface.

<FIG> is a conceptual diagram illustrating a side view of a light pattern <NUM> on a surface <NUM>, in accordance with one or more techniques described herein. Top plate <NUM> is located above surface <NUM>. light pattern <NUM> travels downwards from top plate <NUM> towards surface <NUM>. In some examples, light pattern <NUM> travels from top plate <NUM> to surface <NUM> at angle <NUM>. Since angle <NUM> is an angle with respect to surface <NUM>, light pattern <NUM> may form a halo on surface <NUM>. Since the light pattern <NUM> is angularly uniform and radially decreasing, it creates the illusion of a halo. <FIG> is a conceptual diagram illustrating a top view of a light pattern <NUM> on a surface <NUM>, in accordance with one or more techniques described herein.

<FIG> is a conceptual diagram illustrating an example HVAC controller <NUM> including halo <NUM>, in accordance with one or more techniques described herein. Halo <NUM> may be an example of light pattern <NUM> in <FIG>. Although projection ring <NUM> is obscured by top plate <NUM> in the example of <FIG>, halo <NUM>, which is emitted by projection ring <NUM>, is visible in an area surrounding top plate <NUM>. As seen in <FIG>, halo <NUM> fades radially away from top plate <NUM>. In other words, halo <NUM> gets dimmer farther away from a center point of analog display <NUM>. Pointer <NUM> is also illuminated in the example of <FIG>.

<FIG> is a flow diagram illustrating an example operation for projecting a light pattern on a surface of the HVAC controller <NUM> of <FIG>, in accordance with one or more techniques described herein. <FIG> is described with respect to HVAC controller <NUM> of <FIG>. However, the techniques of <FIG> may be performed by different components of HVAC controller <NUM> or by additional or alternative devices.

HVAC controller <NUM> may control projection LEDs <NUM> to emit one or more optical beams to reflect off a projection ring <NUM> onto an analog display <NUM> (<NUM>). In some examples, the one or more optical beams reflect downwards from the projection ring <NUM> onto the analog display <NUM> such that the one or more beams create a halo on analog display <NUM>. HVAC controller <NUM> may control projection LEDs <NUM> to emit the one or more beams at a first color when a current temperature is lower than a set point temperature (<NUM>). In this example, the HVAC controller <NUM> may control HVAC component(s) <NUM> to increase the temperature within building <NUM>, and HVAC controller <NUM> may control projection LEDs <NUM> to emit the one or more beams to be red, indicating that HVAC controller <NUM> is operating in a heating mode. HVAC controller <NUM> may control projection LEDs <NUM> to emit the one or more beams at a second color when a current temperature is greater than a set point temperature (<NUM>). In this example, the HVAC controller <NUM> may control HVAC component(s) <NUM> to decrease the temperature within building <NUM>, and HVAC controller <NUM> may control projection LEDs <NUM> to emit the one or more beams to be blue, indicating that HVAC controller <NUM> is operating in a cooling mode.

By way of example, and not limitation, such computer-readable storage media can include one or more of RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer- readable medium.

Instructions may be executed by one or more processors, such as one or more DSPs, general purpose microprocessors, ASICs, FPGAs, or other equivalent integrated or discrete logic circuitry. Accordingly, the term "processor" or "processing circuitry," as used herein may refer to any of the foregoing structure or any other structure suitable for implementation of the techniques described herein. In addition, in some aspects, the functionality described herein may be provided within dedicated hardware and/or software modules.

Rather, as described above, various units may be combined in a single hardware unit or provided by a collection of interoperative hardware units, including one or more processors as described above, in conjunction with suitable software and/or firmware.

Claim 1:
A device comprising:
a heating, ventilation and air conditioning, HVAC, controller (<NUM>);
an analog display (<NUM>) configured to indicate a current temperature, determined by the HVAC controller (<NUM>), and one or more temperature set points, set by the HVAC controller (<NUM>);
a set of light-emitting diodes, LEDs (<NUM>);
a projection ring (<NUM>); and
processing circuitry (<NUM>), wherein the processing circuitry (<NUM>) is configured to:
control the set of LEDs (<NUM>) to emit one or more optical beams to reflect off of the projection ring (<NUM>) onto the analog display (<NUM>),
wherein the one or more optical beams are a first color if the current temperature is lower than a set point temperature of the one or more set point temperatures, and
wherein the one or more optical beams are a second color if the current temperature is greater than the set point temperature of the one or more set point temperatures.