To control a domestic solar hot water system, a custom controller was built using the Arduino Duemilanove. It reads temperature inputs from the tank and roof sensors to drive a relay that turns the circulator pump on and off. Temperature readings are sent via serial port to a laptop which records and graphs the temperature data. The graphs and data are sent wirelessly to a web server, that displays the current temperatures and status using a Google Gadget. [...]