Weather monitoring and Observatory control


Obviously, an optical telescope is useless under a cloudy sky, and furthermore, weather phenomena such as precipitation can damage the optics, the electronics and mechanical equipment.
The Observatory housing thus has the primary purpose of protecting the equipment from weather hazards. Even when the roof is open under clear or almost-clear skies, the walls provide some protection against unexpected wind gusts and dust.

A automated meteorological station suited for “guarding” the observation sessions should include at least the cloud cover (or cloud amount) measurement!

As seen below, this implies measuring the sky temperature and the standard ambient temperature.

Of course, one can add for comfort other measurements, such as:

  • relative air humidity (which along with the air temperature measurement could provide the dew point)
  • anemometer (wind speed measurement)
  • rain sensor (warning: this must have a large surface detecting area in order to be of use, and by the time this signals that it is raining and the Observatory is still open it might be already TOO LATE, the damage may have already been done!)
  • light meter (for automated opening and closing,  when one wants to avoid time-scheduled programming)

As I explained above, in order to measure cloud cover we need the local air temperature and… the sky temperature!
How do we measure the sky temperature? How do we measure the temperature of a remote object? Well, there are sensors for this kind of measurements. They are called non-contact IR measurement sensors, and use the measured IR spectrum of the object they’re pointed at and the Plank’s law to determine the remote object’s temperature. They are quite accurate as long as the measured object has high emissivity.
And why do we need the sky temperature? Because this is the key in finding out if there are clouds above us! As one would expect, normally a clear sky should be pretty cold: actually, about 20 degrees Celsius colder than the local environment!


If there were some clouds present then the sky temperature would go up accordingly, because they would reflect back the IR radiation emitted by the warmer ground, and the difference between the local air temperature and the sky temperature would no longer be significant (that’s why cloudy nights are generally warmer). In fact, whenever there is a significant cloud presence, the recorded sky temperature is very close to the local air temperature and when it rains there is a good chance that the non-contact IR sensor will pick up the warmth from the water droplets and signal even a higher sky temperature than the ambient! This is the reason (besides protection of the electronics from the elements) why I encased the remote temperature sensor (MLX90614)  in a box with a very low power heater foil beneath it in order to eliminate dew on its sensitive area and avoid false alarms (high sky temperature readings):


And the ambient temperature sensor: (updated: a temperature-humidity sensor DHT22)



As I showed in the Construction page,  a chain assembly with a small but powerful DC motor drives the motion of the wheeled roof:


The motor action is commanded via a custom made power control box by the same controller which reads the meteorological data, an arduino uno v3:




Limiting contacts (switches) are placed at each end of the roof track in order to send the signal to the controller that the roof is fully opened/closed and therefore to stop the running motor:

For safety reasons I placed a pair of additional (normally closed) switches in series with the motor power circuit at the extremities of the roof track, so even in the unlikely event of a controller failure, these contacts will open and the power will be cut off, so the motorized roof assembly won’t suffer any damage:




The Arduino controller is programmed by me to continuously read the sky and ambient temperature data and to send (when commanded so) the PWM and relay signal for roof motor operation and direction (opening or closing).

In addition, I modified and improved a basic open-source cloud detection software which I found on astronomy forums by adding some routines in order to:

  • automatically calculate the sky conditions, based on clear sky temperature mathematical model equations
  • automatically (prepare for roof closure when hazardous sky conditions detected) initiate communication with ASCOM interface drivers to put the telescope in parking position
  • automatically (roof closure when hazardous sky conditions detected) initiate communication with arduino controller to send instructions to operate the roof motor
  • prevent accidental manual roof motor action command while the telescope is not parked

This version is available for download as specified here.

Here is a view of the software interface, in different sky conditions:

Clear sky





One unexpected bonus is that the non contact IR sensor is so precise and sensitive that at some point it can actually detect significant atmospheric turbulence when several consecutive readings vary considerably, thus giving a warning that although the sky is clear, the observational conditions are less than ideal.