PA8W Amateur Radio              

The RDF42 pseudo doppler radio direction finder kit,
pre-assembled and pre-programmed:

(Revised july 2020: added drilling plan for housing)
(Revised march 2020: disable auto-reset by adding 220nF, see wiring diagram)

This RDF42, developed at the end of 2018 is featuring:

All important settings stored in 32 presets.
One knob controls all settings, using the built-in or remote encoder/switch.
Soft commutation, +/- 1 degree processing accuracy.

An instruction video can be seen here:

or in Dutch:

This microcontroller based Radio Direction Finder is intended as a highly versatile tool for Radio Direction Finding.


Professional soft switching for highly reduced noise floor.
Works as a Pseudo Doppler as well as an Amplitude direction finder.
High sensitivity: Suitable for weak signals.
Accuracy in good conditions, using a UHF doppler array: 2,2 degrees averaged, or 1,5 degrees using a UHF Amplitude array.
Wide frequency range, 27MHz-1GHz depending on antenna array.
Several antenna array designs available.
Dual mode: Adaptive Averaging mode for mobile applications, Burst mode for catching very short transmissions down to 200mSec.
Quality weighing of measurements, using the best measurements to generate a stable long term average.
Automatic Adaptive Averaging continuously optimizes the amount of averaging in the current situation.
Best measurements are automatically sent over USB to computer in order to plot bearing lines on map. (mapping program available)
Clear 128x64 pixel display, perfectly readable even in bright daylight.
On screen symmetry indicator, gives instant insight of multipath distortions.
Bearing pelorus shows the last 4 measurements plus the long term average.
Digital display of long term average bearing and quality factor.
Automatic display freeze below set squelch point.
Elevation indicator for airborne sources. (not suitable for short signal bursts)
Antenna test mode.
Built-in audio amplifier with volume control.
Built-in speaker.
Runs on 12V power supply or car battery, consuming less than 200mA.
(11V up to 15V dc, Minus pole connected to mass)
Reverse polarity protected.

The RDF42 fundamentally works the same way as the RDF41 does, the big difference however is the possibility to adjust and store all important parameters.
This enables optimized performance in a very wide spectrum of direction finding activities.

For working principles please check the RDF40 and RDF41 page.

We'll zoom in now on the adjustable parameters of the RDF42.


This screenshot shows the standard operational screen: 
Below the model name you see the battery voltage (12.5V) and Preset3, the currently used preset.
Starting with version #190704, at power-up the RDF loads the last used Preset.

The next line says DF5 which is the current Digital Filter setting.
A3 means Averaging=3  and Q9 means measurement Quality 9, the highest possible Q.

