Celestial Object Tracker

Project Overview
My final major university project: an affordable and scalable electronic device designed to track celestial objects in real-time. It combines stepper motors for precise movement, an Arduino for low-level hardware control, a Raspberry Pi for processing and calculations, and a camera for capturing real-time celestial observations.
Technical Overview
This complex project involved integrating hardware (Raspberry Pi, Arduino, sensors, motors) with software (Python) to perform real-time calculations and control physical movements based on astronomical data. It included 3D design and printing for the physical structure.
Architecture & Stack
- Control Processing: Raspberry Pi
- Hardware Control: Arduino
- Software: Python (with libraries like Skyfield, OpenCV, NumPy, Pillow)
- Sensors: MPU6050 (IMU), GT-U7 (GPS)
- Actuators: Stepper Motors
- API Integration: Skyfield API (for celestial coordinates)
- UI: Tkinter GUI
- 3D Design: Autodesk Fusion 360
Core Functionality
- Accurate celestial object tracking using GPS, IMU, and time data.
- Real-time coordinate calculation using Skyfield API.
- Automated, precise control of stepper motors based on calculated coordinates.
- Interactive Tkinter GUI for selecting targets and monitoring status.
- Real-time image processing potential with OpenCV.
Technologies Used





Development Insights
Software & Libraries Used
# Key Python Dependencies
certifi==2024.2.2
future==1.0.0
iso8601==2.1.0
jplephem==2.21
numpy==1.26.4
opencv-python==4.9.0.80
pillow==10.3.0
PyYAML==6.0.1
serial==0.0.97
sgp4==2.23
skyfield==1.48
Hardware Integration & 3D Design
The project involved significant hardware integration, interfacing sensors (IMU, GPS) and motors with the Arduino and Raspberry Pi. A custom 3D-printed frame, designed iteratively in Fusion 360, provided the necessary stability and mounting for the components.
Learning & Future Plans
This project was a major learning experience in hardware-software co-design, real-time systems, and applied mathematics/astronomy. Future plans include refactoring the control logic into C++ for improved performance and enhancing the user interface.