Mediul de dezvoltare folosit este Arduino IDE.
Detecția mișcării se face o dată după fiecare ciclu de mișcare a servomotorului. Un ciclu reprezintă trecerea servomotorului din poziția 0, la poziția 180, apoi din nou la poziția 0 (1 ciclu = 0° → 180° → 0°). Dacă senzorul PIR nu detectează mișcare (output 0) și starea ventilatorului este running (flag-ul stopMoving este setat pe 0), se incrementează un counter (counterMovement). Dacă acest counter ajunge la valoarea 3, atunci ventilatorul își schimbă starea din running în blocked, revenind la starea running abia când detectează, din nou, mișcare. De fiecare dată când senzorul detectează mișcare, iar ventilatorul este activ, counter-ul se resetează.
Mișcarea motorului DC se face prin PWM, mapând range-ul de temperaturi care poate fi detectat de senzorul de temperatură (0-50), la range-ul de viteze (100 - 255). Astfel, elicea se va învârti cu o viteză direct proporțională cu temperatura camerei.
După fiecare ciclu de mișcare a servomotorului, se scrie valoarea temperaturii detectate, împreună cu timpul trecut, în secunde, de la pornirea ventilatorului, într-un fisier logger.txt. Punctele rezultate sunt apoi trecute în Excel pentru generarea graficului.