Along with hardware versions, the firmware of the device is also continuously updated. It started with a bare-metal application that allowed sensor data to be read and sent immediately to the cloud, and evolved into a version with FreeRTOS in an attempt to improve the modularity of the application. However, the gains were not remarkable and it was decided to develop a new bare-metal version that allowed to save the data read by the sensors and only send them after a certain period of time, thus reducing the number of transmissions per day and, consequently, the total energy consumption. After this iteration, encryption was added to the data being transmitted in order to protect communications, as the possibility of remote configuration of the device via commands sent by the server was also added. In the last of the most significant iterations, ThreadX was added, allowing the idea of the second iteration to be taken up again, but with much more noticeable gains, allowing power consumption to be reduced and the modularity of the system to be increased, as well as its performance. In the latest version it was also added the possibility of updating the firmware over-the-air, that is, updating the firmware remotely, without the need for physical contact with the device.