{"id":21722750,"url":"https://github.com/mcorts/mini-tracker4antenna","last_synced_at":"2026-05-15T20:31:24.784Z","repository":{"id":128775246,"uuid":"327296893","full_name":"McOrts/mini-tracker4antenna","owner":"McOrts","description":"Educational satellite tracking antenna device based on Raspberry Pi and SG92R servos","archived":false,"fork":false,"pushed_at":"2021-01-10T11:46:46.000Z","size":3258,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-20T22:18:58.478Z","etag":null,"topics":["antenna","python","raspberrypi","satcom","satellite"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/McOrts.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-06T11:54:50.000Z","updated_at":"2024-10-10T18:53:56.000Z","dependencies_parsed_at":"2023-03-19T00:56:28.980Z","dependency_job_id":null,"html_url":"https://github.com/McOrts/mini-tracker4antenna","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/McOrts/mini-tracker4antenna","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/McOrts%2Fmini-tracker4antenna","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/McOrts%2Fmini-tracker4antenna/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/McOrts%2Fmini-tracker4antenna/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/McOrts%2Fmini-tracker4antenna/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/McOrts","download_url":"https://codeload.github.com/McOrts/mini-tracker4antenna/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/McOrts%2Fmini-tracker4antenna/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33078898,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T20:25:35.270Z","status":"ssl_error","status_checked_at":"2026-05-15T20:25:34.732Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["antenna","python","raspberrypi","satcom","satellite"],"created_at":"2024-11-26T02:32:36.383Z","updated_at":"2026-05-15T20:31:24.769Z","avatar_url":"https://github.com/McOrts.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Educational tracking device for LEO orbit satellites\nA satellite deployed in a low Earth orbit (LEO) shows a fast pass through the sky. So we need a device that points our directional antenna dynamically in order not to lose communication. This a satellite tracking antenna device or rotator, is based on Raspberry Pi and SG92R servos for educational purpose.\n\n## Mechanics\nIt is a small piece adapted to the form factor of SG9x servos. so I have used a DLP (resin) printer with the CHITUBOX program. Both the final file, and the .stl files can be found in the 3D_files folder.\n|Antenna base|Axis|Platform|\n|---|---|---|\n|\u003cimg src=\"./3D_files/Pan-tilt-antenna-base.PNG\"/\u003e|\u003cimg src=\"./3D_files/Pan-tilt-axis.PNG\" /\u003e|\u003cimg src=\"./3D_files/Pan-tilt-plataform.PNG\" /\u003e|\n\n## Schematic and Connections\nI assembled all the components for the prototype over a full size proto-breadboard. This is the schematic\n\u003cimg src=\"./images/mini-tracker4antenna.png\" width=\"500\" align=\"center\" /\u003e\n\n### OS\nAs you can see, I used a Raspberry Pi Zero + due to its small size. It has excess performance to run the Python script to control the movement of the servos and enough to run a program for calculating satellite orbits. You can install the Raspberry Pi OS Lite. Here you are the [RPI OS installation guide](https://www.raspberrypi.org/documentation/installation/installing-images/)\nYou don't need anything special to run the tracking program.\n\n## Where is my SAT?\nYou can find several applications for mobile which allows you to have the most accessible information. But in the Linux environment there are the applications that will give us more precision and quantity of information. A very easy to install and configure is [Gpredict](https://github.com/csete/gpredict). It allows advanced options such as defining control interfaces with ham radios and rotors like this.\n\u003cbr\u003e\nLater I will show how to use the information provided by this program to call the program so that it is oriented to the satellite we want to connect to.\n\n### Instalation\nTo install GPredict. Being a desktop application I have chosen this way of installation:\n\u003cimg src=\"./images/gpredict_installation.png\" width=\"600\"  align=\"center\" /\u003e\n\nAfter updating the TLE files and changing some settings. You can have a tracking in real time and very precise. For example the ISS:\n\u003cimg src=\"./images/gpredict_running.png\" width=\"600\" align=\"center\"  /\u003e\n\n## Elevation calculation\nFor low elevation passes, the trajectory approaches a parabolic curve. At elevations closer to the zenith, the approximation to a gaussian bell is better.\n|Polar view of a low pass base|Azimuth and elevation evolution in a low pass|IDEM in a hight pass|\n|---|---|---|\n|\u003cimg src=\"./images/lowpasspolar.png\"/\u003e|\u003cimg src=\"./images/lowpass.png\" /\u003e|\u003cimg src=\"./images/highpass.png\" /\u003e|\n\n\u003cimg src=\"./images/elevationequationquadratic.png\" width=\"500\"  align=\"right\" /\u003e\n\nIn this first iteration, the **calculation is based on a quadratic equation of a parabolic curve**:\n\u003cbr\u003e\nFor the previous case of low pass the equation could be solved like this:\n\u003cimg src=\"./images/elevationequationsample.png\" width=\"600\" align=\"center\" /\u003e\n\u003cbr\u003e\n\n## The code\nI have build only one program developed as a Python script. The code is available in this repository and you can [open here](https://github.com/McOrts/mini-tracker4antenna/blob/main/mini-tracker4antenna.py).\n\n## Run\nThe program is a Python script that you can execute in command prompt. In the table data with the details of the pass obtained in GPredict. You can find the value for the parameters that you need for call the program.\n\u003cbr\u003e\nThese would be the parameters for the low pass of the example :\n\u003cimg src=\"./images/lowpassdata2command.png\" align=\"center\" /\u003e\n\u003cbr\u003e\nThere is a help with the call formats and the order and meaning of each parameter:\n```\nUsage:\n python mini-tracker4antenna.py [total pass time in minutes] [Start azimuth degrees] [End azimuth degrees] [Maximum elevation degrees]\n python mini-tracker4antenna.py test\n python mini-tracker4antenna.py ?\ne.g: mini-tracker4antenna.py 9 37 140 60\n```\n\n## Demo time\n[![Movement demo](./images/mini-tracker4antenna_test.png)](https://youtu.be/1R0TKMD1_78)\n\n## Next steps\n* Build a mini-Yagi or Helical antenna handmade.\n* Control interface with Gpredict.\n\n## Acknowledgements\n**Fernando Bueno** for the 3D design as [fbuenonet in thingverse](https://www.thingiverse.com/fbuenonet/designs) \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcorts%2Fmini-tracker4antenna","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmcorts%2Fmini-tracker4antenna","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcorts%2Fmini-tracker4antenna/lists"}