Skip to content

Mechanical, electrical, and software for a satellite groundstation

License

Notifications You must be signed in to change notification settings

lowdrant/mySatComm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ff8367a · Jun 23, 2020
Feb 20, 2019
Aug 27, 2018
Aug 26, 2018
Aug 20, 2018
Oct 10, 2018
Aug 30, 2018
Jul 11, 2018
Jul 10, 2018
Jun 20, 2018
May 13, 2018
Jun 23, 2020
Aug 20, 2018

Repository files navigation

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

  1. Create a GPredict module tracking some satellites of interest. Be sure to look at the manual and website.

  2. Configure GPredict to interface with your Raspberry Pi as a networked rotator (you'll need its IP address).

  3. Configue GPredict to work with your SDR. If you don't have a go-to, I recommend using the NooElec NESDR Mini 2.

  4. Wait for a satellite to pass within range, then activate GPredict radio and rotator control programs and run ./run.sh on your Pi.

  5. 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

Author

Marion Anderson - lowdrant

License

This project is licensed under the MIT License - see the LICENSE file for details