The Ethernet (room) thermostat project also exists in a free version, which is available in the Githube repository. The version contains a total of 6 machine - precompiled programs for the Arduino Uno platform. Machine code (.hex) guarantees that the program is compatible and has the same functionality for all devices to which it is loaded and run. Firmware upload is quick and easy via the AVRDUDE / XLoader with a graphical interface. The main application starts immediately after the firmware is loaded. The code is thus universal and provides an opportunity to provide the author interested in trying out the project of its build without access to the source (.ino) code. Since each Ethernet thermostat has the same - predefined MAC address, it is possible to use only one thermostat in the LAN network, otherwise there will be a conflict of MAC addresses and not a single thermostat will communicate.
|dynamic_W5100.hex||W5100||controlled via DHCP (includes maintain to extend lease time / request new IP)|
|dynamic_W5500.hex||W5500||controlled via DHCP (includes maintain to extend lease time / request new IP)|
To upload machine code to Arduino, it is possible to use the AVRDUDE tool, which also uses the Arduino IDE environment to upload the compiled program. The tool can be run directly from the command line, but it is necessary to set all configurable data correctly, so it is not suitable for less experienced programmers or laymen. XLoader is a Windows application (tool) with a simple graphical interface that allows the selection of firmware - machine code (.hex), the target platform and can dynamically show the COM port on which the device is located. It allows you to burn firmware to AVR platforms, i. Arduino Uno, Nano, Duemilanove (AtMega328 / AtMega168), Arduino Mega (AtMega1280 / AtMega2560). By simply clicking on Upload, the machine code can be uploaded automatically (XLoader uses the AVRDUDE tool similar to the Arduino IDE). The XLoader window informs about the successful upload in the form of a list of the number of bytes uploaded.