Real-Time Planet Tracking System & Trajectory Prediction

The Real-Time Planet Tracking & Trajectory Prediction System (RTPT) tracks celestial bodies using Kepler’s algorithm. The RTPT is programmed through Arduino and takes the orientation and location of the system.


Priya R.

Area of Interest

Computer Science


Dougherty Valley High School


Incoming Senior

Final Milestone

For my final milestone, I finished making an enclosure for my RTPT. I created a hexagonal enclosure and fabricated a potentiometer mount using the 3D printer. I added a mount inside the box to create a false height of my wiring inside. I also finished soldering my wiring to the perfboard. This allowed me to keep my wires in place after finalizing the position of the planes. The challenges I faced were mostly through the soldering of my board because it was incredibly easy to confuse the wirings.

Second Milestone

For my second milestone, I finished programming the hardware and now have a working planet tracker. The potentiometer changes which planet the servo points to by changing the azimuth-altitude calculation from Kepler’s algorithm. My biggest challenge for this milestone was getting all the code and calculations to work together. Organizing the code and having the methods in the same file was hard Arduino actually files the certain function files in alphabetical order. Due to precedence, I had to change which file I was instantiating in.

First Milestone

My first milestone is finishing the hardware individually and verifying each part through Arduino. To program the specific parts, I had to understand the meaning of the specific Arduino UNO pins and organize it through the breadboard. To program the U-Blox GPS Receiver, potentiometer (for the servo), & Motion Processing Unit (MPU 9250), I connected them directly to the arduino pins rather than the breadboard due to the unreliable loose connection of the wire housings. The GPS receiver locates where the system is and the MPU can detect the Linear acceleration, Angular acceleration, & Magnetic North of the planet with a reference point on the object. The potentiometer is essentially a voltage divider used for measuring electric potential which is used to control the servos. The servos have different circuitry than the rest of the parts because they need higher power. For the other parts, the VCV pin on the Arduino UNO sufficed. However, for the servos, they need a higher voltage to work. I used a separate battery for the servos.

MPU can calculate motion parameters such as Linear acceleration, Angular acceleration, and the Magnetic North of the planet with a reference point on the object. MPU9250 has an accelerometer, gyroscope, and a magnetometer. The MPU has raw readings of the Euler’s angles the three angles : yaw, pitch, and roll. It measures the orientation of the object. The MPU stores the data from the sensors and the data is transmitted over I2C Serially.

The GPS receiver provides the values of the latitude, longitude, date, & time. The biggest challenge with the GPS is the readings, which are inconsistent and works the best outdoors. The signals from the satellite , travelling at the speed of light, are intercepted by the GPS receiver

The potentiometer uses the analog pin and forms a range of 0 to 1023, which is proportional to the amount of voltage being applied to the pin. Turning the potentiometer acts like a switch, as dependent on where one turns the potentiometer, the RTPT will show a different planet.


The servos allow the laser to point to the correct angle. The servos angles are dependent on the Azimuth-Altitude calculations derived through Kepler’s law. These calculations are used through the time and date.



My starter project was a mini POV (persistence of vision) programmed by a microcontroller. Powered by two AA batteries, the POV is programmed so if one shakes it fast enough, the viewer can read the pattern created by the LED lights. Starting off the project, I soldered around the connection of the board and the resistors. The resistors, which were 4.7K and 47 Ω, were not directional; the zener diodes, however, were directional. After placing the resistors, LED bulbs, zener diodes, and serial port connector, I connected the serial/usb convertor to a PC to install the software for the POV. To install the software, I first setup the firmware and customized the pattern of the POV. I changed the delay time of the POV using wordpad to make it easier to display the pattern created.

Leave a Comment

Start typing and press Enter to search

Bluestamp Engineering