My Night Sky Pi Has a Pre-Release!

So I’ve reached that magical point where my Night Sky Pi project is actually… working? Kinda? I mean, it’s stable enough that I’ve slapped a pre-release tag on it and left it running in the garden for a few weeks without it completely falling apart.

The good news is that it’s doing what I originally set out to accomplish: automatically grabbing photos from sunset to sunrise without me having to freeze my butt off outside. The exposure settings are working well enough that I’m not getting completely black images or blown-out star trails. And at the end of each night, it neatly packages everything up just like I planned.

There’s just one annoying problem that keeps messing with my results - moisture. Turns out pointing a camera at the sky all night leads to condensation on the dome. Who knew? (Probably actual astronomers, but I had to learn the hard way.) Unfortunately, I can’t fix that with a code update, so I’m calling the software part good enough for now and tackling the moisture issue separately.

Going Modular

I’ve completely changed my approach since I started this project. I initially wanted one big app that did everything, but I’ve since come around to the “do one thing well” philosophy. This shift happened after I built the open-weather dumper - a super simple app that just grabs weather data from an API and dumps it into a JSON file. That little tool worked so reliably that it made me rethink my whole approach.

So now Night Sky Pi has been stripped down to focus on what really matters: taking pictures, collecting related data, packaging everything neatly at the end of the night, and keeping its storage tidy (which you can configure to your liking). That original requirement I had about sending all the data somewhere else for processing? That’s now handled by a separate little app that just watches for new data packages and ships them off.

Is it a bit annoying having to maintain multiple small apps instead of one big one? Yeah, kinda. There’s definitely some duplicate code for handling configurations and other boilerplate stuff. But after fighting with complex, interconnected systems for years in my day job, the simplicity of this approach is honestly refreshing. If something breaks, I know exactly which piece to fix without bringing everything else down.

Additional Testing

I’m planning to let the current setup keep running for at least a few more weeks (maybe months) to see how it holds up over time. Meanwhile, I’ll be tackling that moisture problem I mentioned - I’ve already got some ideas about heating elements and ventilation that might help.

For the software itself, I’m not planning to add any new features before hitting version 1.0.0. Instead, I’ll be squashing bugs as they pop up and improving test coverage. Oh, and I’ve already started work on that data sender module I mentioned, which will finally complete the original vision I had for this project.

There is also a new supporting service already being started which is the nsp-data-sender, which completes the list of original requirements list, by sending the data on the night sky pi to a remote location.


↤ Previous Post
Next Post ↦