PA8W Amateur Radio

Wil, PA8W,  E-mail:                  

The RDF42 pseudo doppler radio direction finder;

This RDF42 is my latest development, 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 my new development platform model, intended as a highly versatile tool for further research in the field of 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. 
Wide frequency range, 30MHz-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.
Quality weighing of measurements, using the best measurements to generate a stable long time 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 showing the four last measurements plus long time average.
Digital display of long time average 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.
(8V up to 14V 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 see 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.8V) and P1, which stands for Preset 1.
Preset 1 is the default preset loaded at power-up.

The next line says C359 which is the azimuth calibration setting.
A255 means Averaging=255  and Q8 means measurement Quality 8.

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

In bold you see the number 197,  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.

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

The Menu structure speaks for itself.

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

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

Below we will step 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 rotating 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 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 intensity 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.

Be sure to pick a low filter setting in Burst mode, for fastest response.

Export Q:
Runs from 0 to 8.
Sets a threshold for measurements to be exported over USB.
Value 4 prevents measurements with Quality 3 or lower to be exported on 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 rotating the encoder knob.

Export Window:
Runs from 1 to 20.
Sets the maximum deviation from the long time Average for measurements to be exported over USB.
Value 1 means that a measurement may only differ 1 degree from the Long Time 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 Time 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 Time Average.
Higher numbers will stabilize the RDF42 but will also make it slower in response 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/10th 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 504 sets antenna rotation to 504 Hz, that's 504 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, 504 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 can fly....

Antenna Test:

Stops antenna rotation.
Rotating 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.

After power-up Preset 1 is used as default.

Load Preset:

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

After power-up Preset 1 is used as default.

Housing considerations:

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

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, visible after unscrewing the display board)

The 12V dc input is protected against reverse polarity.
The voltage should be somewhere between 11V and 14V (15V absolute maximum)
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 willl 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 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 above picture shows how to connect the RDF42.
First remove the Arduino board, and you will see the PCB's copper side as illustrated.

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.

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.
Read the calculated bearing on one driver output, the others will show 90, 180 and 270 degrees shift compared to the first one. (typically plus or minus 1 degree) 
If this is the case you know the RDF42 works like a charm.

73, Wil.