ESP32-based radio controller for radio orienteering/ARDF.
Go to file
2023-11-02 19:57:10 -05:00
include Move folder. 2023-09-25 22:02:03 -05:00
lib Move folder. 2023-09-25 22:02:03 -05:00
src Add confirmation so people don't click the wrong button. 2023-09-27 20:56:37 -05:00
test Move folder. 2023-09-25 22:02:03 -05:00
.gitignore Move folder. 2023-09-25 22:02:03 -05:00
LICENSE Add license 2023-11-02 08:23:31 -05:00
platformio.ini Remove unneeded libraries. 2023-11-02 08:26:40 -05:00
README.md Add contact. 2023-11-02 19:57:10 -05:00
vulpes.code-workspace VSCode needs a workspace, I guess. 2023-08-26 20:55:52 -05:00

Vulpes

An ESP32-based radio orienteering controller. This repo is for the code. There will be another repo for the schematic and PCB design.

What

Radio orienteering, or amateur radio direction finding (ARDF) is a sport where people run around and look for hidden transmitters. One necessary component is a controller on each transmitter that tells it when and what to transmit.

This is my attempt at a simple, easy-to-use controller with a low parts count. Rather than programming a microcontroller and/or using DIP switches, time delays, and sync cables, the ESP32 development board lets you set up each controller using a web browser (e.g., on your smartphone or tablet).

The ARRL ARDF page is an OK starting point for learning about radio orienteering, but there are probably better ones.

Hardware

I designed a simple custom printed circuit board (PCB) to make assumbling this controller easy to do. The repo for schematic and board design is here: vulpes_hardware.

Because the ESP32 doesn't track time when it is powered off, and I wanted to avoid specific delays (e.g., push a button two hours before an event starts), an additional real-time clock (RTC) is included. The RTC runs on a watch battery to track time when the controller is not powered on.

Software/Firmware

Power on the controller by plugging in a micro-USB cable to a 5V source (e.g., computer or battery pack). After the device is powered on, it will start an internal webserver and set up a wireless network called "vulpes."

Connect to the "vulpes" wireless network and use a web browser to navigate to http://192.168.0.1 (note "http" not "https"). You will see the settings below. Note that you will not be able to access the Internet while connected to this network, and each controller sets up a separate network.

General Settings

Cycle Settings

Network Settings

Access Point

When using as a wireless access point, the network SSID is "vulpes" with no password. Navigate to http://192.168.0.1 to access webform.

License

GNU GPLv3. See LICENSE file for details, and https://choosealicense.com/licenses/ if you're like me and don't understand all of this stuff.

Acknowledgments

Special thanks to Mark Fickett for his arduinomorse library and N1OIQ for similar design insparation.

Contributing

Until I get Gitea set up completely, please email me at mattQRTamiok.net, but replace "QRT" with @.