Why Your Ground Station Design Must Start with the Orbit
If you’re putting together a ground station for a low Earth orbit constellation, the first thing you need to get right is the orbital geometry. LEO satellites move fast—altitudes between 300 and 1,500 kilometers, with a full pass lasting maybe 10 to 15 minutes. That short window dictates almost everything about your ground segment. Ignore the constellation’s inclination, altitude, and number of planes, and you’ll end up with a station that either misses passes or burns money on tracking hardware you don’t actually need.
For a polar-orbiting constellation, a single station near the poles can see every satellite multiple times a day. For an inclined constellation at 53 degrees, a mid-latitude site might get 6 to 8 useful passes per satellite daily. I always plot the ground tracks first, using something like GPredict or a custom Python script with Two-Line Element propagation. That gives you the azimuth and elevation profiles for a typical day. From there, you can decide whether a fixed-azimuth, steerable-elevation mount will do the job or if you need full X/Y or az-el rotators. In many cases, a simple elevation-over-azimuth rotator with a modest slew rate of 5 to 10 degrees per second handles LEO passes without drama. The trick is to match the mechanical tracking speed to the maximum angular rate you’ll see at zenith for your lowest-altitude satellite.
Don’t overlook the link budget at this stage. The free-space path loss at 400 kilometers and 2 GHz is around 150 dB. At 8 GHz, it climbs to 162 dB. That 12 dB difference can push you from a manageable 1.2-meter dish to a 3-meter reflector, or force you into cryogenic low-noise amplifiers that complicate the system. I always run the link budget for the worst-case pass—lowest elevation, maximum range, and rain attenuation if you’re in a wet climate—before ordering any hardware. A pragmatic ground station is one that works in the rain, not just on a clear winter night.

Antenna Selection: Size, Steering, and Survival
The antenna is the most visible and often the most expensive component. For LEO work, you’re typically looking at parabolic reflectors, phased arrays, or helical arrays. Parabolic dishes remain the workhorse because they offer high gain for the cost, but they need mechanical steering. A 2.4-meter dish with a dual-band S/X feed can give you 35 dBi at S-band and 45 dBi at X-band, which is plenty for most telemetry and payload downlinks. The trade-off is wind loading. A solid dish in a 60 km/h gust can generate enough torque to stall a lightweight rotator. I’ve seen installations where the rotator gears stripped because the designer assumed average wind speeds instead of peak gusts. Always check the survival wind rating of the rotator and add a safety factor of at least 1.5.
Phased arrays are tempting because they have no moving parts and can track multiple satellites simultaneously. The catch is cost and complexity. A 256-element patch array for S-band might run you $50,000 or more, and the beamforming electronics require careful calibration. For a university or small commercial ground station, a single steerable dish with a dual-feed system is often the pragmatic choice. You can add a second dish later for redundancy or to support another frequency band. If you do go the phased-array route, pay close attention to the scan loss at low elevation angles. Many arrays lose 3 to 6 dB of gain when steered more than 60 degrees off boresight, which eats into your link margin.
Polarization is another detail that trips up newcomers. LEO satellites often use circular polarization to avoid the fading caused by Faraday rotation. Your ground antenna must match the sense—right-hand or left-hand circular. A crossed-dipole feed with a quadrature hybrid is the standard solution. If you’re building the feed yourself, measure the axial ratio across the full bandwidth. A ratio above 3 dB will cost you link margin, especially during low-elevation passes where multipath can already be a problem.

