Our old math teacher famously said, “You have to take what you know and use it find what you don’t know.” The same holds true for a lot of microcontroller designs including [rgco’s] clever metal detector that uses very little other than an Arduino. The principle of operation is simple. An Arduino can measure time, a coil and a resistor will create a delay proportional to the circuit values, and metal around the coil will change the coil’s inductance. As the inductance changes, so does the delay and, thus, the Arduino can sense metal, as you can see in the video below.
The simple principle is also simple in practice. Besides the Arduino and the coil, there’s a single resistor. You want a small coil since larger coils won’t detect smaller objects. If you don’t want to wind your own coil, [rgco] suggests using a roll of hookup wire as long as the resistance is under 10 ohms.