I've read about how metal detectors work, and what I learnt here on EE.SE and other articles, the main principle is that ferrous metal will increase the inductance of the search coil, while non ferrous metal will decrease it.
Changing the inductance changes the frequency of the oscillation, which you can tell by comparing it to some other frequency such as some internal oscillator.
However I do have a metal detector, and it does not indicate the difference between iron and other metals at all. I read that you can learn to distinguish object by sound. But the sound produced will no longer show in which direction has the search coil shifted, this information is lost since phase shift is only a thing if you are comparing two frequencies, not hearing sound that their difference produces.
Is there a technical challenge to filtering out ferrous/non ferrous metal when detecting metals? I was looking into making a simple detector with arduino and if there's such challenge I'd like to be aware of it.