Receiver Chain: From LNA to Demodulator
The signal coming off a LEO satellite is weak, often below -120 dBm at the antenna port. Your first job is to amplify it without adding noise. The LNA sits as close to the feed as possible—ideally mounted directly on the feed horn with a weatherproof enclosure. A good LNA for S-band might have a noise figure of 0.3 dB and 40 dB of gain. That gain matters because it sets the noise floor for the entire chain. Every decibel of loss between the feed and the LNA adds directly to the system noise temperature. I use semi-rigid coax or waveguide for that short run, and I avoid connectors if I can solder directly.
After the LNA, you need to get the signal into your shelter. For cable runs longer than 30 meters, coaxial loss becomes significant. At 2.4 GHz, LMR-400 loses about 0.2 dB per meter. A 50-meter run would add 10 dB of loss, wiping out your LNA gain advantage. The solution is either to use a fiber-optic RF-over-fiber link or to place a block downconverter at the antenna, shifting the signal to a lower IF (like 70 MHz or L-band) where cable loss is manageable. I prefer the downconverter approach because it keeps the system simpler and avoids the dynamic range issues of fiber links.
The downconverter itself needs a stable local oscillator. For narrowband signals like telemetry at a few hundred kbps, a TCXO with ±1 ppm stability is fine. For wideband payload data at 100 Mbps or more, you’ll want an OCXO or a GPS-disciplined oscillator to keep phase noise low and frequency drift under control. The demodulator at the end of the chain can be a dedicated hardware unit or a software-defined radio with a host PC. SDRs like the USRP B210 or LimeSDR are popular because they let you change modulation schemes and data rates in software. The trade-off is that they require a capable host computer and can introduce latency. For real-time command uplink, a hardware modem with deterministic timing is safer.
Baseband Processing and Data Handling
Once the bits are demodulated, you need to do something useful with them. For a single-satellite mission, a simple file server might suffice. For a constellation, you need a processing pipeline that can handle multiple simultaneous passes, frame synchronization, error correction, and data distribution. I typically set up a Linux server running a custom GNU Radio flowgraph for demodulation and a Python backend for frame processing. The frames from LEO satellites often use CCSDS standards, so you’ll need to implement things like Reed-Solomon or LDPC decoding, virtual channel sorting, and packet extraction. Open-source libraries like gr-satellites can save you months of development if your satellite uses a common protocol.
Storage is another practical consideration. A single pass from a high-resolution Earth-observation satellite can dump 20 gigabytes of data. If you have 10 satellites and 6 passes each per day, that’s 1.2 terabytes daily. You need a RAID array with enough throughput to write that data in real time and enough capacity to hold it until it’s processed or forwarded. I use ZFS on a server with NVMe drives for the incoming buffer and spinning disks for longer-term storage. The buffer must handle the peak data rate, not the average. A 300 Mbps downlink needs a write speed of at least 400 Mbps to account for overhead and bursts.
Don’t forget about security. The ground station is a network-connected device, and a compromised server could allow an attacker to command your satellites. I isolate the ground station network from the corporate LAN with a firewall that only allows outbound connections to the mission control center. All command uplinks go through a separate, air-gapped computer that is physically disconnected when not in use. It’s a low-tech solution, but it works.

