MySatComm
Mechanical, electrical, and software for a satellite groundstation
Install / Use
/learn @lowdrant/MySatCommREADME
mySatComm
Homebrew groundstation for receiving data from satellites. Servos are controlled via Raspberry Pi; DSP is handled through the GNU Radio and GPredict. Go here to see STL models in GitHub.
Project Overview
This is a farm-to-table amateur radio project composed of 3 major subprojects:
- Mechanical Design
- Antenna Rig
- Orientation Controller
- Command & Control Software
- Servomotor low-level control
- GPredict command interface
- Rotator trajectory generation
- Digital Signal Processing
- Radio demodulation and doppler shifting
- Information decoding
Installation
Clone this repo to your Raspberry Pi and run install.sh. All Python dependencies will be installed in a virtual environment at $HOME/.satcomm. Additionally,
To uninstall, run the corresponding uninstall.sh script.
On your PC, install GPredict, GNU Radio, and download the SDR folder.
Using the programs
-
Create a GPredict module tracking some satellites of interest. Be sure to look at the manual and website.
-
Configure GPredict to interface with your Raspberry Pi as a networked rotator (you'll need its IP address).
-
Configue GPredict to work with your SDR. If you don't have a go-to, I recommend using the NooElec NESDR Mini 2.
-
Wait for a satellite to pass within range, then activate GPredict radio and rotator control programs and run
./run.shon your Pi. -
Watch it go!
Software/Retailer Links
- GPredict - Satellite tracking and antenna actuation software
- PiGPIO - Provides hardware-timed GPIO control on Raspberry Pi
- Raspberry Pi - Hobbyist-oriented single-board computer
- SolidWorks - CAD software
- SainSmart - Robotic components manufacturer
Project Subfolders
Mechanical Quick Reference
Software Quick Reference
Design Decisions
Antenna
- 3-element linearly polarized yagi antenna
- Directionality recommended for satellite reception
- Circular polarization is annoying (for me) to get right
- Homebrew dipole antenna base made from PVC, AWG14 wire, and screws
- COTS parts increase accessiblity and homebrew aesthetic
- Thicker wire chosen for increased rigidity
Controller
- Custom housing
- Convenient mount point for rotator
- Minimizes wiring connecting Pi and servos
- 3D printed for rapid prototyping
- Solderboard Pi shield
- More reliable wiring of servo battery power
- Faster connect/disconnect of servos from Pi
Software
- GPredict
- Open source satellite tracking software
- Computes necessary antenna orientation automatically
- Sends antenna orientation commands over TCP/IP
- Manual here
- PiGPIO
- Provides almost-hardware-timed PWM (important for servo control)
- PWM less noisy and more reliable than RPi-GPIO or wiringPi
- Simple Python interface
SDR Sources & Acknowledgements
- Wolfgang Nagele for his GRC Gpredict Doppler shift correction block
- Alexandru Csete for this tutorial for an APT decoder in GRC
Author
Marion Anderson - lowdrant
License
This project is licensed under the MIT License - see the LICENSE file for details
Related Skills
node-connect
339.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
