Earth-Moon-Earth Communications

This page shows my experiments in EME, or moonbounce, which is perhaps the most challenging (and exciting) field of radio to build and get working. I gained much useful experience designing, building and validating the theoretical system calculations. It is based on experiences with my EME station at M0LNB, so is just one example of how to do it. My system uses a 2x2 Yagi-Uda array; much better EIRP and G/T can be obtained with larger arrays or parabolic dishes.

EME: Moon Planning
EME: Setup
EME: System Design
EME: Theoretical Performance
EME: Practical Performance
EME: 23cm QSOs
EME: Echo
EME: Rotator
EME: Antenna
EME: Power Amplifier
EME: Radio - IC-9700
EME: Sequencer
EME: Software - PSTrotator
EME: Software - WSJT-X
EME: Software - QMAP
EME: Q65 Modulation and Coding
EME: The Propagation Channel
EME: Power Meter

EME: Moon Planning

Go to Top

My EME Link Calculator was used to check when the moon was near perigee and at suitable elevation.

EME: Setup

Go to Top

We live near London and our garden is limited in size; we also have buildings and trees all around us. For these reasons I chose a 2x2 array of 36 element Yagi-Uda antennas for my 23cm EME setup. I can then raise the array a bit higher which would be more difficult with a dish. The antennas and 4-way combiner are from Antennas-Amplifier, the relay is a SSB/Tohtsu AS3000, and the LNA is from Kuhne.

EME Array

2x2x36 Yagi-Uda Array

EME: System Design

Go to Top

RF Block Diagram

RF connections

EME: Theoretical Performance

Go to Top

My EME Link Calculator was used to estimate the SNR during an EME QSO.

Good agreement (+/- 1dB) was obtained between theory and practice.

EME: Practical Performance

Go to Top

The following plot was captured using the software SkyScanner and processed in Matlab. The measurement is the ratio of noise with the antenna pointing at the sun to the noise in a cold part of the sky. A Y-factor of 7.4dB was achieved. This is an important performance validation of the receive system.

Measured sun noise

Sun Noise

EME: 23cm QSOs

Go to Top

Here are the QSO made using Q65-60C or Q65-30B on 23cm. (Not used Q65-120D due to PA limitations.) Contacts: >3m dish at 300W under nominal conditions; 1m dish requires favourable geometry/conditions.

