Oprogramowanie urządzenia zostało w całości napisane w języku C. Jako środowisko programistyczne wykorzystany został zintegrowany pakiet IAR Embedded Workbench (IDE) w wersji dla procesorów ARM, składający się z kompilatora, linkera oraz debugera. Testy oprogramowania były prowadzone na bieżąco podczas implementowania kolejnych funkcjonalności, bezpośrednio na module sterownika mikroprocesorowego. Oprogramowanie było wgrywane za pomocą interfejsu JTAG z wykorzystaniem debugera sprzętowego J-Link firmy Segger. Na początku program ładowany był tylko do pamięci RAM mikrokontrolera. W późniejszym etapie za względu na rozmiar kodu oprogramowanie było ładowane do pamięci FLASH.

Oprogramowanie zostało napisane w taki sposób, aby do minimum ograniczyć aktywność procesora szczególnie w zakresie komunikacji z innymi modułami urządzenia (poprzez zewnętrzne interfejsy szeregowe). Algorytmy komunikacji zostały dopracowane tak, aby ilość przesyłanych danych była jak najmniejsza oraz żeby transmisja prowadzona była tylko i wyłącznie wtedy, gdy jest to konieczne. Tam, gdzie to możliwe, wykorzystane zostały przerwania zewnętrzne inicjujące transfer danych tylko w wypadku zdarzenia wymagającego obsługi mikrokontrolera (komunikacja z modułem panelu przedniego). Sterowanie pracą wyświetlacza LCD zostało zoptymalizowane tak, aby do minimum ograniczyć przesyłane dane (odświeżane są tylko te parametry, które rzeczywiście uległy zmianie). Dzięki temu poziom zakłóceń generowanych przez moduł sterownika mikroprocesorowego jest dużo mniejszy.

Aby ograniczyć czas aktywności procesora, do maksimum wykorzystane zostały przerwania (szczególnie w zakresie obsługi interfejsów). Funkcje obsługi przerwań zaimplementowane zostały jako automaty, które są w stanie same kontynuować oraz zakończyć zainicjowane procesy. Dzięki temu większość operacji wykonywana jest w sposób praktycznie równoległy (zastosowany został tzw. cooperative multitasking). W pętli głównej programu wykonywana jest jedynie obsługa wyświetlacza LCD posiadająca najniższy priorytet.

Oprogramowanie zostało napisane w sposób modułowy zapewniający w przyszłości możliwość łatwego rozszerzania funkcjonalności urządzenia.