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.
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
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.
-
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.sh
on your Pi. -
Watch it go!
- 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
- 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
- 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
- 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
- Wolfgang Nagele for his GRC Gpredict Doppler shift correction block
- Alexandru Csete for this tutorial for an APT decoder in GRC
Marion Anderson - lowdrant
This project is licensed under the MIT License - see the LICENSE file for details