This master clock controls the signals sent to the slave clocks, and keeps them synchronized. The firmware in the clock currently supports the National Time synchronization protocol. The master clock also controls the bells that can be set at scheduled times during the day. The firmware in the clock currently supports two bell zones (indoor and outdoor bells).
The firmware in the clock also automatically adjusts to daylight savings time (this can be turned off). This library might also be useful for other clock-projects (make sure to also get the modified DateTime library).
The clock is set up by connecting it to a computer via the Arduino USB port, and running a Java control program with a GUI interface. Once the time has been set, and a bell schedule loaded, the computer can be disconnected.
The design of the clock emphasizes simplicity, with a minimum of controls. Any complex setup is better handled by running the control program on a computer and temporarily connecting to the clock. The picture shows the front panel of the clock. The switch allows bells to be turned off completely if bells are not wanted (holidays, teacher training days etc.) The LEDs are normally all green, anything else indicates an unusual state.