Hi everyone,
I would like to share the progress I’ve made on my metal detector project so far. The analog front-end is largely the same as the VLF DISC design of the ITMD3, but there is a strong digital electronics component. The adaptation to the TX frequency, demodulator clock generation, tone generation, parameter settings, and data acquisition (12-bit resolution) are all managed by an STM32F303K8 running at 64 MHz. It uses a Nokta IM28 coil.
As you can see, everything is still on a breadboard, but it works quite well. The noise on the demodulator lines is ±25 mV—which I know is a lot—but it's a good starting point. Please take a look at the attached XY chart. It shows the signal produced by different targets when lowered near the coil.
Detection starts at about 18 cm for a ring and 25 cm for a large coin. The SSD1306 OLED display caused a vertical line, ferrite produced a line in the top-right quadrant, and a screwdriver tip created a loop—very interesting, but more importantly, very distinguishable! I didn’t think it would be this easy to discriminate between different targets.
The output audio tone, however, turned out terribly—I initially thought my approach would help with discrimination, but it didn’t. I plan to implement a tone that changes based on the slope of the received signals.
All STM32 programming was done using Keil IDE with direct register manipulation for timers, GPIO, ADC, etc. There’s a lot of optimization to be done, but I’ll get there step by step. I plan to design a PCB that includes everything except the microcontroller so that different ones can be used as needed, making modifications easier.
I know there's still a lot to explain and much more to do, but since today I heard a tone from it for the first time, I just couldn't contain my excitement! If you have any questions, I’ll be more than happy to answer.
In the meantime, I plan to upload everything to a GitHub repository so the material will be accessible to everyone—but it will take a few days.
All updates and tests will be posted in this thread. I hope you’ll find them useful!
A Personal Note
In 2012, when I was 15, I became interested in metal detectors. I was also fascinated by electronics, so I searched online for schematics. I found a BFO, BJT-based schematic—which I clearly didn’t understand at the time—and tried to build it. My father drove me 80 km to a city where they sold copper wire for windings (since no one in my town had it), and I built my first monocoil.
Of course, it never worked, but I still have the coil and some spare wire.
Years passed—I graduated from technical high school, enrolled in university for electronic engineering, found a job as a high school teacher, graduated, and am now pursuing my master's degree. Through all of this, I had many happy and difficult (very difficult) moments, but one thing remained constant: my desire to build a metal detector.
It wasn’t until last year that I bought an ITMD2 and finally understood how it worked.
Since then, I’ve experimented with coils, IB, oscillators, and RX amplifiers. After more than a year of prototyping—and 13 years of wondering how a metal detector works—today, I have my first working prototype. I can’t put into words how I felt when I finally heard that buzzing sound. I nearly had tears in my eyes.
This was all possible thanks to all of you, and especially Mr. Moreland, for helping me reach this milestone—though this is just the beginning.
Thank you, everyone!
I would like to share the progress I’ve made on my metal detector project so far. The analog front-end is largely the same as the VLF DISC design of the ITMD3, but there is a strong digital electronics component. The adaptation to the TX frequency, demodulator clock generation, tone generation, parameter settings, and data acquisition (12-bit resolution) are all managed by an STM32F303K8 running at 64 MHz. It uses a Nokta IM28 coil.
As you can see, everything is still on a breadboard, but it works quite well. The noise on the demodulator lines is ±25 mV—which I know is a lot—but it's a good starting point. Please take a look at the attached XY chart. It shows the signal produced by different targets when lowered near the coil.
Detection starts at about 18 cm for a ring and 25 cm for a large coin. The SSD1306 OLED display caused a vertical line, ferrite produced a line in the top-right quadrant, and a screwdriver tip created a loop—very interesting, but more importantly, very distinguishable! I didn’t think it would be this easy to discriminate between different targets.
The output audio tone, however, turned out terribly—I initially thought my approach would help with discrimination, but it didn’t. I plan to implement a tone that changes based on the slope of the received signals.
All STM32 programming was done using Keil IDE with direct register manipulation for timers, GPIO, ADC, etc. There’s a lot of optimization to be done, but I’ll get there step by step. I plan to design a PCB that includes everything except the microcontroller so that different ones can be used as needed, making modifications easier.
I know there's still a lot to explain and much more to do, but since today I heard a tone from it for the first time, I just couldn't contain my excitement! If you have any questions, I’ll be more than happy to answer.
In the meantime, I plan to upload everything to a GitHub repository so the material will be accessible to everyone—but it will take a few days.
All updates and tests will be posted in this thread. I hope you’ll find them useful!
A Personal Note
In 2012, when I was 15, I became interested in metal detectors. I was also fascinated by electronics, so I searched online for schematics. I found a BFO, BJT-based schematic—which I clearly didn’t understand at the time—and tried to build it. My father drove me 80 km to a city where they sold copper wire for windings (since no one in my town had it), and I built my first monocoil.
Of course, it never worked, but I still have the coil and some spare wire.
Years passed—I graduated from technical high school, enrolled in university for electronic engineering, found a job as a high school teacher, graduated, and am now pursuing my master's degree. Through all of this, I had many happy and difficult (very difficult) moments, but one thing remained constant: my desire to build a metal detector.
It wasn’t until last year that I bought an ITMD2 and finally understood how it worked.
Since then, I’ve experimented with coils, IB, oscillators, and RX amplifiers. After more than a year of prototyping—and 13 years of wondering how a metal detector works—today, I have my first working prototype. I can’t put into words how I felt when I finally heard that buzzing sound. I nearly had tears in my eyes.
This was all possible thanks to all of you, and especially Mr. Moreland, for helping me reach this milestone—though this is just the beginning.
Thank you, everyone!
Comment