Callsign SNR rpt sent SNR rpt rcvd Dish size TX power Country Date
AG7CM -22dB -23dB 3m 500W United States 14 Sep 2025
DF3RU -16dB -15dB 6m 800W Germany 10 Nov 2024
DF3RU -11dB -12dB 6m 750W Germany 31 Dec 2025
DF7KB -20dB -18dB 4.8m 300W Germany 11 Nov 2024
DG5CST -14dB -10dB 10m 250W Germany 10 Nov 2024
DL1AT -22dB -22dB 3.06m 500W Germany 12 Nov 2024
DL3EBJ -16dB -16dB 4.8m 400W Germany 8 Nov 2025
DL7UDA -18dB -19dB 4.5m 400W Germany 8 Nov 2025
EA8DBM -19dB -22dB 6m 500W Canary Islands 3 Jan 2026
F4KLO -15dB -16dB 10m 60W France 11 Nov 2024
G0LBK -24dB -24dB 4m 250W England 10 Nov 2024
G4CCH -15dB -12dB 5.4m 500W England 11 Nov 2024
G4YTL -24dB -24dB 3m 200W England 11 Nov 2024
GM0PJD -23dB -20dB 2.4m 150W Scotland 13 Sep 2025
GM0PJD -19dB -18dB 3.8m 400W Scotland 5 Jan 2026
HB9Q -5dB -14dB 10m 1kW Switzerland 12 Oct 2025
HB9Q -9dB -13dB 10m 1kW Switzerland 13 Sep 2025
HG5BMU -22dB -26dB 3.6m 150W Hungary 4 Jan 2026
I0NAA -25dB -20dB 5m 250W Italy 18 Nov 2024
I2FAK -17dB -20dB 4m 500W Italy 15 Aug 2025
IK2DDR -23dB -19dB 3.7m 250W Italy 10 Nov 2024
IK2DDR -19dB -15dB 3.7m 250W Italy 31 Dec 2025
IK2DDR -17dB -15dB 3.7m 250W Italy 2 Jan 2026
IK3COJ -27dB -21dB 4.1m 300W Italy 10 Nov 2024
IK5VLS -20dB -17dB 4m 400W Italy 8 Nov 2025
IK5VLS -20dB -20dB 4m 400W Italy 11 Oct 2025
IK7EZN -24dB -20dB 3.4m 200W Italy 9 Nov 2024
IQ2DB -24dB -20dB 3m 500W Italy 9 Nov 2024
IQ2DB -19dB -24dB 3m 500W Italy 31 Dec 2025
IZ8GGF -17dB -18dB 3m 400W Italy 31 Dec 2025
IZ8GGF -19dB -17dB 3m 400W Italy 6 Jan 2026
JA4LJB -18dB -17dB Japan 4 Jan 2026
JJ3JHP -22dB -23dB 4.5m 500W Japan 12 Oct 2025
JQ3JWF -19dB -19dB 4.5m 500W Japan 12 Oct 2025
JS6UJS -20dB -16dB Japan 4 Jan 2026
K0PRT/
W6BVB
-13dB -9dB 18.2m 350W United States 12 Oct 2025
KA1GT -23dB -21dB 3m 200W United States 18 Nov 2024
KA1GT -20dB -19dB 3m 230W United States 3 Jan 2026
KB2SA -25dB -28dB 1.0m 900W United States 5 Jan 2026
NC1I -10dB -11dB 6.1m 1kW United States 14 Sep 2025
NC1I -10dB -13dB 6.1m 1kW United States 13 Nov 2024
OE1UGA -16dB -18dB Austria 15 Nov 2024
OE3JPC -24dB -24dB 2x56el 400W Austria 4 Jan 2026
OE5JFL -15dB -15dB 7.3m 400W Austria 13 Sep 2025
OE9ERC -9dB -9dB 11m 2kW Austria 8 Nov 2025
OE9ERC -9dB -11dB 11m 2kW Austria 11 Sep 2025
OE9ERC -9dB -9dB 11m 2kW Austria 15 Aug 2025
OH1LRY -15dB -13dB 8m 150W Finland 12 Oct 2025
OH3LWP -19dB -22dB 4m 50W Finland 17 Oct 2025
OK1DFC -14dB -11dB 8m 1.2kW Czech Republic 11 Oct 2025
OK1KKD -17dB -18dB 5m 500W Czech Republic 11 Oct 2025
OK1UGA -13dB -16dB 6m 350W Czech Republic 15 Aug 2025
OK1USW -22dB -20dB 3.4m 300W Czech Republic 8 Nov 2025
OK2DL -11dB -15dB 6m 1kW Czech Republic 11 Oct 2025
OK2DL -14dB -18dB 6m 1kW Czech Republic 18 Nov 2024
ON5GS -18dB -16dB 6m 200W Belgium 14 Sep 2025
OZ5TG -22dB -21dB 4.3m 125W Denmark 4 Jan 2026
OZ5TG -21dB -22dB 4.3m 125W Denmark 5 Jan 2026
PA0PLY -23dB -21dB 3m 300W Netherlands 11 Oct 2025
PA0TBR -17dB -19dB 3.5m 300W Netherlands 31 Dec 2025
PA1PS -21dB -23dB 3m 300W Netherlands 12 Nov 2024
PA3DZL -19dB -18dB 4m 800W Netherlands 13 Sep 2025
PA3EXV -19dB -19dB 3.55m 400W Netherlands 12 Oct 2025
PA3EXV -23dB -20dB 3.55m 400W Netherlands 10 Nov 2024
PA3FXB -20dB -20dB 2.9m 300W Netherlands 12 Nov 2024
PE1LWT -21dB -22dB 3m 180W Netherlands 12 Nov 2024
PY2BS -18dB -20dB 5.1m 600W Brazil 12 Nov 2024
RD4D -9dB -12dB 10m 1kW Russia 8 Nov 2025
RD4D -15dB -16dB 10m 1kW Russia 11 Oct 2025
RJ3DC -24dB -24dB 3.05m 300W Russia 2 Jan 2026
RW9OG -28dB -23dB 3.05m 150W Russia 4 Jan 2026
RX3DR -23dB -18dB 3m 150W Russia 8 Nov 2025
RX3DR -21dB -18dB 3m 150W Russia 4 Jan 2026
SA6BUN -19dB -17dB 5m 1kW Sweden 11 Oct 2025
SP5GDM -23dB -21dB 3.7m 500W Poland 9 Nov 2024
SP5GDM -19dB -18dB 3.7m 800W Poland 3 Jan 2026
UA3PTW -7dB -11dB 8m 1000W Russia 2 Jan 2026
UA4AAV -17dB -21dB 4.7m 1000W Russia 8 Nov 2025
UA9FAD -26dB -21dB 3m 100W Russia 11 Nov 2024
VK2JDS -21dB -17dB 5m 125W Australia 3 Jan 2026

