Woda podgrzewa się tak długo, aż użytkownik ją wyłączy. Takie „ręczne sterowanie” skutkuje niepotrzebnie nadmiernym zużyciem energii elektrycznej oraz przegrzaniem wody ponad temperaturę której oczekujemy.
Jako czujnik temperatury wykorzystano układ scalony DS18B20. Do wskazywania temperatury wykorzystano cztero-cyfrowy siedmio-segmentowy multipleksowany wyświetlacz znakowy. Mózgiem zarządzającym jest mikrokontroler ATmega328 na płytce Arduino Nano. Pozostałymi podzespołami są: transoptor MCT2E, potencjometr, dwie diody LED, miniaturowy buzzer oraz przekaźnik. Mikroprocesor na bieżąco odczytuje temperaturę z czujnika DS18B20 i wartość tą wyświetla na podłączonym czterocyfrowym wyświetlaczu znakowym. Docelową temperaturę można dostroić za pomocą dołączonego do Arduino potencjometru.Następnie można wystartować proces grzania wody. Od tego momentu automat przejmie kontrolę nad tym procesem. Wyłączy grzałkę, gdy żądana temperatura zostanie osiągnięta, równocześnie sygnalizując o tym fakcie.
W projekcie wykorzystano termometr Dallas-a DS18B20. Ten trzy-nóżkowy element oferuje bardzo cenne cechy. Komunikacja odbywa się po jednym przewodzie z wykorzystaniem protokołu One-Wire. Nie stwarza to problemu jeśli w projekcie i tak wykorzystano mikrokontroler. Odczyt jest w postaci cyfrowej. Mikrokontroler bez problemu przetworzy odczytaną z czujnika wartość temperatury i wyświetli ją użytkownikowi za pomocą wspomnianego wyświetlacza. To zadanie leży po stronie softwareowej projektu. Ustawienia żądanej temperatury także dokonuje program. Po stronie sprzętowej znajduje się jest prosty potencjometr. Mikrokontroler czyta analogową wartość napięcia i tutaj duża precyzja nie jest wymagana. Regulacja potencjometrem „przemiata” programowo założony zakres temperatury, którą natychmiast widać na wyświetlaczu. Wyświetlacz DIS1 jest typowym LEDowym wyświetlaczem składającym się z cyfr, a każda z cyfr składa się jedynie z siedmiu segmentów (diod LED). Dla wyświetlacza nie przewidziano żadnego rejestru który miałby zapamiętywać wartość każdej cyfry. W zamian za to, mikroprocesor przemiata kolejne cyfry w trybie multipleksowania. Proces ten odbywa się z częstotliwością przekraczającą percepcję ludzkiego wzroku i jest to rozwiązanie stosowane od początku ery techniki cyfrowej. Informacja z wyświetlacza wzbogacona jest dwoma diodami LED które informują czy włączona jest grzałka, czy też została już osiągnięta temperatura zadana. Ta informacja jest także potwierdzona dźwiękiem buzzera. Obsługa wszystkich komponentów leży po stronie programowej, co stwarza łatwą możliwość adaptacji do konkretnego zastosowania. Dźwięk buzzera może być ciągły, lecz tutaj przewidziano krótki ‘beep’ tuż po wyłączeniu grzałki. Mikrokontroler na bieżąco wyświetla temperaturę odczytaną z termometru, a jedynie w trybie ustawiania wartości zadanej odczytuje wartość analogową z potencjometru z wykorzystaniem przetwornika ADC. Elementem wykonawczym systemu jest przekaźnik włączający grzałkę. Jako driver wykorzystano transoptor MCT2E. Izolacja na tej ścieżce ma charakter zabezpieczenia mikrokontrolera przed ew. uszkodzeniem przepięciami ze strony wysokoprądowej projektu (dodatkowe uwagi na temat drivera przekaźnika na końcu artykułu).