Site Selection and Environmental Hardening
The best antenna in the world is useless if it’s installed in the wrong place. You need a clear view of the sky down to your minimum operating elevation, which is typically 5 to 10 degrees for LEO. Trees, buildings, and hills create blockages that reduce your pass count. I use a theodolite or a drone with a camera to survey the horizon before committing to a site. Even a single tree that grows over time can shadow a key part of the sky. If you’re in an urban area, rooftop installations are common, but you must check the building’s structural load capacity and the landlord’s willingness to have a 2-meter dish bolted to the roof.
RF interference is the hidden killer. A ground station near a cell tower, airport radar, or even a busy highway can pick up enough noise to desensitize the receiver. I always do a site survey with a spectrum analyzer and a reference antenna before signing a lease. Look for intermittent signals too—a nearby factory might only operate during the day, but its welding equipment can generate broadband noise that wipes out your S-band downlink. If you can’t move the site, you may need to add bandpass filters or even a shielded enclosure around the antenna, though shielding a dish is mechanically awkward.
Weather protection goes beyond wind. In coastal areas, salt spray corrodes aluminum dishes and connectors within months. I specify marine-grade stainless steel hardware and apply a hydrophobic coating to the dish surface. In cold climates, ice buildup on the feed can detune it and add several dB of loss. A low-power heater on the feed horn and a radome over the entire antenna solve this, but the radome adds cost and slightly reduces gain. Weigh the downtime from ice storms against the radome investment. For most temperate sites, a simple drain hole in the feed cover prevents water accumulation and is enough.
Automation and Remote Operation
A ground station that requires an operator to sit in front of a screen for every pass is not scalable. You need a scheduler that reads TLEs, computes pass predictions, and commands the antenna, receiver, and data processing chain without human intervention. I’ve built schedulers using Python and the Skyfield library, which is more accurate than PyEphem for LEO propagation. The scheduler generates a daily pass list, checks for conflicts, and assigns priorities. A high-priority telemetry pass from a satellite with critical health data might preempt a routine payload downlink.
The scheduler must also handle failures gracefully. If the antenna rotator jams or the receiver loses lock, the system should log the error, notify an operator via email or SMS, and move on to the next pass. I use a state machine for each pass: idle, tracking, receiving, processing, and cleanup. Each state has a timeout, and if the timeout expires, the system resets and waits for the next pass. This prevents a single fault from hanging the entire station.
Remote access is essential for a distributed constellation. I set up a VPN tunnel from the ground station to the mission control center, with all data and commands flowing over that encrypted link. The local operator only needs to handle physical maintenance—clearing snow, fixing cables, replacing failed LNAs. Everything else can be done from a central operations desk. For stations in truly remote locations, like the Arctic or a desert, I add a Starlink or Iridium backup link so the station can phone home even if the primary internet connection fails.
Testing and Commissioning: The Sun, the Moon, and a Signal Generator
Before you point your dish at a satellite, you need to verify that the system works. I start with a sun pass. The sun is a strong, predictable noise source at microwave frequencies. By tracking the sun and measuring the increase in noise power, you can calculate the system G/T (gain-to-noise-temperature ratio). This is a fundamental figure of merit for any ground station. A G/T of 20 dB/K is decent for S-band LEO; 30 dB/K is excellent. If your measured G/T is significantly lower than your link budget predicted, you have a problem in the feed, LNA, or cable run.
Next, I use a signal generator and a test antenna to simulate a satellite pass. Place the test antenna a few hundred meters away, transmit a low-power signal with the same modulation and data rate as your satellite, and verify that your ground station can acquire, track, and demodulate it. This end-to-end test catches issues that a sun pass cannot, like incorrect polarization, demodulator configuration errors, or software bugs in the processing pipeline. I do this test at night to avoid interference and with the transmitter power set to produce the same signal level as the weakest expected satellite pass.
Finally, track a known satellite. There are plenty of amateur radio satellites, like the NOAA weather satellites or the FUNcube series, that transmit continuously and have published TLEs. Use one of these as your first real target. If you can receive and decode its telemetry, you have confidence that your station is ready for your own constellation. Document every step—antenna alignment, LNA gain, cable losses, G/T measurement, and test results. This documentation will be invaluable when something breaks two years later and you need to remember how the system was originally configured.
Frequently Asked Questions
What is the minimum dish size for a reliable LEO downlink?
It depends on the frequency, data rate, and satellite transmitter power. For a typical S-band downlink at 2.2 GHz with a satellite EIRP of 30 dBm and a data rate of 1 Mbps, a 1.2-meter dish with a good LNA can close the link with several dB of margin. If you move to X-band at 8 GHz with a 100 Mbps downlink, you’ll likely need a dish of 2.4 meters or larger. Always run a detailed link budget for your specific mission parameters before selecting the dish size.
Can I use a software-defined radio for both uplink and downlink?
Yes, but with caveats. Most SDRs are half-duplex, meaning they cannot transmit and receive simultaneously on different frequencies. For full-duplex operation, you need two SDRs or a full-duplex unit like the USRP N210. Also, the transmit power of most SDRs is low—typically 10 to 20 dBm—so you’ll need an external power amplifier for the uplink. Ensure the amplifier is linear enough for your modulation scheme; non-linear distortion can create spectral regrowth that violates your frequency license.
How do I protect the ground station from lightning?
Lightning protection is mandatory for any outdoor antenna. Install a lightning rod on a separate mast that is taller than the antenna and bonded to a proper grounding system. The antenna mount and all cable shields should also be grounded. Use coaxial surge protectors at the point where cables enter the building, and bond them to the same ground system. A single-point ground avoids voltage differentials during a strike. In high-lightning areas, I also install a fiber-optic link between the antenna and the shelter to completely isolate the electronics.
What is the typical cost of a small LEO ground station?
For a single-band S-band station with a 1.8-meter dish, rotator, LNA, downconverter, and SDR receiver, expect to spend between $15,000 and $30,000 for commercial off-the-shelf components. A dual-band S/X station with a 2.4-meter dish and higher-performance receivers can run $50,000 to $100,000. Phased-array systems start at around $50,000 for a basic S-band array and can exceed $200,000 for a multi-beam X-band system. These figures do not include site preparation, shelter, or ongoing maintenance.