DIY All Sky Camera + Weather Station

Last Updated on 15th November 2023 by nightowl

I’ve been wanting to build one of these for a long time. Some of the parts I’ve even had for a number of years already. But not until recently have I had a place to install one. So here’s my take on the subject.

It is a Raspberry Pi 3B + Raspberry Pi HQ camera based system with a DIY nichrome wire dew heater. Everything will be powered from a PoE splitter which gives me max 5V / 2.4A.

Camera and lens are attached to the box with an adapter I 3D printed. Around this is a 3D printed bracket that holds the thin nichrome wire dew heater. It’s about 20cm long 0.2mm thick and draws about 400mA at 5V. Seems to warm up nicely but not too hot to melt the plastic.

I’m using one of these pipe shelf brackets to attach it to my garage wall. It also serves the purpose of the cable entry to the box. The box itself is IP65 rated and I’ve tried to seal everything up as good as I could with neoprene gaskets and silicone.

Also what’s not shown in the pictures above is one of these pressure compensation valves (IP68) I added to the bottom of the box:

Out of curiosity I thought I’d check what the effect of the dew heater would look like on a thermal camera. Here’s a picture before turning it on:

And here’s after about 10-15 minutes of full power:

I also decided to add a DS18B20 temperature sensor inside the dome so I can control the dew heater better as I’m also adding an ambient temperature / humidity + pressure sensors:

For the sensors I designed and printed a sensor screen. Probably an overkill but at least it looks kinda cool 😉

The sensor screen is hanging off the bottom of the box like this:

The wiring inside is a bit messy but it works. I also added an STP55NF06 Mosfet in series with the dew heater so I could control it’s power with PWM from the RPi3.

Had to jump through a number of hoops but I managed to write an INDI driver for this. I couldn’t find libraries / examples on how to read the sensors connected to the GPIO via C++ so I wrote a python script that uses various python libraries in order to read them. The script dumps all the sensor data into a json file periodically. I’ve set this to run as a systemd service so it’s always running. My INDI driver then reads the json file and updates the UI properties etc. Then in order to control the dew heater with PWM I had to install pigpio and run it as a daemon. The INDI driver connects to it and issues the desired PWM duty cycle commands. Bit clunky but it works 🙂

I also decided to add an external 500GB NVMe storage with a USB adapter to both increase the storage capacity and reduce the I/O on the SD card. I’ve setup indi-allsky to use this drive for its database and image / timelapse storage. It’s not the speediest thing with the USB 2,0 connection of the RPi3 but neither is the SD card. Does the job though.

Finally I installed all this to the edge of the roof of my garage:

After a bit of tinkering with the indi-allsky config and some python and php scripting I managed to get it to upload the data to my website. The All-Sky data can be found here and the weather data here.

At some point in the future I’d like to add wind speed and direction sensors and rain detector as well.

Leave a Reply

Your email address will not be published. Required fields are marked *