A microcontroller-based radiolocation system for locating underwater cave passages from the surface
Cave radiolocation allows explorers to determine the position of underground cave passages from the surface by detecting magnetic fields transmitted through rock. While radiolocation has a long history in dry caves, its application underwater presents unique challenges: transmitters must be small enough for divers to carry, self-levelling to avoid manual adjustment underwater, and robust enough to withstand the demands of cave diving.
The original “Pinger” system was developed by Ken Smith in 2000 to address these challenges. I collaborated with Ken to develop Pinger 2.0, a complete redesign using modern microcontroller technology and improved coil designs. The system has been successfully used at depths exceeding 90 metres through rock.
The core improvement of Pinger 2.0 is its software-defined approach to driving the resonant coil antenna. By using an ESP32 microcontroller rather than analog circuitry, the transmitter gains:
The ESP32’s dual-core architecture is critical for this application. One core is dedicated to generating the precise drive waveform, which has hard real-time constraints to maintain resonance in the coil. The second core handles housekeeping, sensor reading, and communication.
Figure 1: The Pinger 2.0 control PCB mounted in the transmitter frame with ferrite core antenna rods. The ESP32 module is visible at center, along with the buzzer, DIP switches for configuration, and USB-C port for programming.
I designed a custom PCB optimized for small-batch fabrication, with surface-mount assembly handled by the manufacturer. Key features include:
The board runs on four 18650 lithium-ion cells, providing higher voltage (nominal 14.4V) than the original design’s eight AA alkaline cells.
Figure 2: Assembly showing 3D-printed support discs, wooden dowels supporting the ferrite core rods, and 18650 lithium-ion battery pack.
The combination of ADC feedback and software-defined drive frequency enables automatic coil tuning. By sweeping through a frequency range and recording the current drawn at each frequency, the resonance peak can be clearly identified. This bypasses manual tuning with signal generators and allows compensation for thermal drift and component aging.
Figure 3: Wiring connections between the transmit coil and control PCB. The board silk-screen shows the project collaborators.
The transmitter architecture separates into power distribution and data distribution networks:
Power Network:
Data Network:
The accelerometer enables wake-on-orientation, allowing the transmitter to sleep during transport and activate only when deployed in the correct orientation underwater, though the tilt switch has also been retained.
This work has been published in the Cave Radio & Electronics Group (CREG) Journal, see the publications page for more information.
Active development continues on several fronts:
The hardware designs and firmware are available on request for researchers, cave diving groups, and anyone interested in radiolocation technology. The system uses the Arduino framework, making it accessible for modification and extension.