A chronotherm is mainly composed of a Control Unit, that has the responsibility to check whether the environment temperature is below a preconfigured setpoint, and in this case, turn on the boiler to warm up the room. This behavior is quite simple, but without any further logic isn't so useful. Indeed, we can extend this behavior adding the time parameter to the chronotherm logic. In this way, users can define a temperature setpoint for each hour of the day, making the temperature check smarter.
The fact that in this prototype the Control Unit is the onboard Arduino is an implementation detail to simplify the overall design.
This is how a traditional chronotherm works and to realize it, we should:
Build the circuit with a temperature sensor
Implement the microcontroller logic to check the users' setpoints with the current temperature
Unfortunately, the second part is not so easy because the users' setpoints should be stored in the microcontroller, and for this...