Tag Archives: Foxhunting

Sleeve Dipole for 80 m Fox Hunting Transmitters

Placing the ground radials of the monopole antennas usually used with 80 m fox hunting (radio orienteering) transmitters such that the runners do not risk getting entangled in them is time consuming. So it would be good if it were possible to eliminate these radials by instead using dipole antennas.

There is a design published on Open ARDF for such a sleeve dipole. It uses a coax to feed the signal to the center of the antenna and has an additional sleeve on this coax as the bottom element of the dipole. At first I intended to build this design, but it turns out that it is hard to get the required toroids from Amidon (at least for me), the additional sleeve or alternatively a triax cable is quite expensive and I also did not fully agree with all the design decisions of this antenna. But it inspired me to develop something similar, but different.

The design I came up with is shown below.

Figure 1. Schematic antenna design. The parts in the blue box sits in the middle of the antenna while the parts in the red box are at the bottom.

I opted for using a shielded 2-conductor cable (LIYCYP1X2X1.00, sold by TME) as the bottom part of the antenna and thus to feed the signal differentially to the center. I also discarded the 470 pF silver mica capacitor, which reduces the required matching inductance, but increases the amount of current flowing through the inductor and capacitor. Instead I just used a 31 µH inductor in series with each antenna element and a 1:4 (impedance ratio) step-up transformer to feed the matching network. Both of these were empirically determined after measuring the impedance of an antenna hung next to the trunk of trees. Theory says the inductance should be more than twice as high and the impedance ratio different, but the tree has a large effect on the antenna impedance and forces us to use values like these for good matching.

Another change from the Open ARDF design is that I moved the tuning inductor to the bottom where it can be easily reached after hanging the antenna in a tree. The tuning ideally needs to be done after the antenna hangs in a specific way in a specific tree, so having the tuning knob 4 m up in the air is not optimal. Tuning can be accomplished by measuring the antenn using e.g. a LiteVNA or similar, or maybe the transmitter has a feature to measure the amount of signal that is reflected back from the antenna.

Instead of using the mechanism of a lip balm tube, I designed and 3D-printed a coil former. 12 turns of 0.6 mm copper wire gives an inductance range of 1 – 4.4 µH. See below.

Figure 2. Trimmable inductor using a 4061287011 ferrite rod.

The threads are M10 and with a little grease they run smoothly while staying put when left alone.

The main matching inductors are wound as 19 turns on 5961004921 cores. To ease the winding and ensure consistent results, I designed a jagged washer with a notch for each turn. There are 24 notches, so 5 should be left without a wire turn when 19 turns are placed on the toroid. See below.

Figure 3. The main matching inductors. 19 turns on 5961004921 cores with the assistance of a 3D-printed washer with 24 notches.

The transformer at the bottom of the antenna converts the single-ended signal from the transmitter to a differential signal suitable for the pair of wires in the cable and also functions as a choke that prevents the antenna from coupling strongly to the transmitter and its cable. The Open ARDF design does not have such a choke, so there the transmitter and the cable to the antenna form uncontrolled parts of the lower element of the antenna.

Both transformers are wound on 5943000221 cores. The lower one has 6+6 turns (0.4 mm wire) while the one at the center has 6+12 turns (0.4 and 0.25 mm wire respectively).

To help with the build, I designed two simple 2-layer PCBs. The gerbers can be downloaded via links below. The PCBs fit inside 32 mm sewage pipes that serve as weather proofing.

Figure 4. Assembly drawings (top and bottom) and copper patterns (top and bottom) for the board at the bottom of the antenna. None of the capacitors should be mounted.

Figure 5. Assembly drawings (top and bottom) and copper patterns (top and bottom) for the board at the middle of the antenna.None of the capacitors should be mounted.

I also 3D-printed several other parts for the design, like strain reliefs, parts helping to hold the matching inductors, “funnels” to seal between the cables and top of the pipes and a dust cap for the BNC connector. The funnels and dust cap should be printed using flex material.

Figure 6. Top side of the board at the bottom end of the antenna, showing the 1:1 transformer.

Figure 7. Bottom side of the board at the bottom end of the antenna, showing the adjustable inductor.

