Amateur Astronomy and Imaging.

Projects > SkyCam4


Following on from the success of the SkyCam3 I started developing a smaller version designed to be more portable, allowing me to take it with me if I go on holiday to dark sky locations. In addition to having a smaller physical footprint, I wanted the SkyCam4 to be cheaper and easier to build. Much of the expense of the SkyCam3 went on the ASI120MM camera so a cheaper alternative needed to be sourced. I had hoped that the Arducam AR0134 would be a suitable alternative and I built a prototype SkyCam4 using this sensor along with the Arducam USB shield. Writing my own C program to interface directly with the sensor registers was challenging, but I did get it fully working. Unfortunately the AR0134 wasn't sensitive enough for the purpose, and exposures longer than a few seconds were incredibly noisy. Reluctantly I had to pursue other options, despite having spent a good few weeks working on the code and getting it working properly. Ultimately I decided upon the Raspberry Pi HQ camera, coupled to an M12 F1.6 lens I found on eBay. The HQ camera is much less noisy, but the sensitivity is still a long way short of the ASI120MM in the SkyCam3. To some extent the loss of sensitivity can be reduced a little by increasing exposure times, though it's only practical to go up to 30s before field rotation starts to become visible in the stars. In urban locations exposures longer than 30s would show too much light pollution anyway.

From the start I had also decided not to include a sunshield in the design, since I'm not entirely convinced it's required and it does complicate the build process and adds to the overall expense. To help prevent the camera sensor from becoming damaged from high temperatures during the day-time, only the camera lens is located in the dome. The camera sensor is located in the project box, and two fans help to cool the dome and the electronics within the project box.

Many of the features of the SkyCam3 have also been integrated into the SkyCam4 design, including the focus motor, heater ring and the live-view mechanism. The most challenging part was finding a way to interface with the Raspberry Pi camera to control all the sensor parameters. The Raspberry Pi foundation provide the source code for the Raspistill program and I spent much time poring over this before I was able to integrate the camera with my C program. Many small improvements were made to the C program and the web interface along the way, including an option to take a full set of dark frames at the click of a button rather than having to do each exposure length manually. A new option to stack 2-5 of the last frames was also added. This feature was initially trialled in an attempt to control the noise on the AR0134 images. While stacking helped, it made it much less likely I'd be able to capture meteor trails etc. so wasn't an acceptable solution. I left the option present as it does produce interesting results that I may wish to use in the future.

The Raspberry Pi HQ camera provides user-configurable options to control the level of pixel correction. Known as 'Defective Pixel Correction', it offers varying levels of correction for hot pixels which do a stunning job. I was really quite surprised at how noisy the image appears with DPC turned off, and very surprised how good the image appears with it enabled. My own attempts at writing OpenCV code to clean hot-pixels from an image did not work nearly so well, so I'd love to know how this works. Unfortunately this is all carried out within hardware within the GPU and is not open source.

Overall I spent about £270 on the components of the SkyCam4 compared to the £575 I spent on the SkyCam3, and I think it's unlikely I'd improve much on these costs unless buying components in bulk or from overseas suppliers. The SkyCam4 has been running in my back garden alongside the SkyCam3 for a little over a year now, and does provide a useful comparison if meteors are spotted. Its lack of sensitivity does mean that meteors are less visible, but if the auto-exposure option is enabled in conjunction with image sharpening, they are still visible. The Raspberry Pi camera doesn't have a built-in temperature sensor like the ASI120MM, so the SkyCam4 does not log camera temperature. I have included a temperature and humidity sensor, but to keep the overall size as small as possible this is inside the project box rather than on an external probe like the SkyCam3 (which only had a temperature sensor). Another design change was to have the fan that draws air out of the dome controlled by a relay. The fan is operational during the daytime to help reduce the temperature inside the dome, but switches off at night to help keep mist/dew at bay. The heater element is the same size as the one used in the SkyCam3, but since the dome is smaller in the SkyCam4 I have noticed that it is much less prone to misting up.

I've included a few images recorded by the SkyCam4 that were taken during trips I took to locations with darker skies. Overall I'm happy with the results, and unless I can find a more sensitive replacement for the Raspberry Pi HQ sensor at a similar cost, I think it's unlikely there will be a newer version for some time to come.