Real-Time Planet Tracking System & Trajectory Prediction


This project aims to make a system that effectively tracks celestial bodies (such as planets ) with a fair amount of accuracy. We will be using some algorithms along with a processing unit for the calculations and a servo mechanism to show the location of the planet physically!. The hardware used in the project is pretty much basic and simple because the primary focus of this project is the software that is to make people understand the algorithms and their implementations. So please bear with my “un-formatted” hardware.

Not just planet tracking  you will learn some additional important things that you can implement in your other projects:

  1. Planet tracking using Kepler’s algorithms
  2. Many coordinate systems and their interconversion
  3. pan-tilt programming and servo mapping (3.5 turns Servo and 180 degrees Servo )
  4. MPU9250 auto-calibration programming
  5. Using Madwicks/Mahony Filter to Stabilise MPU readings.
  6. Yaw correction using P- controller with MPU9250

The steps are too detailed to fit in a single page so I have split the project into different pages they are:

  • Step 1: Calculation of Right Ascension and Declination and its conversion to Azimuth and Altitude [Calculated using Kepler’s Laws] using Osculating Elements Here is the Link.
  • Step 2: The Circuitry (connections of GPS Module U-BLOX NEO-6M or similar, pan – tilt servo )  and Servo Mapping. Here is the Link.                                                                  Note: If you do not use an MPU9250, you will have to align your system in its initial state to the North direction.
  • Step 3: This step uses the MPU9250 for automatic north detection and its alignment and the best part is that it is Dynamic i.e. even you keep changing (the yaw angle) or azimuth alignment it will continuously sense the error and correct it dynamically. Here is the Link
  • Step 4: Software Integration and Trajectory Prediction. Go to this section for the final Arduino code, Here is the Link

RTPT (Real Time Planet Tracking System and Trajectory Prediction) Copyright © 2016 Shubham Paul, Samhita Ganguly, Rohit Kumar  GNU GPL3+

27 thoughts on “Real-Time Planet Tracking System & Trajectory Prediction

  1. Suggestions for note mentioned in step 2
    It’s not necessarily that you need mpu9250 only. It would be better if you mention necessity of magnetic compass in IMU for getting true north and dynamic yaw.
    So can be done using any of following IMU unit which has HMC5833 or similler compass Or BNO055 IMU.

    Liked by 1 person

  2. Very cool. If you’d come up with different software, this would be *extremely* useful in the hobby of visual satellite observation as it could use a green laser to point to or at least near to the spot in the sky where the satellite will appear once it achieves a visible magnitude as it exits the Earth’s shadow so one knows exactly where to look.

    Visual Satellite Observer’s Home Page

    The best satellite tracking software by far is the freeware Heavensat.

    Liked by 1 person

    1. This project can be generalised to track any Celestial Body or Sattelite( artificial or natural) , for that it requires the orbital elements of the particular body( satellite, star etc.) moreover you can just get the “right ascension” and “declination” of the satellite (from Internet) and directly feed it to this system (in case you don’t have the orbital elements) continuously.You don’t have to change the software much.


      1. Does it accept standard manmade satellite tracking two-line element (TLE) sets? That’s what it would need to be useful for the satellite tracking hobby.


      2. Of course it can but the thing is I didn’t design it to extract data in this format but it will take just a couple of lines of code to extract data from TLE format and directly use it in the system because TLE is just the formatted form of orbital elements that I am already using in my system.


      3. Well then, since I’m not a programmer, I can say that members of the satellite viewing hobby would probably greatly appreciate it if you added those few lines of code at your leisure.

        Liked by 1 person

  3. Sorry, your realization is very great, in your project there is a potenziometer… what is his ohm? after where is the code of all the project that i will introduce in arduino ? what is the mode selector (normal / trajectory) button?


    1. The pot I have used is of 10k ohm … All the code is in my github account .I have already provided the link for it

      Also the mode selector is to switch between two modes , one that is “normal” shows real time position of the planet as per your selection , the “trajectory” mode shows you the complete movement of the planet for the complete day in a single minute .


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s