A thermostat design that sleeps most of the time, drives HVAC, blinks the LCD in hardware, and can be reused for smart home nodes.

When we design a thermostat or a smart-home relay node, we face the same issues — low idle power, direct HVAC interface, a display that does not wake the MCU, and firmware that survives hardware swaps. This reference design from Freescale solves these by using the MC9S08LL16 microcontroller with LCD drive, a time-of-day module, latching relays for HVAC, a thermistor sensor front end, and a layered firmware model that keeps application logic independent from the MCU peripherals.
The MCU supports microamp-level current in LCD mode, can drive up to 196 LCD segments, has flexible frontplane/backplane pin mapping, has a time-of-day module with interrupts, a comparator for wake events, low-power LCD blink in hardware, a 12-bit ADC triggered by the TOD module, and can wake from STOP mode on timer or key press. It runs from an external 32.768 kHz crystal with no extra parts and the PCB includes a standard BDM connector for programming. In practice this lets the unit sleep while the LCD still blinks and while the clock runs.
For HVAC drive, the design uses latching relays with set and reset coils. Each relay draws 180 mW only during the pulse and draws nothing while holding. The screw terminals connect to standard 24 V AC HVAC wiring. For temperature, the board uses a thermistor with a fixed 82 kΩ resistor forming a divider with a 100 kΩ thermistor. At 25 °C, the divider is 1.486 V. The board has a regulator and can run from an external 6–12 V DC supply without batteries. The DC jack is located at the lower left side of the board.
On the firmware side, the code is split into a hardware abstraction layer and a hardware independent layer. HAL touches peripherals and LCD specifics. HIL formats time, date, temperature, battery icons, heating and cooling symbols and pushes that to main.c. Because HIL depends only on what HAL exposes, the same application logic can run on two different LCD variants or a different MCU. The low-end LCD version uses the built-in blink feature. The blink is handled in hardware by storing two frames in the LCD RAM halves. Writing the same data to both halves gives a steady display. To blink a digit or colon we clear only the alternate half so the MCU does not have to refresh it.
For us as designers, this matters not only for thermostats but also for smart-home and home-automation wall nodes that need to sit idle most of the time, wake only on events, display state without burning CPU, and be adaptable to different hardware as the product line evolves. The same pattern of latching relays, low-power LCD, timed ADC, HAL/HIL split, and 24 V or DC input makes this design a direct base for other endpoints like blind control, valves, and room controllers that need a front UI and must still meet a low-power budget.
Freescale has tested this reference design. It comes with a bill of materials (BOM), schematics, assembly drawing, printed circuit board (PCB) layout, and more. The company’s website has additional data about the reference design. To read more about this reference design, click here.








