Jest on uproszczony do maksimum i nie wymaga komentarza. Poza tym, najważniejszego komponentu urządzenia nie widać na schemacie – jest nim program zawarty w pamięci mikrokontrolera.
Głównym zadaniem programu jest odczyt napięcia występującego na dwóch wejść analogowych. Do pierwszego jest dołączony dzielnik rezystancyjny zbudowany z rezystora R1 oraz potencjometru, do drugiego – dzielnik rezystancyjny z rezystora R3 oraz termistora NTC. Wartości napięcia na wyjściu pierwszego dzielnika w funkcji położenia potencjometru oraz drugiego dzielnika w funkcji temperatury mają przebiegi nieliniowe i dlatego charakterystyki napięciowe są linearyzowane za pomocą tabel, które zostały wcześniej przygotowane i obliczone dla elementów o wartościach takich, jak zastosowane. Dodatkowo, aby zaoszczędzić pamięć, kolejne elementy tabeli to różnice pomiędzy następującymi po sobie wartościami a nie same wartości. Takim sposobem za pomocą termistora NTC 10 kΩ jest możliwy pomiar temperatury w zakresie –20...120°C z rozdzielczością 1 stopnia. Niepewność pomiaru nie powinna przekroczyć ±2°C. Zakres ustawienia potencjometru został podzielony na 50 stopni.
Drugim ważnym zadaniem programu jest obsługa programowego interfejsu UART. Za pomocą sprzętowego licznika Timer1 oraz przerwania INT0 jest realizowany interfejs szeregowy o prędkości 9600 b/s. Przy każdym włączeniu urządzenia interfejsem wysyłane są bieżące ustawienia, a w czasie pracy jest wysyłana informacja o temperaturze zmierzonej, ustawionej oraz stanie wyjścia. Ze względu na dosyć niską częstotliwość taktowania mikrokontrolera interfejs może nie radzić sobie z odbieraniem ciągów danych – w praktyce chodzi o to, aby po każdym znaku zapewnić kilkanaście milisekund przerwy. W wypadku wprowadzania danych z klawiatury warunek ten jest zapewniony w naturalny sposób.
Ostatnim zadaniem wykonywanym przez program jest porównywanie temperatury zmierzonej z temperaturą zadaną, z uwzględnieniem histerezy i odpowiednie sterowanie stanem przekaźnika, w zależności od ustawionej funkcji (ogrzewanie lub chłodzenie).