Project tutorial
Satellite Tracker

Satellite Tracker © GPL3+

Keep up-to-date on the passing of your favourite satellites overhead with this 3D-printed, Arduino-controlled satellite tracker!

  • 9,214 views
  • 21 comments
  • 44 respects

Components and supplies

Necessary tools and machines

3drag
3D Printer (generic)

About this project

This is a satellite tracker with a 3D-printed dish based off of a real satellite dish. Here it is in action:

My model dish running in sync with the real thing

This dish will track any number of satellites in real-time as they fly overhead.

Tracking NEOSSAT over the skies of Saskatoon in real time

Hardware

The satellite dish and support structure was 3D-printed; the STL files can be found on Thingiverse: https://www.thingiverse.com/thing:4541354

3D-printed assembly

The stepper motors are hookup to the Arduino as follows:

I stripped a USB cable and used the +5 V and GND lines to power the steppers from a mobile battery pack.

Software

The code for the project is on Github: https://github.com/alexchang0229/SatelliteTracker

The orbits of satellites are generally given in two line element (TLE) sets, most satellites are tracked by NORAD and their TLEs can be found on: http://www.celestrak.com.

Using a MKR 1000 WiFi board, I grab the latest TLE for the satellites of interest from celestrak; luckily the complicated part of translating from TLE to actual azimuth and elevation is already done in this library: https://github.com/Hopperpop/Sgp4-Library

I also used the RTC zero library to obtain the current time: https://github.com/arduino-libraries/RTCZero

The accelstepper library to control the two stepper motors:

https://www.airspayce.com/mikem/arduino/AccelStepper/

Here's how the code works:

  • Connect to internet and get the current epoch time.
  • Get satellite TLEs from Celestrak, save it and predict the upcoming passes.
  • Put the dish in standby Az = 0 (North), EL = 25
  • At 5 mins before pass, move dish to start of pass and wait.
  • Track satellite during pass
  • Wait at end of pass for 2 mins, predict next pass.
  • Go back to standby until next pass

You can use a free version of STK to verify the predictions: https://www.agi.com/products/stk

That's it! Let me know if you tried it and if there's anything that needs clarifying.

If you'd like to 3D print some satellites to go with the satellite tracker check out my designs on thingiverse: https://www.thingiverse.com/yychang/designs


Code

Code for satellite tracker
Configure tracker_main to your situation and upload to Arduino MKR 1000 WiFi

Custom parts and enclosures

Satellite tracking antenna model
Print the satellite dish and stand using PLA.

Schematics

Stepper motor hookup
Arduino | Stepper controller
Azimuth:
2 -> 1
3 -> 2
4 -> 3
5 -> 4
Elevation:
9 -> 1
10 -> 2
11 -> 3
12 -> 4
Trackerstepper bb zjv2vvccko

Comments

Similar projects you might like

Towards an Arduino-Powered Satellite Tracker

Project tutorial by Thomas Le Goff & Maxime Moury

  • 11,464 views
  • 1 comment
  • 6 respects

Unicorn Finder (Kid Tracker for Techie Parents)

Project tutorial by Team Hologram

  • 7,813 views
  • 3 comments
  • 20 respects

Arduino APRS Tracker (wilderness location tracking)

Project showcase by John Weers

  • 34,825 views
  • 21 comments
  • 53 respects

DIY Solar Tracker Arduino Project ITA

Project tutorial by Ingeimaks Ingeimaks

  • 17,122 views
  • 1 comment
  • 28 respects

Hiking Tracker

Project tutorial by Shahariar

  • 15,652 views
  • 18 comments
  • 64 respects

Non Optical Solar Tracker (East Tower 2.4KW)

Project in progress by Team Trouble

  • 11,912 views
  • 18 comments
  • 61 respects
Add projectSign up / Login