Robert R. Fenichel

Home Control System

  I wrote a document to describe this system several years ago, but the system has substantially evolved since then, while the document has been neglected.  I'll discuss the system with anyone interested in doing something similar.

I'd do many things differently if I were starting from scratch now.

  • The transmission rate for communication between the base and the sensor stations was left at the Arduino's default of 9600 baud.  As a result, one or two messages out of every thousand or so are lost because of collisions, when two remote stations are trying to call in at once.  A higher transmission speed should have been used. 

  • The observation logs are timestamped with wall-clock time.  There is code that resets the base station's real-time clock for the beginning and end of Daylight Savings Time, but there is still a small amount of manual fiddling required each year.  The system would be much simpler if the logs used UTC, with DST adjustment used only for human reading, as needed.

  • The Arduino software was originally written as a single large program that read digital input lines to tell it whether it was running in the base station or peripherally, and, in the latter case, which sensors it should try to read.  This was a mistake, corrected in the current base station and in the newer peripheral stations.





Page revised: 01/24/2017 10:49