Figure 8. Top side of the board at the center of the antenna, showing the 1:4 transformer and one of the matching coils.

Figure 9. Bottom side of the board at the center of the antenna, showing the other matching coil.

Figure 10. The two PCBAs enclosed in 32 mm sewage pipes.

All 3D models can be downloaded via a link below.

This antenna seems to be about as efficient as a normal 6 m tall monopole according to preliminary tests, but is much quicker to put up and take down. It does however require a transmitter made to drive a 50-ohm load. Many existing fox hunting transmitters might have built in matching networks for monopoles and such outputs are not a good match for this antenna. If a transmitter like that is to be used with this sleeve dipole, the matching network in the transmitter must first be removed or redesigned.

Zip-file with the 3D-models:

https://axotron.se/blog/wp-content/uploads/2026/08/Sleeve-dipole-3D-parts.zip

Zip-file with the gerbers for the lower board:

https://axotron.se/blog/wp-content/uploads/2026/08/Antenna-Balun-C_PCB_package.zip

Zip-file with the gerbers for the board at the center of the antenna:

https://axotron.se/blog/wp-content/uploads/2026/08/Antenna-Match-C_PCB_package.zip

FoxScope 2m – 144 MHz ARDF Receiver – Part 6 – Usage

By Per Magnusson, SA5BYZ

This is the sixth part in the article series about the FoxScope 2m ARDF receiver and describes how it is used. It is assumed the reader knows how radio direction finding in general is done on the 2 m band.

The receiver has an alphanumeric LCD, a rotary encoder with a built-in push button and a membrane keyboard with four keys.

The LCD can show four lines of text, but it can also merge two lines into one, forming a row with twice as tall characters. This mode is used on the main screen to make the most important information (received signal strength) more salient. It is not used in the menu system.

The rotary encoder is used to e.g. set the gain, set the frequency and navigate in the menu system. The four buttons are mostly used as quick-access function keys for various features.

Feature Overview

The software features include:

  • Up to 9 pre-programmed frequencies
  • Quick cycling between pre-programmed frequencies
  • Audio RSSI (received signal strength indicator), helping to pinpoint the precise direction in which the signal is strongest
  • Numerical RSSI on the screen (independent of gain setting)
  • Numerical max RSSI of the previous fox
  • AGC, activated by a button press
  • Real time clock
  • Audio beeps at selectable positions in the transmit cycle, e.g. at 30 s and 50 s
  • Indication of which fox should currently be transmitting
  • Indication of which pen color to use for the current fox
  • Battery indicator

Display Overview

The most common display state during a race is shown below with annotations explaining the various items.

During a race, one is more or less exclusively in the display state above where the gain is adjustable by the rotary encoder and the line with the gain and the current RSSI are at double height. The following information is shown:

  • The blinking block cursor indicates that the gain setting is activated.
  • The gain is set to 30 dB in this case
  • RSSI is in this case 9.0 dB
  • The R at the end of the first row indicates that Audio RSSI is enabled
  • The frequency is 144.7375 MHz
  • The peak RSSI during the previous transmit cycle was 13.5 dB
  • The battery is close to fully charged
  • The time is 15:18:38
  • Fox number 4 should be transmitting
  • The pen color for this fox is yellow

One might have expected a distance estimate in meters rather than a dB RSSI reading. I have so far avoided to implement that conversion in this receiver (I have it on my 80 m receivers) mainly because at 2 m, there are factors (mostly terrain) that very significantly affect the signal strength, so a distance reading becomes very unreliable in many cases. So, I think it is better to learn how to convert the dB reading to an idea of the distance, taking the terrain into account.

Here are some very rough guidelines for what RSSI readings might mean in terms of distance when using typical transmitters:

  • 90 dB, you are standing in/on/under the antenna
  • 80 dB, a few tens of meters from the antenna
  • 60-70 dB, you might be able to run to the fox in one or two minutes
  • 40 dB, on the order of 1 km left, or the terrain is blocking the signal

Setting the Gain

While the gain item is selected (blinking block cursor at the top left of the screen), the gain can be modified by rotating the encoder knob. The action is accelerated, so quick rotation results in progressively larger gain steps being taken, while slow rotation keeps the gain steps small.

In practice, this method of setting the gain usually only has to be used when making small adjustments. To quickly adapt to the change in signal strength when one fox stops transmitting and another one starts, it is much more effective to press button 1 for “auto gain”. Key 1 may or may not also be conveniently available as an extra button reachable by the thumb while still holding the handle. This way of adjusting the gain saves valuable time.

Audio RSSI

The main lobe of a 3-element Yagi or other reasonable antenna used in ARDF is not particularly narrow. Instead, the peak is rather flat and it can be hard to determine the precise direction of the maximum by trying to listen to changes in volume on the order of a dB. But the software can easily discern such small changes and can help.

The audio RSSI works by translating the signal strength to a tone with a pitch (frequency) that depends on the signal strength. This tone is added to the normal received audio, but is often at a significantly different frequency, making it possible to discern the two.

It turns out that it is much easier for the human ear to pick out small changes in pitch compared to small changes in volume. The audio RSSI tone depends on the amplified signal, such that a higher gain setting results in a higher pitch. There is also an additional feature that there is a sudden jump upwards in pitch when the signal reaches a certain threshold. By adjusting the gain such that this jump occurs just at the tip of the antenna lobe, it becomes relatively easy to find the precise direction of the maximum signal.

Pressing the auto-gain button while the antenna is pointed approximately towards the maximum, sets the gain very close to this ideal gain setting. One may have to make a fine adjustment, either by pressing the button again with the antenna in a slightly different direction, or by adjusting the gain by a dB or maybe two by rotating the knob.

If this feature is not desired, it can be turned off by holding the key 1 down for at least one second. It can then be re-enabled by another long press on key 1.

Navigating Between Functions

To access other features than setting the gain, one clicks on the encoder and the block cursor changes to an underline.

Another thing that happens is that the bottom row changes from displaying the time and which fox is transmitting, to show what the functions of the four membrane keys are.

The four keys have the following functions in this state:

  • Key 1, Auto Gain, as explained above. Holding this button for more than 1 second toggles audio RSSI, which is indicated in the display by the R at the top right changing to an x.
  • Key 2, IF bandwidth, cycles between an IF bandwidth of 21 kHz, 6 kHz and 3 kHz. Lower bandwidth means lower noise floor, but also that the frequency setting must be closer to the actual frequency of the fox. The bandwidth setting affects the step size when manually adjusting the frequency. This feature is rarely needed, but could be useful if some fox is particularly weak.
  • Key 3, cycle between pre-programmed frequencies. Frequency 1 of 2 is active in the photo above.
  • Key 4, activate the gain setting and toggle between showing time or key labels on the bottom row.

At this point, rotation of the knob moves between items on the screen. One can e.g. move one step to the frequency setting:

Here the underline cursor is at the beginning of the frequency. To change the frequency, one has to click on the knob to select the current item:

This makes the second row taller at the expense of the first row. The underline cursor also moves to show which digit in the frequency is being adjusted. As mentioned previously, the IF bandwidth setting affects how much the frequency is changed for each step of the encoder. At 21 kHz, the step size is 10 kHz. At 6 kHz, the step size is 2 kHz while at 3 kHz IF bandwidth, the step size is 1 kHz.

Clicking the encoder deactivates the frequency item and one can move on to either of the four items at bottom of the screen. This means that one can use the encoder to activate the functions of the membrane keys. This is a redundant safety feature as I once had a membrane keyboard fail during a training, which then limited what I could do with the receiver until the hardware was repaired.

As mentioned previously, holding key 1 for a second or more toggles whether audio RSSI is present. If it has been disabled, the R at the top right changes to an x:

The menu symbol (“hamburger”) at the bottom right is the gateway to the menu system. One does however not get into the menu by pressing key 4, but by navigating there using the encoder and pressing the encoder. This is not something one normally has to do during a race, but rather when configuring the receiver in preparation of a race. Here the underline cursor is under the hamburger symbol:

The top of the menu looks like this:

The down-arrow at the bottom right indicates that there are more items further down. The S in “Set” on the top row currently has the underline cursor. Scrolling down, one can see the rest of the menu:

The X at the bottom right is a menu item that exits the menu. The menu can also be exited by pressing 4.

The functions of the menu items are as follows:

Set t=0

This is at the top of the menu since there is a small chance it can be useful during a race. Activating this rounds the seconds in the real time clock to zero. The idea is that if the transmissions are out of sync with the clock in the receiver, one can activate this function exactly when one fox stops and the next starts transmitting to synchronize the clock to the foxes.

Having the clock match the transmissions ensure the beeps (normally indicating 30 seconds and 50 seconds) come in the correct phases within a cycle and that the fox number shown on the LCD is correct.

Lock frequency

Activating this makes the receiver find the strongest frequency peak within the pass band (normally 21 kHz wide) and retune to that. Could perhaps be useful if the transmitters are slightly off. I don’t think I have ever had to use this function in a race and it is not thoroughly tested.

Frequency table

This is where frequencies can be pre-programmed.

When the function is entered, the first menu item, number of frequencies, is selected, so rotating the knob changes how many frequencies there are in the list. From 1 up to 9 frequencies can be pre-programmed. Normally only 2 are used, the frequencies of the foxes and the one for the beacon.

When editing the frequencies, one can press the keys 1 and 2 to move to a more or a less significant digit in the number. Only the digits representing 1 Hz to 100 kHz can be directly edited, but it is possible to select frequencies between 143.9 MHz and 146.1 MHz (by e.g. adjusting the 100 kHz digit).

Selecting Apply stores the programmed values. Selecting X (or pressing 4) before the values have been stored exits the menu without saving the changes.

Clock settings

This where the real time clock can be set. (It is by the way also synchronized to the computer clock when uploading software to the receiver.)

The current time is shown at the top. The minutes can be incremented or decremented by the menu items min++ and min–. Likewise for the seconds. There is also an option to set the seconds to 0. Normally one only has to adjust the time buy a few seconds and using these functions is the easiest way of doing that. The settings take effect immediately, so “Apply” at the bottom of this menu should not be selected after using these.

There is also an option further down to directly set hours, minutes and seconds arbitrarily. A 24h clock is used.

A word of warning: “Apply” applies the time that has been entered in the “Set:” item, so if you just adjusted the time using the features at the top, you should NOT select “Apply” before exiting the menu as that would overwrite the clock with a value you probably do not want to set the clock to.

Event settings

This is the menu where one specifies particular features of the upcoming race, namely start time, number of controls (foxes) and the time per control. These values are used by the receiver to e.g. calculate which fox is currently active.

Beep settings

There are just two settings here. The timing for a single beep and for a double beep relative to the fox transmission cycle.

Normally I have these set to give one beep at 30 seconds to let me know that we are halfway through a cycle and a double beep at 50 seconds to signal that there is just 10 seconds left. If set to 0, the beep will not occur.

Misc settings

Here we can set:

  • What the gain should be set to when powering on the receiver
  • The contrast of the LCD, between 0 and 63 (there is probably no reason so set it to anything other than 63)
  • The audio volume of the beeps. The beep is played repeatedly while adjusting this, to help determine a good level.
  • The volume of the audio RSSI signal. The tone is played repeatedly while adjusting this, to help determine a good level.

Colors

I use up to five different colors to draw bearings on the map. To help me not mix up the colors, there is as mentioned previously a field on the main screen where the color of the current fox is shown. This menu allows the user to define which color is associated with which fox. The colors available for selection are RED, GRN, BLU, YEL and BLK. Up to nine foxes can be associated with a color.

Factory reset

If the settings become totally messed up or directly after building a receiver, it can be useful to return to default settings throughout. This menu item enables that. To prevent accidental clearing of hard-won optimized settings, the menu item has a safety feature that only does the clearing if the number 5 is entered (via the rotary encoder) before exiting the item. The number starts at 0 when the item is selected.

Gain cal

This item allows entering and storing gain calibration values specific to the receiver. As described in the article about the RF board, there are two PIN-diode based gain/attenuation control circuits in the frontend and the effect they have on the gain can vary a little from unit to unit.

Using the “Gain lab” (see next section) and a signal generator (or test transmitter), it is possible to determine the effect the settings have on the gain. After having done that, the values can be entered here. The calibration values are then used when calculating what RSSI value to show in the LCD. The displayed RSSI value should of course not be dependent on the gain setting (as long as the signal is well above the noise floor for the current configuration), so it is necessary to take the gain of all the stages in the signal chain into account when doing this calculation.

There are four values that can be entered here:

  • BaseGain: Normally this is left at 0 dB, but it could be useful to adjust it if it is important to make several receivers show precisely the same RSSI for the same incoming signal strength.
  • InputAtt: This is the difference between disabled and enabled attenuation right at the input, while the LNA is in its low-gain state.
  • Att+LNA: This is the difference between high and low gain in the LNA while the input attenuation is enabled.
  • NoAttLNA: This is the difference between maximum sensitivity (no attenuation at the input and maximum LNA gain) and minimum sensitivity (attenuation at the input and minimum LNA gain).

Remember to click on “Apply” after entering these values.

Gain lab

There are several stages in the signal path where the gain (or attenuation) can be set. The gain control used during a race orchestrates all these settings to (hopefully) maximize dynamic range for the required sensitivity, so the user only has to select a single number and not worry about the details.

The purpose of the gain lab feature is to help in development and troubleshooting of the gain control routine and also to allow direct measurement of the effect various gain/attenuation stages have, so that they can be entered in the Gain cal menu.

Gain lab is not particularly polished and somewhat cryptic, partly due to the limitation of the small LCD. So don’t expect it to be perfectly intuitive. The description here is probably necessary to make sense of it.

Let’s start with the five numbers on the third row. These are the current settings of the five different stages that comprise the total gain. All of these are menu items that can be directly controlled. They are in order:

  • Input attenuation; can be either 0 (attenuation enabled) or whatever value it is set to in Gain lab (e.g. 19 dB)
  • LNA gain; can be either 0 (minimum gain) or some value like 13 dB (depending on Gain cal settings)
  • IF gain; can be either 0, 20 or 40 dB (this is assumed to be quite accurate and cannot be calibrated)
  • Input gain in the audio codec; can be from -96 to +24 dB, but the values used are from -20 to +24.
  • Software gain; from 0 to 50 dB

The two numbers on the fourth row are the raw signal strengths in dBFS (dB relative to full scale) as seen on the I and Q channels from the audio codec. Increasing the gain by 10 dB should increase the reading by 10 dB if everything is calibrated correctly and the input signal remains the same (and is significantly above the noise floor).

9.2 in the top right corner is the RSSI in dB, as displayed on the main screen. Changing the gain should not change this number. Again, under the assumption that everything is calibrated correctly and the input signal remains the same (and is significantly above the noise floor).

The top left item, 30 dB above, is the normal gain setting. Adjusting this adjusts the values on the third row in the way that the gain control routine works. So, this provides an opportunity to see how the gain control routine distributes the gain. The thought behind it is to not have more gain than necessary early in the chain so that we reduce the risk of saturating any stage if a strong blocker is present. Higher gain early in the chain improves noise performance, but that is only of interest if the signal we are listening to is weak and it comes at the expense of worse blocker performance, so it is only at the higher gain settings that the input attenuation is removed, higher LNA gain is enabled and the IF gain is increased above 0 dB. As a few examples: 60 dB of gain is currently the limit where the IF gain is increased above 0 dB while 64 dB of gain is where the input attenuation is disabled.

The menu item “Zero” applies an offset to the raw dBFS readings on the fourth row to set them to zero at the current input signal and gain setting. This makes it easier to see the number of dB the signal strength changes when a gain setting is adjusted. This is obviously quite useful when figuring out the proper values for the Gain cal menu.

“dBFS” is also a menu item. Activating this removes the offset that was applied by “Zero” and thus reverts the readings on the fourth row to be in dBFS.

Here is an example where the total gain has been increased to 100 dB. Note that most numbers on the third row have gone up, indicating e.g. that the input attenuation is disabled, the LNA is in the high-gain mode and the IF gain is at 40 dB. The signal strengths shown on the fourth row did not go up by 70 dB, but this is easily explained by the fact that there was no input signal, so only noise contributed to the signal. A significant portion of the noise came from late in the chain, so increasing gain early in the chain does not amplify this noise.

After activating “Zero” dBFS”, the readings on the fourth row are close to 0:

So how does one use Gain lab to figure out the values to enter into the gain cal menu?

The best way is probably to use a signal generator capable of generating a 144.5 MHz tone at e.g. -50 dBm. The tone does not have to be AM modulated. In fact, it is probably better if it is unmodulated.

  1. Start with a total gain (upper left) of 30 dB, which should set the first three numbers on the fourth row to zero. The readings on the fifth row is -83.7 and -83.1 on my receiver in this case.
  2. Select “Zero”
  3. Toggle the first number (input attenuation) on line three. (The actual value shown is the one entered in Gain cal.)  Note down the readings on line four. In my case they are 18.7 dB. This value should be entered as InputAtt in Gain cal.
  4. Set the first number to 0 and toggle the second (LNA). This gives 16.9 dB in my case. This shall be entered as the Att+LNA value in Gain cal.
  5. Make both the first and the second numbers non-zero. This gives me 32.5 dB. This shall be entered as the NoAttLNA value in Gain cal.

If a suitable signal generator is not available, the same calibration can be done with a fox hunting transmitter at a suitable distance. But it may be harder to get stable readings if the transmitter turns off the carrier between the dits and dahs.

FoxScope 2m – 144 MHz ARDF Receiver – Part 5 – Mechanics

By Per Magnusson, SA5BYZ

The receiver is mechanically based mostly on 3D-printed parts. The antenna is described in a previous article, so this section focuses on the mechanics of the receiver itself.

The 3D models can be downloaded via the following link:

Link to a zip-file with the files:


[ZIP]

I printed most of the parts using PETG which is tough, reasonably heat resistant and relatively easy to print with. I used a 0.4 mm nozzle. Some of the parts (gaskets) are printed in flex material (TPU).

The main part of the box is the bottom:

It prints mostly without supports, but some may be helpful at the USB connector and perhaps at the power switch:

There are twelve holes where M2.5 heat-set inserts shall be, well, inserted. The holes are designed to fit IUB-M2.5-1 inserts, which are sold by Mouser under the part number 153-IUB-M2.5-1. I used a soldering iron set to 250 degrees or something like that to press down the inserts in a controlled manner. There are also dedicated tools to do this.

This is what it may look like with the inserts in place:

To fasten the box to the antenna, one has to glue clamps to the bottom side. These clamps will see some force pulling the layers apart, so it can be a good idea to print them with 3-4 perimeters. The newest version of the 3D files for the clamps has some added tiny holes (not shown here) around the nut-slots to ensure even more perimeters are formed where the strength is needed.

I used epoxy as glue and a simple fixture to keep the clamps aligned. There are two areas with recesses on the bottom where the clamps shall be glued. The recesses make the surface uneven, which makes the glue stick much better.

The fixture holding the clamps in place during gluing:

A piece of 16 mm electrical pipe of the same type used for the antenna should also be placed in the clamps to perfectly align them. Such a tube is also perfect for applying some weight during gluing to make the glue joints thin and strong.

When the glue has set, it is time to put the RF board in the box. In an attempt to reduce water ingress around the SMA connector, I designed a little gasket that can be printed in TPU or some other flex material:

To make this really effective, I think it needs some help of silicone as well.

The power switch also has a TPU gasket (which probably needs some silicone too to be waterproof):

Two ~2 cm long wires need to be soldered between the power switch and the USB board.

The USB board can be pressed towards the panel to compress the gaskets of the USB and audio connectors using a little excenter piece that rotates around an M2.5 screw:

The RF board (with its shield properly in place) is secured by the nut at the SMA connector and four 6 mm long M2.5 screws.

The 1500 mAh LiPo battery fits next to the RF board while the USB board sits in the other end of the box. Notice that the excenter has been rotated by about 30 degrees to push the board towards the panel to the right. The other screw secures it in position.

The USB board holds the battery in place and is secured by one 10-12 mm long M2.5 screw and one that is 6 mm long.

The Processor board plugs into the RF-board and is initially held in place only by the two M2.5 x 6 screws to the right:

The Teensy Micromod is locked in place by a countersunk M2.5×4 screw, preferably with a little Loctite or other compound to ensure it does not unscrew itself.

A 30 mm long 20-pole FFC cable with 0.5 mm pitch and contacts on the same side on both ends connects the processor board and the USB board. Flip down the locking flaps to secure the connection after the cable has been inserted.

The LCD rests on a 3D-printed standoff, which also helps form a shield around the Teensy.

Place this standoff under the LCD board and wrap copper tape from the top of the LCD board around the walls of the standoff. Solder the copper tape to the LCD board and place EMC gaskets with 2×2 mm cross section on the bottom surfaces:

To make it easier to put the LCD board correctly onto the connector of the processor board, one can print a little shroud and put it around the processor board socket. This prevents the pin header from fitting if it is misaligned:

Plug the LCD assembly into the connector on the processor board and secure it with four M2.5 x 12 mm screws.

Cut a 33 x 52 mm piece of 1 – 1.5 mm thick clear polycarbonate or other transparent plastic that is suitable as a window over the LCD. Glue this (using e.g. epoxy) to the inside of the top cover. There is a 34 x 53 mm recess in which this window fits. Take care to not get significant amounts of glue on the visible part of the window, while still forming a glue joint that is waterproof all around.

Let the glue set.

Insert the connector and cable of the membrane keyboard through the rectangular hole in the box front:

There is adhesive at the back of the keyboard, but I think this is too unreliable for this application, so I recommend gluing the keyboard with epoxy. It might be a good idea to place masking tape above and below the keyboard before applying the glue to get less messy glue squeeze-out results than I did.

It should be possible to tear off the masking tape before the glue sets to remove the excess glue. The keyboard needs to be kept under pressure while the epoxy sets.

Use epoxy to also glue the keyboard to the inside of the front panel. The glue joint should form waterproof seals around the LEDs and the encoder. (The photo below is from an earlier version of the front panel PCB which was not quite compatible with the new keyboard pinout, hence the misaligned keyboard connector and the patched ground connector to the pin header.)

Plug in the battery and connect the 127 mm long 24-pole FFC cable to the processor board. Remember to flip down the locking flap to secure the connection after inserting the cable.

Plug the FFC cable into the front board. It is very important to observe the polarity! See the photo below.

To help make the box more waterproof, a gasket should be printed using flex material:

Place the gasket between the two pieces of the box.

Insert six square M3 nuts in the slots at the screw holes in the top piece. A little tack-it or similar sticky material can be useful in helping keep the nuts in place.

Screw the two pieces together using six M3x16 screws.

The encoder needs a knob and one solution is to print one using flex material:

Push it onto the knob shaft.

Insert four square M3 nuts in the slots in the clamps on the bottom side. Again, it is a good idea to secure them using tack-it or similar.

The receiver is now ready to be mounted on the 16 mm antenna boom using M3 x 14 screws.

One optional feature could be added to the receiver, namely a button that is accessible by the thumb while holding the handle. The button can be seen to the upper left in the photo above. The purpose of this button is to allow quick and easy access to activating the AGC while direction finding. By optimizing the gain while pointing generally in the direction where the signal is the strongest, the audio-RSSI (see the description of the software) becomes maximally effective in pinpointing in which direction the signal is strongest. Without this extra button, one has to reach for the top of the receiver and press on button 1 to perform an AGC setting, or use the knob to adjust the gain manually.

The thumb-knob is built into a little housing made of 3D-printed flex material. The box consists of a thin lid with a channel for the cable and the box itself where a piece of perfboard with a tactile switch can be slid in:

I have not made any custom PCB for this. A small piece of perfboard is perfectly sufficient. The tactile switch I used was probably a PTS645SL43SMTR92 LFS, Digikey P/N CKN10880CT-ND. The cable was a very thin two-conductor thing from the junkbox. I drilled a hole in the side of the receiver box, pulled the cable through and sealed it with epoxy. Epoxy was also used to glue the button housing to the clamp at the bottom of the box.

The cable was soldered to the pin for button 1 and ground on the front panel board:

Bill of Materials

Here is a list of the parts that are required in addition to the 3D-printed ones:

The BOM is included as a PDF in the zip archive linked at the top of the article.