Model Surveillance Satellite — Team Project
A team-built satellite prototype with networking, live video streaming, and systems-level Python running on Linux.
Model Surveillance Satellite — Team Project
A physical model satellite prototype built as a team project, featuring live video streaming, remote control over a network, and an onboard Linux system.
What We Built
A working model satellite the size of a shoebox that:
- Streams live video feed over a local network
- Accepts remote pan/tilt commands
- Runs autonomously if the connection drops (safe mode)
- Logs telemetry (orientation, temperature, uptime) to an onboard file
My Role
I was responsible for the networking layer and the video streaming pipeline. This involved setting up the FFmpeg stream, handling reconnection logic, and building the ground station interface that displayed the live feed alongside telemetry data.
Tech Stack
- Raspberry Pi running Debian Linux as the satellite's onboard computer
- Python for control software and telemetry collection
- FFmpeg for video capture and streaming
- Bash for startup scripts and watchdog processes
- Socket programming for the command channel
What Made It Hard
Real-time video over an unreliable Wi-Fi connection is brutal. Latency spikes would cause the FFmpeg pipe to stall, hanging the entire Python process. We ended up using a separate thread for the video stream with a watchdog that restarts FFmpeg if it goes silent for more than 3 seconds.
Physical testing also revealed that our antenna placement caused significant interference. We solved it by shielding the Pi with copper tape and repositioning the antenna to the exterior of the model.