Motorized Radio Telescope Project

Description

This project is a fully functional radio telescope with azimuth/elevation control, GPS, and real-time tracking. Custom wiring, control box, and code—all designed and assembled from scratch. Total cost: ~$200.

The telescope is tuned to 1420 MHz to observe the hydrogen line in the Milky Way. With a GPS module and RTC chip, it can timestamp data and align with galactic coordinates for accurate tracking. This setup also supports interferometry—combining multiple radio telescopes to form a larger array, improving resolution and allowing deeper exploration of the cosmos.


Wiring Diagram

Inside the control box, I use a mini breadboard to distribute SDA, SCL, 5V, and GND from the Arduino to all connected modules.

Control Box Photo Gallery


Parts List

All parts are listed here. Total cost is a little over $200. Can find most parts at a local parts/electronics store for much cheaper, except the LNA and RTL-SDR.

3D Printed Components

The control box enclosure, motor mounts, gears, and most of the structural components were custom-designed and 3D printed. This kept costs low and allowed everything to fit perfectly with the electronics.

Parts were printed in PETG for strength and accuracy. Design files can be shared on request.

Software

Arduino Control Code

The Arduino handles real-time control of motors, GPS, RTC, and displays. It reads potentiometer input and moves the dish accordingly. Displays update continuously with tracking info.

The current Arduino code is designed for manual control using potentiometers to adjust azimuth and elevation. However, the system is fully capable of automated tracking—by using GPS and RTC data to compute galactic coordinates, the code could be extended to point the dish automatically.

Download Arduino Code

SDR & Signal Processing Tools

To analyze incoming radio signals, I used:

  • GNU Radio – Signal processing workflows

  • SDR# – Real-time signal visualization

  • Virgo – Logging data from the SDR

  • Chronolapse – Image/time-lapse capture

  • gr-osmoSDR – SDR source support in GNU Radio

Links to these tools are included in the Parts and Software List.

Physics and Math


This telescope is tuned to 1420 MHz, the emission frequency of neutral hydrogen (the 21 cm line). Observing this line allows for mapping hydrogen distribution in the Milky Way, which traces galactic structure.

Using GPS coordinates (latitude, longitude) and RTC time, the telescope can compute the Local Sidereal Time (LST), then convert Right Ascension (RA) and Declination (Dec) to Azimuth and Elevation using spherical trigonometry. This enables alignment with any target in the sky.

The spatial resolution is limited by the dish diameter and observing wavelength. The resolving angle θ can be estimated using:

θ ≈ λ / D

where λ = 21 cm (wavelength) and D is the dish diameter.

Multiple telescopes can be combined into an interferometer, where resolution improves with baseline separation rather than dish size—allowing deeper and sharper imaging.

Overview

Fritzing diagram, parts sourcing, and build process documented here.

Helpful Links, Parts List, Software Downloads:

Parts and Software List

Fritzing Diagram Link:

Fritzing Diagram (-- Schematic view only --)

Arduino Code:

Download Arduino Code

Build Process

This project took about a month to design, build, and test. Initially, I planned to repurpose a stationary satellite dish, but I realized that full azimuth and elevation control was needed. I decided to make the system modular, upgradable, and interferometer-ready. I used an old chair base with wheels for portability and 3D printed most of the structure for precision and weight savings. The signal is routed through a NooElec SAWbird+ 1420 MHz LNA (Low-Noise-Amplifier) to allow a clear and strong signal in processing.

Mounting and Motion

The dish is rotated azimuthally using a NEMA 23 stepper motor connected to a 64:1 Banebots gearbox. The gearbox output shaft is attached to the dish with a custom 3D-printed mount. For elevation, a 12V linear actuator is mounted to the top of the dish. Extending the actuator lowers the elevation; retracting it raises the focal point upward.

Azimuth Accuracy

The azimuth system uses a NEMA 23 stepper motor with a 1.8° step angle, paired with a 64:1 gearbox. This gives:

  • Full-step resolution: 1.8° / 64 = 0.028125° per step
  • With 1/16 microstepping: 0.028125° / 16 = 0.00176° per microstep

This enables smooth, high-precision azimuth control—especially when microstepping is enabled through a compatible driver.

Procedure

  1. Power on the control box using the 12V and 24V adapters.
  2. Wait for the OLED and LCD displays to initialize and begin showing GPS and RTC data.
  3. Use the azimuth and elevation potentiometers to manually aim the dish. Values will be shown live on the LCD screen.
  4. Open your SDR software (e.g., SDR# or GNU Radio) and tune to 1420 MHz.
  5. Begin signal capture or visualization using tools like Virgo or Chronolapse.
  6. Optional: Adjust the dish to scan across the sky and monitor changes in signal strength.
  7. For long-term observation, log GPS, time, and frequency data using your preferred software setup.

Future versions of the software may support automatic pointing based on target coordinates and real-time tracking.