In the left bottom corner there's the elevation indicator indicating 0 degrees above the horizon.
(Note that the elevation indicator works well on good, constant signals only.

In bold you see the number 35 which is the measured averaged Angle of Arrival of the received signal.
The pelorus shows the direction corresponding to that bearing.
The center white ball in the pelorus indicates a good, accepted measurement.
Ex is short for Export, meaning that the bearing is being exported to the USB serial bus.
And bottom center is the symmetry indicator, giving valuable information about the presence or absence of reflections.  The better the symmetry, the better the credibility of the measurement.

In this screen, turning the encoder knob will force a bearing export to USB serial, pushing the encoder knob will enter the Menu.

Starting 2021, an OVERLOAD warning may appear right above the bearing,
indicating that the input audio level is too high.

The Menu structure speaks for itself.

Simply turn the encoder knob to step through the options, and select one by pushing the same knob.

Then you can change the corresponding setting by turning the encoder knob and you get back to normal operation by pushing the knob again.

Below we will go through all menu options.

Note that a changed setting will be active immediately UNTIL the RDF is restarted.
(Which may occur when a serial connection to a computer gets plugged in!)

So, if you want the changed setting to stay active after power-up or reset you will first have to save the new settings in one of the 32 presets.

Let's start with Backlight intensity:
Backlight runs from 1 (dim) to 8 (bright)
Simply set a value by turning the encoder knob.
Doing that the number shfts its horizontal position on the screen so you get a feel for the number of options.
Backlight intensity 1 would be on the left side and 8 would be on the right.
Push the encoder knob to activate the chosen intensity and automatically return to normal operation.
Digital Filter:
Digital filter settling time runs from 0 (fast) to 7 (slow)
Lower settings are great for fast response but the RDF42 may act nerveous especially in mobile applications.
Also modulation on the received signal wil have a larger impact.
Higher settings do a much better job stabilizing the averaged bearing, ideal for mobile applications and on signals with high modulation levels.
Push the encoder knob to activate the chosen value and automatically return to normal operation.

Starting march 2019, I added an automatic mode to this menu.
Auto-filter will change the filter speed coupled to Adaptive Averaging, to further enhance this function.
Note that this Auto-filter feature is only improving performance on constant carrier signals.
On short signal pulses or pulsating signals this feature is useless.

Be sure to pick a low filter setting in Burst mode (= Averaging setting) for fastest response.
Export Q:
Runs from 0 to 9. (9=no automatic export)
Sets a threshold for measurements to be exported over USB.
Bearing Q needs to be 1 higher than the set threshold to be exported to the map.

Note that every export is indicated by the word "Ex"  in the bottom right corner of the normal operation screen.

You can always force a bearing export in the normal running mode simply by turning the encoder knob.
Export Window:
Runs from 1 to 20.
Sets the maximum deviation from the long term Average for measurements to be exported over USB.
Value 1 means that the latest measurement may only differ 1 degree from the Long Term Average to be exported on the map.
Runs from 0 to 8.
Sets the minimum Quality for measurements to be displayed and to have any impact on the Long Term Average.
Value 3 means that any measurement below Quality 3 will be totally ignored.
Averaging Mode:
Runs from 0 to 255 in increments of 5.
Sets the MAXIMUM amount of averaging of the Long Term Average.
Higher numbers will stabilize the reading and give better suppression of modulation but will also make it react slower to direction changes.
Note that -due to the Adaptive Averaging- actual Averaging will be automatically changed within the range
1 up to the set Maximum, depending on circumstances.

Averaging Mode set to 0 will switch the RDF42 to burst mode, with no averaging at all and using a special algorithm to catch very short transmissions, down to 1/5th of a second.
In Burst mode, the Elevation Indicator is not available.
Also, Export of a bearing will occur much more often.
Azimuth Calibration:
Runs from 0 to 359.
Sets the amount of degrees added to a measurement to make the outcome fit reality.
So, with any array orientation, you can have the RDF42 point into the right direction simply by adding the right amount of calibration degrees.
Elevation Calibration:
Runs from 0 to 32.

Elevation indicator depends on the level of the doppler tone and therefore it depends on the audio output level of your receiver and the audio gain setting on the RDF42 interface board.
Elevation Calibration enables you to make the Elevation indicator point to 0 degrees (horizon) for earthbound signals.
Try to achieve about 1 or 2 degrees elevation on an earthbound signal to prevent over-compensation.
Rotation Frequency:
Runs from 128 to 1020Hz in increments of 4.

Value 500 sets antenna rotation to 500 Hz, that's 500 cycles per second.
This is a good value for most NBFM communication receivers.

After changing this Rotation Frequency you need to re-calibrate Azimuth and Elevation, since a lot of parameters will be shifted.

In case of a 145MHz pseudo doppler array, 500 cycles per second will equal a rotational speed of more that 1000 meters per second. That's almost Mach 3, much faster than an F16 fighter jet can fly....
Antenna Test:

Stops antenna rotation.
Turning the encoder knob will step through all 4 antennas, so you can check proper antenna performance.
Also listening to a station will be easier because the whining of the doppler tone will be absent.

Reflections may cause the 4 antennas to show quite severe differences in field strength.
This is normal.

Save as Preset:

Runs from 1 to 32.
Stores all settings in EEPROM memory, so they are not lost after reset or power-up.
32 presets are available.

Starting with version #190704, at power-up the RDF loads the last used Preset.

Starting with version #200204, a 20-character text line is added to each Preset, so you can give a name or an explanatory text to each Preset.

When you have selected the right preset number, push the encoder knob to save.

Having done that, you will see a * cursor appear in the bottom left corner:

If you push the knob again you will skip the text editing mode and return to normal operation.

Instead, turning the knob will put the cursor beneath the text. Pushing the knob now will enter editing mode for the character right above the cursor.

You will see the cursor change into a character and turning the knob you can scroll through all available characters.
Once you see the right character for that particular position, simply pust the knob to save the chosen character to that text position.

Available characters are:
space ! " # $ % & ' ( ) + , / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

To get back to normal operation simply put the cursor in the extreme left position and push the knob once more.

Load Preset:

Runs from 1 to 32.
Loads all settings from EEPROM memory.
32 presets are available.

Starting with version #190704, at power-up the RDF loads the last used Preset.
Starting with version #200204, a 20-character text line is added to each Preset, so you can give a name or an explanatory text to each Preset.
Housing considerations:

A nice enclosure for the RDF is Conrad # 523232, measuring 103x56x168mm, offering enough room for all parts:

Here's a drilling plan for the front and back of the RDF42 housing:

If you want to send bearings to a computer you should  keep the on-board USB connector close to the right hand side of the housing,
so the USB is accessable through an opening in the side panel. I simply drilled a 20mm hole in the side for that purpose.

The volume control only controls the loudspeaker volume.
In case you want to change the audio level into the RDF42 you can adjust the small blue trimmer on the interface board.
(At the component side)

The 12V dc input is protected against reverse polarity.
The voltage should be somewhere between 11V and 15V
The current draw will be between 100mA and 140mA depending on backlight level.
So a 200mA 12V dc power supply  will do fine. Or the 12V of your car battery.
Or a 12V gel battery used in emergency lighting units. (They are quite cheap second hand since they have to be changed every 2 years or so)
If you want to use a tiny lightweight battery you could pick a 3-cell Lithium-Polymer pack. A 1200mAH version would run the RDF42 for 8 hours or so.

Internally the RDF runs on 12V and 5V.
(Don't use the on-board dc socket of the Arduino!)

The antenna control outputs speak for themselves.
You need a cable and connector system of at least 5 conductors: 4 antenna control signals plus ground.
General current will be around 10mA so thin signal cable (cat-5) will do fine for cable runs up to 30m.
4 wires for the antennas, and the rest of the wires for ground.
The antennas themselves have to turn/run clockwise looking down on them.
If you discover that you hooked them up the other way around you just have to swap antenna 1 and 3  (or 2 and 4) to get it right.

If you really manage to mix them up you will see erratic behavior of the RDF...

The optional external encoder input uses a 4 pin DIN connector.
This input enables you to have a second encoder/switch in a convenient location like near the arm rest of your car.
The internal encoder will still be active so you can change your settings with both encoders.

Display contrast may be adjusted by a tiny trimmer at the back of the display.
Be very careful adjusting this tiny part...

The completely assembled,  programmed and tested kit comes with audio jack, speaker, potentiometer and encoder/switch as shown here:

The RDF42 resets as soon as a serial connection with a computer (running RDF-Mapper) is made.
This can be disabled by adding a 220nF capacitor according to below diagram.

Starting April 2020, this capacitor is added by default.

The above picture shows how to connect the RDF42.
First remove the Arduino board, and you will see the PCB's copper side as illustrated.
Starting juli 2020 some minor modifications were made (RDF42b), and the following picture can be used to make the right connections:


I use the following connector standards when I build a RDF42 in a housing:
For DC power I use a 5,5/2,1 mm bus, center pin is +12V.
Audio input: 6,3mm bus, tip is hot.
Antenna control: 5-pin DIN bus, antennas wired as in below picture. (antennas are always numbered clockwise, looking down on the array)
Remote encoder bus: 4-pin DIN bus, wired as in below picture.
Depending on the specific encoder model, the control may feel "inverted".
In that case simply swap the D2 and D12 wires on the encoder to solve that.

The following table gives a good starting point for your personal settings:

Mobile work, constant signal Fixed site, constant signal Hunting intermittent signals very short bursts
Backlight Depends on light conditions Depends on light conditions Depends on light conditions Depends on light conditions
Digital Filter Auto Auto or 4-7 3 1
Export Q 4 4 3 3
Export Window 1 1 1 1
Q-Squelch 2 2 2 2
Averaging Mode max 255 max 255 max 255 0 = Burst Mode
Azimuth Calibration Depends on array orientation,
0 degrees should be the front of the car.
Depends on array orientation,
0 degrees should be north.
Depends on array orientation Depends on array orientation
Elevation Calibration Approx. 13, depends on receiver output Approx. 13, depends on receiver output N/A N/A
Rotation Frequency 500Hz 500Hz 500Hz 500Hz
Antenna Test N/A N/A N/A N/A
Save as Preset N/A N/A N/A N/A
Load Preset N/A N/A N/A N/A

System testing:

For testing purpuses you may take the antenna driver outputs as testing signals.
Use a 220k series resistor to feed an antenna driver signal into the audio input.
If you calibrate to 0 degrees on one driver output, the others will show 90, 180 and 270 degrees plus or minus 2 degrees averaged.
If this is the case you know the RDF42 itself works like a charm.
Even if one of the antenna drivers should have a 4 degrees error that would pose no problem:
When hunting a normal signal, the error would be smeered out over the full circle and therefore have a 1 degree impact on the bearing at max.
That's also true for a comparable deviation in one of 4 antennas.

73, Wil.