Build your own metal detector article mentions a pretty interesting Diy Arduino based metal detector. The article starts with with an explanation of how most oscillator based metal detectors work. Most metal detectors uses a search coil that act as part of an oscillator circuit. When metal is put in proximity of the search coil the frequency of the oscillations change. This circuit design starts with an oscillator that produces a signal of about 160 kHz which is constantly measured by the Arduino.
When metal enters the coil it alters the frequency, which is immediately picked up by the Arduino. So in this design the traditional BFO approach is replaced with a microcontroller that can measure the frequency changes very accurately. When the ‘NULL SW.’ button is held the current frequency is stored and changes to it are are detected. This is an interesting idea to build a metal detector.
The source code is pretty compact. It promises that it works with search coil oscillator that has frequency in 20-200kHz range. This looks something that could be adapted to many different kind of search coils and maybe also for some other sensing applications.