My New Obsession: Building a Night Sky Pi

This is the official start of the Night Sky Pi project. Past attempts stalled, so the reset is deliberate and early to give the best chance of finishing.

Project restrictions

To keep this accessible, the hardware is intentionally limited.

  • Compute: Raspberry Pi Zero 2 W, chosen because it is easy to find and about £15.
  • Camera: Raspberry Pi HQ Camera, for the same reasons of availability and cost.

These choices come with trade offs. Processing on the device is out of scope. The capture node will only collect data and package it for processing elsewhere.

Overview design

The software will be written in Python and installed as a system service so it starts on boot.

On start it will:

  1. Run a system check, including camera detection and basic environment checks for location and storage.
  2. Load configuration for the rest of the processes.

During operation it will:

  • Check whether the current time and location fall within the capture window. The initial version uses sunset to sunrise.
  • If within the window, initialise the camera, capture an image, save it, then check the result to adjust exposure for the next frame. Loop until outside the capture window.
  • If outside the window, package the session data. This includes images, metadata for each image, and a manifest that describes the observation period and parameters.

For moving data off the device, the first version will either keep the package locally or send it to another location via FTP or AWS S3. If there is nothing to package and it is outside the capture window, the node will sleep until the next session. Deep sleep is on the table to reduce power draw, which would help with solar or battery setups.

Next steps

  • Prepare the repository and README.
  • Implement the system check and configuration.
  • Build the main loop that orchestrates the stages, then fill in the functionality for each part.

Thanks for reading.


↤ Previous Post
Next Post ↦