Skip to content

Repository files navigation

CAM Software

A complete embedded system for capturing and transmitting live video from high-altitude rockets. This repository contains firmware for the CAM-MK3 board (video capture and transmission) and the EAGLE receiver board.

Branch Conventions (follow these to the best of your abilities)

feature/my-feature: for something new

bugfix/my-bugfix: for fixing something old

launch/my-launch: for a launch milestone

docs/some-docs: for documentation

misc/something: for anything else

How to setup and run python script

Setting up the codebase

  1. Clone the repo
  2. Clone the submodules with git submodule update --init --recursive (its around 2GB)

Setting up the python backend

Method 1 (using uv):

cd CAMREADER
uv sync

Method 2 (if you prefer using python or python3 or python3.1x):

cd CAMReader
python -m venv .venv
# For windows:
.venv\scripts\activate
# For mac:
. .venv/bin/activate

#once you see a (camreader) thing in your terminal, run

pip install -r requirements.txt  # or use: pip install pyserial pillow flask flask-cors

Running the ground scripts

python read_jpeg_stream.py

or

uv run read_jpeg_stream.py

The script will:

  1. Connect to EAGLE via USB serial
  2. Decode incoming JPEG frames
  3. Save latest frame to output.jpg
  4. Stream continuous video to output_stream.mjpg
  5. Optionally display live preview (if OpenCV is installed)
  6. Optionally serve web interface at http://localhost:5002/video_feed

How does everything work?

Great question

Here are some diagrams that break down both systems fairly well. Feel free to ask us any questions on any specific portion.

Camera Software EAGLE Software

About

Flight software for the CAM MK3 and EAGLE boards as part of ARRL Big Brother

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages