Information about HAM Radio Direction Finding projects

See the Iowa City Amateur Radio Club website for contact information (this is a shared web page).



Links to Raspberry-PI FOX Transmitters (these only work when the transmitter is powered on at the server site).


ARRL QEX Article files

QST Article: FOX_ARRL.pdf
File Manifst: FOX_ARRL.lst.txt
Compressed TAR Archive of the QST Article
Engineering File Summary
ICARC FOX zNEO System Users Manual
ICARC FOX PI System Users Manual
ICARC FOX RX DTOA System Users Manual

102-73161 and 102-73181 Software images (Intel HEX file)
Software
Version
Notes & Comments
2.03
07 Jul 2020
Tracking down a problem with long CW message
Add length stats to CW STS message
(SA818/DRA818/ICS307 non-functional)
2.01
20 Jun 2020
Configuration_Flags (in fox_config.h) is now 16 bits
Add bits for SA818/DRA818
(SA818/DRA818/ICS307 non-functional)
2.00
07 Jun 2020
Start of rework for SA818/DRA818
and ICS307 on 102-73181 board
(SA818/DRA818/ICS307 non-functional)
1.54
27 May 2020
"ERAS CMD" to clear ONLY 1024 records
Convenient handling of large FRAM with
space for audio waveforms
1.53
22 May 2020
cleanup help command a bit
1.52
21 May 2020
REPT/EREP looping control
(decrease FRAM requirements).
1.51
17 May 2020
add Time_Upd_Flg
1.50
17 May 2020
Ad aliases to TALK command
(<call> and <nick>).
1.49
14 May 2020
Fix DS1672 corruption
1.48
13 May 2020
Working TALK command
Also adds TALK directory processing.
1.4x
May 2020
TALK command development
Voice
1.32
21 Apr 2020
ZULU command (sets time over network)
Briefly sounds the buzzer when a time update message arrives
Simple audible feedback of successful time synchronization.
1.31
21 Apr 2020
Not used
1.30
15 Apr 2020
Add BATS command to produce an encoded battery
voltage report. Send volts/tenths with a series of
T and E characters for the morse impaired listeners.
1.29
11 Apr 2020
EDMP output was missing the flash file record number.
Add the flash file record number to the displayed data
so ERAS and EZER can be used to edit individual records.
1.28
02 Jan 2020
Add "NAME" command to load a 'nickname' into
the transmitter so we can easily identiy it.
Add "STAT N" to dump status to network port.
1.27
1.26
1.25 Add BATR command to report battery condition
over the network port...
-12 and -25 only!
1.24
1.23 Add FIND command
Fix RUN0 so it is ONE-SHOT
1.22 Add 250mS delay after RF turnon.
Allow RF to stabilize before modulationg carrier.
1.21 Fix 'fox_time' in fox_schedule.c so it decodes correctly.
The "strtol" call MUST specify base-10
(and not use the nominal 'C' heuristics".
Otherwise a minutes/seconds of 08:09 or 09:08
will try to decode as octal (and fail).
1.20 Move the verison number to the Makefile so the
version number is consistent throughout.
(In particular, create a versioned HEX file).

102-73185 Software images (Intel HEX file)
Software
Version
Notes & Comments
0.00
31 Aug 2020
Initial Release. (not found for now)

Raspberry PI FOX Transmitter

Circuit Board Image
Raspberry PI section

zNEO FOX Transmitter

Circuit Board Image
SOC section
After considerable head scratching, a method of dealing with limited audio has been developed.
The 73161 boards require adding a haywire to connect a PWM channel to the deviation control circuit.
Audio is stored in the flash memory, sample rate is fixed at 4KHz.

Software development continues for these units with some minor improvements in the way copmmands work.
The software for the 102-73161 also will work on the 102-73181 units, sould they every be fabbed.

zNEO FOX Transmitter w/ICS307

Circuit Board Image
Change ICS525 to ICS307.



ICARC FOX HUNT

      foxhunt @ n952 . ooguy . com

Next Fox Hunt

The 09 NOV hunt went well. We had a much higher success rate than previous hunts at Kent Park. NO BURRS!
But primarily due to having transmitters that stay on for much longer. The six KC0JFQ transmitters were transmitting for about 7 to 8 minutes out of every 10 minute cycle.

More Show & Tell at the upcoming meeting.

Operatiog at City Park opens up the opportunity to hunt from a car for those that get along a bit slower...

Where & When

-- ---- ----     10:00 CST
Hickory Hill Park ???
800 Conklin (off of N. Dubuque Rd just east of HyVee)
Iowa City, Iowa

Reserved use of Park facilities usually requires a paid reservation, so we will simply meet in the parking lot by the big shelter by the pond at around 10:00 to begin an informal hunt.
There will be SIX of the new KC0JFQ transmitters in use.
These new KC0JFQ transmitters will all be configured to transmit on different frequencies and for extended periods of time to make it a bit easier to "hunt" them.

Suspected transmitter frequencies
  1.   144.620 MHz
  2.   144.305 MHz
  3.   144.280 MHz
  4.   144.335 MHz
  5.   144.365 MHz
  6.   144.380 MHz
  7.   144.860 MHz
  8.   144.955 MHz
  9.   144.285 MHz
  10.   145.450 MHz
  11.   146.565 MHz


This is the handout with a log sheet for the Hickory Hill hunt: ICARC_FOXHUNT_HH.pdf



DTOA Switch

First working model showed up at the November hunts!
Results were very good!

Schematic Image
"Differential Time of Arrival" switch schematic.
Our old friend, the 555 timer, is used to generate a square wave at a convenient audio frequency.
This switching signal signal is AC coupled through C2 to bias D1.
D1 is a PIN diode pair so one is forward biased and one is reverse biased.
Only the forward biased diode carries the RF signal through to the receiver.
This switching action is demodulated by the attached receiver.
When the antennas are at different distances from the transmitter the signal to the HT is phase modulated which appears as a howl at about 1KHz.
You should be able, then, to use the null to point at (or away from) the hidden transmitter.

Circuit Board Image
The circuit board is the same outline used for the ICARC Fox Finder so it will be housed in the same Hammond plastic box.
The off/on switch position matches the ICARC Fox Finder but the coax connector is located in the exact center of the board to keep pathlength from the right/left antenna connectors the same.

Either SMA or BNC connectors may be installed on the board.
The cables to the two antenna elements should be very close to the same length or the null direction will be affected.

The board is provisioned with three methods of adjusting the 555 timer frequency and duty cycle.
A simple one turn pot, a 10 turn pot, or a resistor.
The first prototype unit has been be used to select the resistor values shown in the schematic.
Production units eliminate the expensive adjustable pots and are not adjustable.

The current parts list with links to DigiKey.



Schematic Image

The RF section, on the right, is all surface mount
(everything to the right of C2/C2A on the schematic).
This is the Engineering Model which used pots in the R1 and R3 positions to trim out the 555 timer.
Production boards eliminate the pots by simply putting the trimmed values in the R2 and R8 positions
(save purchase of expensive trim pots).
D18 is a reverse polarity protection diode.
Don't mess with the battery with the power switch on!

Raspberry PI FOX Transmitter

Circuit Board Image


FOX_PI Features

Everything from the FOX Transmitter project below, but changing the processor out for a Raspberry PI Zero board.
The Raspberry PI Zero-W opens up some interesting possibilities for applying remote control to the fox during the hunt. The Raspberry PI Zero-W has Wifi on the circuit board. The range is rather limited, but with the addition of an access point to extend range, some interesting modes can be imagined.

Some added audio capabilities appear on this board revision.

The downside

For this application, the Raspberry-PI Zero is still a power pig.
Experimental measurements with a Raspberry PI Zero W using a six cell AAA pack yielded about 8 hour of runtime.
You should expect to provide fresh batteries for each hunt.



FOX Transmitter

Circuit Board Image

Features



Description

A programmable Fox Transmitter with large message storage. We are not limited to a very short message repeated over and over. Enough storage to have a 15 minute message.
The control processor is a ZiLog zNEO. The program memory in this device is 128KB. The large program memory allows for a feature-rich control language and scheduling methodology. A large FRAM is used to store the configuration and message traffic.



Field Prorgammable

There are no special tools required to load an operating sequence into the unit. An existing operating sequence may be erased using a simple command. Multiple messages may be stored in memory, even if they are not actively used.
The scheduling alogrithm allows simply coordination of multiple transmitters operating on the same frequency.

Users Manual

Command List

Sample signon report

Sample status report

Sample initialization commands

Sample S0 commands

RF Power

For the most part, the clock generator may be used to directly generate the RF signal. A 7th order Chebyshev filter removes the overtones. The filter calculation indicates 3rd. should be 60dB down.
The clock generator when powered from the 3.3V rail allows about 10mW at the antenna connector. The clock generator may also be powered from the 5V rail to increase output power to about 25mW.
An RF daughterboard is used to connect the output of the clock generator to the output filter. One of the daughterboard designs is configured as a simple attenuator to reduce power output. A second design uses an ADL5536 or ADL5534 to raise the output power to around 100mW.

RF Clock

The clock synthesizer is an ICS525, this is the heart of the transmitter. This chip is used on many other Fox transmitters and provides for a relatively broad selection of frequencies in the 2 meter band. The clock synthesizer is configured through setup commands held in the FRAM. This allows the operating frequency to be selected as needed, The ICS525 is used to generate the carrier. Frequency modulation is achieved by loading the ICS525 crystal. The zNEO controls all the programming pins into the ICS525.

102-73181 RF Clock

The clock synthesizer is changed to an ICS307, this being the clock synthesizer used in the Raspberry PI variant.
There is artwork for this change, but no boards have been fabricated.
This layout change keeps everything the same, simply change to the ICS307 device should the ICS525 become difficult to obtain.

Code Generator

The code generator is a simple implementation that takes advantage of one of the timer channels on the zNEO. The timer is programmed to interrupt at the chipping (or dit timing) rate. The interrupt service routine then enables or disables the modulator as required. The chipping rate and the inter-character, inter-word, and inter-sentence timing are all commandable.

FRAM (configuration storage)

The FRAM provides non-voaltile storage for all of the configuration setting for the transmitter. Being non-volatile, there is no need for a backup battery. Device capacity of up to 2Mb are currently available. Current builds are making use of a 256Kb device that holds up to 8192 commands.

TOY Clock

This clock stores the time of year to allow multiple transmitters to time-share one frequency. The TOY clock is battery backed to allow for configuring the transmitter in the lab, nothing other than switching on power is required in the field.
The particular device, as DS1672, stores time as a 32 bit number and the operating software and GSE software assumes this is a UNIX timestamp.

USB

The USB interface provides a means of loading the FRAM and setting the TOY clock. Ther USB device is powered through the host connection to reduce power requirements and extend battery life.
Programming the transmitter is accomplished through a USB connection to a host computer. The USB device used is an FTDI FT232R which is powered from the host.
You will also note that this USB UART (FTDI Chip FT232R), being powered from the USB bus, remains visible to the host system when the Fox Transmitter is not powered.

Time Network

A simple 3.5mm jacks allows multiple units to have their TOY clocks synchronized in the field. Connection is through a 3.5mm stereo patch cable.
As this is simply the second UART in the zNEO, software may redefine the function of this port. Currently there is the start of support to allow a master with the USB port to program additional transmitters that lack the USB port (slightly redeucing the cost of a set of transmitters)..

The protocol and electrical interface are the same on all versions of the FOX Transmitter.
Field synchronization requires a 3.5mm stereo cable.

DC Power

Nominally the transmitter is powered either by a single 9V alkaline cell or a six cell AAA pack. The power supply in the transmitter is a non-isolated buck convertor allowing for battery voltage up to about 28V. The nominal six cell alkaline pack is expected to provide over 24 hours of operation.
Alternate power sources may be substituted, such as multi-cell'd lithium packs to provide longer operation. A charging jack appears on the board, near the antenna connector, that is intended to allow connecting a charger when using rechargeable batteries

Board Status

The board works, two units are up and running. Some parts values are being updated to improve performance.

A small number of 102-73161-25 boards are on hand and can be obtained for $10 each plus shipping.

A small number of 102-73161-12 boards are on hand and can be obtained for $8 each plus shipping.
These are the previous revision and are missing a few features of the -25 boards.
Complete build documents exist and are available for each revision.


Software Status

The current software is linked through te tables at the top of the page.
This load takes roughly 70K of the available 128KB program flash memory.

This version has a fairly complete command set to allow the fox transmitter to operate in a variety of modes.
We can operate in a single channel mode where all transmitters time share one frequency.
We can also operate in a multi channel mode where all transmitters operate on unique frequencies.
A combination of these two modes may also be programmed.

The TOY clock allows all setup to be performed well in advance of deployment.
The transmitter may be time-locked any time prior to the hunt.
This time synchronization may be accomplished using a host system (through the USB port) or using a synchronization cable where one of the units is assigned the role of a master time source.

The frequency control table has entries for multiple cyrstals making it somewhat feasible to select a crystal that will generate desired frequencies.