EME: Echo

Go to Top

My EME Link Calculator was used to estimate the echo SNR with my setup.

Good agreement (+/- 1dB) was obtained between theory and practice.

WSJT-X Echo

EME: Rotator

Go to Top

When I was tracking satellites the Yaesu G5500DC rotor was good enough but for EME, something more accurate was needed so I bought an Alfa SPID RAS HR rotator. The thinking was it didn't need to be heavy duty but did need to be accurate, to within a degree. I also bought the MD-02 controller and PS-02 power supply. Sadly though there were problems with the sensor waveform and the rotor would lose sync with the controller in elevation. After reading a lot online, there were a number of possible causes: noise pickup on the sensor cables or not enough drive current from the sensors. Looking inside, my new unit did include the MOSFET sensor drivers, which was good. So I bought three separate sensor cables and followed the instructions provided by rfhamdesign. I thought that would fix it but no! So I investigated further and took my oscilloscope to the antenna. The waveform coming from the elevation sensor was garbage. During the time I was in constant contact with DX Shop and Spid, who were both very helpful. Anyway, after replacing the sensor unit, the problem was fixed. Seems I have been quite unlucky with buying new ham radio equipment: first the power amplifier and then the rotator.

SPID RAS HR SPID RAS HR
SPID RAS HR SPID RAS HR
SPID RAS HR SPID RAS HR

Optimising for Hall Sensor RFI pickup during TX and loss of rotator sync with MD-02

Using the AS1 Advanced Sequencer, I connected a PTT relay switch in series with Sel 4 switch and connected this between the MD-02 controller electronics +15V line and the PSU. The MD-02 controller electronics power is fully OFF during Transmitting cycles OR if I need to kill the controller power for another reason. If power is killed during a PSTrotator update, the antenna continues on its way after boot up without losing sync. So it seems to work! Note I measured the current of the MD-02 electronics to be 0.5A so well within the AS1 relay rating.

Near-field coupling is significant at ~0.3 m separation; mitigation focused on sensor wiring and controller power sequencing.

Sequencer Setup Block Diagram

EME: Antenna

Go to Top

The Yagi-Uda antenna is the 23cm36DXAP from Antennas-Amplifiers. Four of them are arranged in a quad separated by 650mm, and connected with a 4-way combiner. Each antenna gain is 20.4dBi and the frequency range: 1290 – 1310 MHz, with a half-power beamwidth of 18 degrees.

Fig: Antennas after assembly

antenna

The combined 2x2 antenna gain is simulated as follows:

  • 590H/580V = 25.55dBi (F/S -16.00dB)
  • 650H/640V = 26.00dBi (F/S -12.88dB)
  • 700H/690V = 26.22dBi (F/S -10.89dB)

Here are the cuts in Azimuth (left) and Elevation (right) for antenna spacings (mm) of 590H/580V (top), 650H/640V (mid), 700H/690V (bot):

2x2 array 2x2 array
2x2 array 2x2 array
2x2 array 2x2 array

Plots provided by Goran YU1CF of Antennas-Amplifiers.

EME: Power Amplifier

Go to Top

Originally I used a Gemini 23 PA from DX Shop in the UK, and I made quite a lot of QSO with that power amplifier; however it would often temperature trip during 60 second bursts of Q65 modulation so I had to back it off to about 120W at the PA output. Four times the power was needed in my eme setup, so I bought an HLV-523 500W 23cm PA from BEKO Electronics in Germany.

Sadly, during 60 second bursts of 400W power some strange noises came from inside the PA, so I powered down, opened it up and investigated. There was arcing at the cable interface at the output of the power block which began at about 200W. The semi-flexible coax was 0.114" and rated at under 300W (For and 500W power amplifier!). After replacing with 0.25" coax, the problem was solved.

The photos below show the thinner cable with black soot from the arcing and the new cable that solved the problem.

PA
PA PA
PA PA

EME: Radio - IC-9700

Go to Top

This is how I configure the Icom IC-9700 to work with WSJT-X for EME.

ic-9700
ic-9700 ic-9700
ic-9700 ic-9700
ic-9700 ic-9700
ic-9700 ic-9700

Note the Leo Bodnar GPS output is around 10dBm which is too high for the IC-9700. Put a 20dB attenuator in between to keep the input level at -10dBm which is recommended level for this rig.

EME: Sequencer

Go to Top

