OpenARDF-WB8WFK-ARDF-Foxori.../README.md

4.2 KiB

WB8WFK ARDF Foxoring Transmitter

This is a simple, inexpensive, transmitter controller for conducting ARDF Foxoring competitions and for demonstrating ARDF principles. The software project is an Arduino script that builds for and runs on most Arduino-like products, including AdaFruit's Metro Mini 328, or SparkFun's Arduino Pro Mini 328, and many more.

Controller support for all the common ARDF competition formats is provided: Classic, Sprint, and Foxoring.

Software

The software is a proper Arduino script that will open and build without warnings or errors in Arduino IDE version 1.8.12 and later. The Arduino IDE can also be used to program a device that holds a compatible bootloader. Most Arduino products ship with a bootloader pre-installed.

After being programmed, the controller can be configured via a serial port on the board. An Arduino board that includes a USB-to-Serial converter will allow you to configure the controller with a simple USB cable (standard to micro) connected between a USB port on your computer to one on the Arduino board. Less sophisticated Arduino boards lacking a USB-to-Serial converter will require a special FTDI cable like AdaFruit's FTDI Serial TTL-232 USB Cable, or SparkFun's FTDI Cable 5V.

The controller includes an output pin for controlling a transmitter for sending Morse code characters (high = key down; low = key up) and a separate pin that sends the Morse code as audio tones that can be used to drive a speaker. The controller can also provide a sequence of starting-tones prompting competitors to begin a competition, and can thus serve as an electronic starting "gun" for use in ARDF events.

Serial Commands

The controller serial interface operates at 57600 baud that can be accessed using any serial TTY interface program such as PuTTY or Arduino's own Serial Monitor tool. It provides a command prompt > indicating that it is ready to receive recognized the following commands.

> CAL [num] <= * Sets the clock calibration for precise timing
> CAL <= Displays the clock calibration setting
> DIP [val] <= * Sets the competition format, overriding the DIP switch settings
> DIP <= Displays the competition format setting
> FAC <= Sets saved EEPROM values to their original defaults
> GO <= Starts operation from zero seconds, equivalent to pressing the sync button
> ID [string] <= * Sets the callsign that gets sent
> ID <= Displays the saved callsign setting
> LED [on|off] <= * Turns on/off LED pin
> LED <= Displays the LED pin setting
> RST <= Resets the processor
> SPD ID [num] <= * Sets the ID code speed in WPM
> SPD <= Displays the ID code speed setting
> STA [on|off] <= * Turns on/off the starting tones function
> STA <= Displays the starting tones setting
> SYN [on|off] <= * Turns on/off synchronization using sync button or "GO" command
> SYN <= Displays the synchronization setting
> TEM <= Displays the processor's temperature in C
> VER <= Displays the software version number

* These values get stored to EEPROM and are retained between power cycles.

Hardware

Look in the Hardware folder for all hardware-related documents

Pinout

PB1 - Board Pin 9 (Output) <= Audio Out (=Gnd when no tone)
PB5 - Board Pin 13 (Output) <= LED On=+V
PD2 - Board Pin 2 (Output) <= Key/PTT On=+V
PD3 - Board Pin 3 (Input) <= Synchronize (mom. switch to Gnd)
PD4 - Board Pin 4 (Input) <= DIP Switch Bit 0 (switch to Gnd)
PD5 - Board Pin 5 (Input) <= DIP Switch Bit 1 (switch to Gnd)
PD6 - Board Pin 6 (Input) <= DIP Switch Bit 2 (switch to Gnd)