This is a relatively simple metal detector with excellent performances.
Pulse Induction (PI) systems use a single coil as both transmitter and receiver. This technology sends powerful, short bursts (pulses) of current through a coil of wire. Each pulse generates a brief magnetic field. When the pulse ends, the magnetic field reverses polarity and collapses very suddenly, resulting in a sharp electrical spike. This spike lasts a few microseconds and causes another current to run through the coil. This current is called the reflected pulse and is extremely short, lasting only about 30 microseconds. Another pulse is then sent and the process repeats. If a piece of metal comes inside the range of the magnetic field lines, the receive coil can detect a change in both amplitude and phase of the received signal. The amount of amplitude change and phase change is an indication for the size and distance of the metal, and can also be used to discriminate between ferrous and non-ferrous metals.
I found a good example of a PI detector on the site of the N.E.C.O. projects. This metal detector is a symbiosis of Arduino and Android. On the Play Store, you can download the free version of the application "Spirit PI", which is fully functional, but you can also buy a pro version that has several great options. The communication between the smartphone and the Arduino is done with the Bluetooth module HC 05, but you can use any Bluetooth adapter on which you have to turn baud rate to 115200. The original scheme is given in the figure above.
I made several minor modifications to the original scheme in order to improve the features of the device. In the place of a 150-ohm resistor, I put a trimer potentiometer with a value of 47 Kohms. This trimer regulates the current through the coil. By increasing its value, the current through the coil increases and the sensitivity of the device increases. The second modification is trimmer pot 100kOhm instead resistor 62k in original. With this trimer, we set the voltage of about 4.5V to A0 input on Arduino, because I noticed that for different operational amplifiers and operating voltages, the value of this resistor should be different.
In this particular case, for powering device I use a 4 lithium-ion battery connected in a series so the voltage is something greater than 15v. Because Arduino accepts a maximum of 12V input voltage, I put a stabilizer for 5V (7805) mounted on the small heatsink for powering the Arduino directly to +5v pin.
The coil is made from isolated copper wire with a diameter of 0.4 mm and contains 25 windings in the shape of a circle with a diameter of 19 centimeters.In the final workmanship, it is necessary to ensure that there are no metal objects close to the coil (the elements are to be glued with glue, and that no screws)
As you can see on the video, a small metal coin can be detected at a distance of 10-15 centimeters, while a larger metal object of 30-40 centimeters and more. These are excellent results, taking into account that the making and setting of the device are relatively simple.