top of page

Camera AllSky Wifi

This camera is based on the Instructables project "Wireless All Sky Camera" described in the following link:



Actually it is not a conventional solution of all sky camera, since it is aimed at capturing photos and the possibility of sequencing them in a video. It is very interesting for the creation of videos of meteors or other astronomical phenomena (in fact in the link there are some very impressive videos of aurora borealis), but it can also be used to visually monitor the state of the sky and see the evolution of the clouds.


The main attractions that I saw in the project are its simplicity, economy, the possibility of connecting to the camera via WIFI, and as an interesting addition, the control of the operation using software in C, which provides the sources in Instructables and which I have modified and adapted so that the operation adjusts to my needs.


You can use the ASI224MC (color) or ASI224MM (monochrome) camera from ZWO. In my case I used color, but the operation is identical.


For the fixing of the camera a PVC plate cut is used to fit the measurements of the box.


The Raspberry 3 is placed in another PVC plate that is fixed to the one of the camera with a 90º angle.


For the connection between the camera and the Raspberry it is recommended to use a USB cable as short as possible and with the connector to the camera in a bent form.


The camera with the plate is assembled inside a plumbing pipe and covered with a plastic dome.


The main difficulty of the first assembly was the condensation. Of course the set is not waterproof and the consumption is so small, that the source does not generate enough heat to avoid or eliminate the condensation that is produced by the humid air, and once the plastic dome is internally with a condensation layer , it remains for several days. The solution was to incorporate an aluminum block to seat the dome, so that the condensation occurs in the metal and does not reach the dome.


I have introduced some improvements to the original software, such as allowing the automatic adjustment of exposure time so that it adapts to day and night lighting levels, but also, for example, being able to lower the exposure and / or gain time when the sky It is cloudy and the clouds reflect a lot of light from the light pollution of the city. Another improvement is to use the camera to view in real time and that the recording is optional, in order not to be writing in the micro SD every night, and thus extend the life of it. When used in recording mode, it is activated automatically by astronomical calculation (sunset and sunrise) and at the end of the night automatically sends the video by FTP to a server automatically freeing the space.


The lens used is an Arecont 1.55mm, 1/2 ", f2.0, fixed Iris, fisheye. You get a field of about 100º, which is certainly not "all sky" but the fact is that in my particular case, covering more angle in a street full of streetlights produces the undesirable effect of seeing the brightness of the streetlights in the plastic dome and lose a lot of quality in the image.

The final assembly is made with standard pieces of PVC plumbing, and a standard mast anchor:

An example of a few minutes with the evolution of the clouds until a clear sky:

Dark level measurement software
allsky software EN

The images captured by the camera are a great help to know the current state of the sky. Being the camera in color we can observe the state of the sky with the same clarity as when we look at the sky and we get an idea of ​​whether it is worthwhile or not to put the telescope to work. The color also gives us relief and allows us to determine the type of clouds at nightfall. We can also determine by color of the image if the urban lighting has been turned on.

In addition to the information that gives us the visual analysis of the image, we can go a step further and with a simple computer processing we can obtain a measure of the darkness of the night sky.

The following describes a method that complements other solutions based on measuring the temperature of the sky or the level of light received. The method could be summarized by saying that we measure the blue average of the image weighted with the level of exposure.

I have developed a methodology for the use of the AllSky camera that allows to monitor graphically and have a measure of the darkness of the sky that can be used in the planning of the work of the observatory. The objective is to know if the sky is dark enough to make photography, photometry, etc. both visually and with a precise measure that can be used for the automation processes of the operation of the observatory.


For this, the allsky-PC camera system is configured as follows:

  • The AllSky camera performs the following functions:

    • Capture a photograph every so often by adjusting the exposure automatically trying to maximize it (not exceeding 8 ") while preserving the image is not saturated.The objective is to obtain an average value of  blue level in the image at the maximum exposure that It does not saturate it. The time between exhibitions can be 30 ", 60", to suit each one.

    • It automatically saves the image in RAM memory (so as not to damage the uSD) in jpg format and sends it via FTP to the PC.

    • It handles requests through TCP IP of the PC to send data of the last image taken, in particular:

      • Average levels of blue, red and green (from 0 to 255)

      • Exposure time

      • Date and time of the last image

  • The PC performs the following functions:

    • Receive by FTP each image captured and sent by the camera

    • A simple program in VB6 performs the following tasks:

      • Displays the last image received

      • Ask through TCP IP to the camera to obtain the level, exposure, date and time data.

      • Calculate the dark level value by means of the division between "average level of blue" and "exposure in milli seconds"

      • Save the data received data plus the calculated value of darkness level in a text file

      • It represents in a graph the dark level data allowing:

        • Adjust the scale to normal or logarithmic (data vary by a factor >10^6 between day and night so the logarithmic scale is more appropriate).

        • Choose the range of the darkness level scale in three ranges: day and night (from 0.001 to 25000), night (from 0.1 to 0.001), night in more detail (from 0.03 to 0.001)

        • Choose the interval in hours to represent, by default last 24 hours.

        • Visualize the threshold of darkness suitable with my installation to do work with the observatory: <0.02 if you want to be little restrictive or <0.01 to have high darkness.

In this capture of the PC program, an image of overcast sky is shown at sunset and at the top a graph of data of the last 24 hours.

In this case, the graph is in logarithmic scale. It has been proven that the data is clearer on this scale, especially if the period to be viewed includes day and night.

The green line shows the threshold of 0.02. On this night, after 19 hours the conditions were adequate but the clouds appeared around three in the morning.

If you want to see the data in more detail at night you can select a range of  >0.1, where it is observed that the clouds appeared at 3:50 and they did not allow to continue with the work of the observatory correctly in the rest of the night .

The default range is 24 hours, but in the capture on the left, a range of 200 hours has been selected where the evolution of several days is observed.


In this capture, with respect to the image it is observed that it is already getting dark and the exposure is 800ms, with a much more yellowish color due to the fact that the streetlights have been lit.

The current level of darkness is written by the software in a text file so that other observatory software can use it for their observation routines. For example, when photometry is performed, the script that is used not only waits for the appropriate time of solar hiding, but also waits for the level of darkness to be <0.02 and if, throughout the night, the level of darkness goes up by 0.02, wait for it to go down again. In this way, no bad quality photos are made with the telescope, but neither is the process interrupted if the clouds appear, since  may be that the clouds are temporary and we can resume the measurements at another time of the night.

The level 0.02 is not very restrictive, since when you are obtaining an average of all the captured sky, can happens that the area in which we want to measure or photograph is cloudless so we could be missing the opportunity. In my installation, 0.02 is when the brightest stars begin to be seen with the naked eye. For example, in the following capture you start to see the stars but there are clouds that give a regular quality to the sky:

To have a precise measurement that allows to clearly decide if it is the right time to operate or not, we should attach the camera to the axis of the telescope and measure a narrower area where we are currently working. In this case, we could put a more restrictive threshold, for example 0.01.

Actually to be precise we would have to make the threshold variable depending on the moon phase, since the luminosity of the moon we are also measuring it.

Another idea to develop is to measure the clarity during the day for example to automate photographs or solar averages. Since the camera is in color, we can use the ratio of blue to red and green to detect that the sky is clear.

But these are ideas for a second phase of the project, for the moment and as it is currently operating, the system is very useful and has allowed me to work more efficiently on the installation.

bottom of page