For EME it is important to sequence the radio, power amplifier, low noise amplifier and any relays. During receive, we want the radio to be in RX mode, the relays to pass the antenna signal to the LNA, which must be switched on, of course, and during transmit, we need the radio to be in TX mode, the relays to pass the power amplifier signal to the antennas and the PA to be correctly biased and ready to accept the signal from the radio, of course. But more than that, it is very important that the radio and power amplifier transmit into a good load (say < -20dB return loss), especially between TX and RX and between RX and TX. This is where we need a sequencer. Some PAs offer inbuilt sequencing, but the literature does not usually make it clear exactly when things happen. This is why you need a stand-alone sequencer.

Here is a block diagram showing the connections, and some videos showing the AS1 in operation; the first video is full speed when using WSJT-X ECHO and the second video has all timers set to 1000ms so you can see the sequencing of the LEDs. I am delighted with this purchase.

Sequencer Setup Block Diagram

Sequencer Setup Block Diagram

WSJT-X ECHO with Timers set correctly

Keying the radio (no RF) with 1000ms timers

Another way to check the PA will see a good S11 looking towards the antenna from the PA TX connector, is with a VNA. Set the VNA to plot S11_dB vs Time at 1.3GHz and listen to the AS1 relays. Check that during TX the PA will see a good VSWR load.

S11 vs Time at 1.3GHz

EME: Software - PSTrotator

Go to Top

PSTrotator is a great low cost software program packed with functionality for rig control and rotator control for satellites and of course the moon. Nowadays I use it for moon rotator tracking only. In simple terms it does the maths to calculate rotor azimuth and elevation pointing direction based on its knowledge of where your antenna is and where the moon is, and updates in near real time. The azimuth and elevation pointing direction is sent to the MD-02 rotator controller which points the antenna. In theory it is possible to obtain an accuracy of 0.1~0.2 degree accuracy from my setup, but this does require some calibration. My antenna has a half-power beamwidth of +/- 5 degrees, so I am aiming for an accuracy of +/- 1 degrees.

EME: Software - WSJT-X

Go to Top

This is how I configure WSJT-X to work with the IC-9700 for EME. The baud rate and RS232 config needs to match the radio setting and also the properties of the COM port under Device Manager. These screenshots should get you up and running and on the air. We can check the setup by pressing the Test CAT button and the Test PTT button.

WSJTx WSJTx
WSJTx WSJTx
WSJTx WSJTx
WSJTx WSJTx
WSJTx

Optimisation

To get the best performance from WSJT-X, there are some important settings. Firstly, if the HB9Q chatroom says a sked will be on say "1296.088 CFOM 1500", we want the DX station to arrive close to 1500Hz in our display and we want the DX station to see us on 1500Hz. In this way "F Tol" can be reduced to 100Hz or even 50Hz and decoding speed and sensitivity improved. We do this by putting the rig in SPLIT operation, where WSJT-X controls the rig for Doppler in both RX and TX. The rig's dial will shift (SelfDop / 2) from the Sked frequency in one direction for RX and the other direction for TX. The arranged Sked frequency is shown in the Astronomical Data window and can be adjusted with the rig's dial when pressing Ctrl first or type say 88k in the box in the main window where it says 23cm (or whatever you're using). The Sked frequency is what would be seen by a spectrum analyser on the moon and is the same for RX and TX. Let WSJT-X control the rig for Doppler correction.

To get the best decoding sensitivity from WSJT-X, we can do the following: (1) F Tol to 100Hz or 50Hz (2) Type DX Call and DX Grid in the boxes (3) Deep decoding (possibly normal better?) (4) Averaging / clear average after decode (5) Manually "Clear Avg" before decoding. Typically we use Q65-30B, Q65-60C then Q65-120D in order of increasing sensitivity for 23cm.

EME: Software - QMAP

Go to Top

QMAP is useful because you can view 90kHz of spectrum at the same time and decode over the whole band, albeit with 2dB reduction in sensitivity. Usually you know what USB dial frequency to tune to using the messages on HB9Q, but sometimes it is useful to see all the signals on the band, and then select the frequency of interest in WSJT-X.

As shown in the block diagram above, I split the RX signal before the PA input and route it to a SDRplay RSPdx tuned to 1296.080MHz. Using SDR Console to read the RSPdx, it is possible to output UDP packets in a form required for the QMAP software. QMAP is an executable that comes packaged with WSJT-X. I run SDR Console and QMAP on a separate laptop.

qmap

EME: Q65 Modulation and Coding

Go to Top

Coming soon

EME: The Propagation Channel

Go to Top

Coming soon

EME: Power Meter

Go to Top

I use a power meter from moonbounce.dk to monitor the TX power at the PA output and the reflected power, hence the SWR. There are two parts: a directional coupler that sits inline with the TX output, and a power meter / display unit.

coupler
directivity