Two Questions

Dear People,

If analogRead() can read betwean 0 and 1023 over 5 volts can it also send? for example analogSend(digit)?

Im still lerning electronics and im verry new in this world. I need to know what and how the possibility’s are and work. If someone could help me i would be ever thankful! Here comes the second question.

Is this possible:

If not can some one help me how to draw a scheme that it makes it possible to make a communication from the first coil to the second
coil? It is a one way communication the first sends the seccond receives. And is it possible to read the strength of the signall send bij the sender coil?

Manny thanks,


There is a website here that has lots of links about VLF (very low frequency) transmissions that may help you with the radio part:

Can you say a little more about what you want to achieve with your project. Is this a set task for a course, or are you interested in exploring VLF transmission or are you open to more conventional ways of wireless communications using the arduino?

Hello Mem,

Thanks! I want to build a metaldetector by using the arduino interface. So i could setup a Motion / VLF or PI (pulse induction) all controlled by the arduino and the computer.

Manny thanks,


Hi Christian,

I am not familiar with what signals a metal detector uses, but I have difficulty imagining how using the arduino would be better than generating the signals using conventional analog oscillators. Perhaps if you explain what kind of inputs and output signals you would need at the op amps someone could explain how to get the arduino to generate those signals.

Hello Mem,

I have made a second image of the Motion/VLF/PI. The coil needs to make a magnetic field at 3KHZ or for example 15KHZ and when the field is disturbed the read coil should give an another signal back.

The thing i want to get work is sending the signal by computer and also receve the signal by computer so that i can make a program for it an do experiments with it.

Sorry for my english im from the Netherlands :-)

For as far i beleve the coil is getting a frequens like a radio but need to be stronger to read so thats why i used a opamp? (i hope i do it rigth) If there are other ways or if i forget something please let me know!




Thanks for the link. I did a quick google search and came up with this:

It uses a pic microcontroller rather than an Arduino but it may give you some ideas about how to proceed.

Hello Mem,

Thanks for the Link i have read the page but not yet the scheme. The thing i want is to controll the metal detector by computer and not as a stand alone. And i hope some one can help me with the electronics. So the only thing i will need is to send and receive the signals (also need to be read and send by computer). So i can program on the results of from the readed information of the coil. :-)

It mayby is a long way for me but i will come to the point if it is going to work :-)




I hope someone with experience in this area can give you more specific advice, but the schematic diagram in the link above indicates that you can drive the coil from a digital output if you use a transistor or fet to provide the drive current. Its not clear if you need a PWM signal, perhaps the square wave output from digitalWrite would be OK. Reading the phase delay of the incoming signal is trickier. But I am sure you can find some more ideas with some creative google searching.

Have fun and good luck!

Hello Mem,

I have send a message to the person from the url that you have send me. I hope he can provide me for some information or even some schematics for building the coil data as i want to. I hope to get a message back from him. I will wait.

If someone else has experiance with metal detectors please let me know!

Manny thanks,


In the mean time, have a good search for diy metal detectors using google. I would think you can find many sources of information on the web.

Back in the 60s I made a metal detector for use in pharmaceutical factories to test for contamination. It consisted of three coils, one was excited at 40KHz and the other two were either side of it and wired in anty phase so that normally the two signals balanced out except when there was metal disturbing one side or other. The coils were then fed into a differential amplifier before being detected. All this without micros.

You will probably need to generate a frequency either through the PWM or probably better an interrupt attached to a timer. Then you can pulse it or send it continuously or change the frequency at will. You are would then put this through a phase detector before feeding this into the analogue input of the Arduino.

To get the maximum amount of current through the coils you should aim to drive them at the resonant frequency so you need some capacitance across the coils as well (or in series).

You don't say what sort of metal detector you are after, is it the buried treasure type or is it detecting drains type.

Hi Mike, I could have guessed that this was something you had done at one time or another.

You would then put this through a phase detector before feeding this into the analogue input of the Arduino.

That's how the one in the link I posted above was done, but I was wondering if the phase detection could be done digitally by amplifying the received pulses and measuring the time from an edge of the generated signal (start timer1 counting) to the detection of the reflected signal (stop timer1 using input capture mode). The time resolution could be something in the order of 100ns if no prescale was used.

Just a thought

Hello Both,

You don't say what sort of metal detector you are after, is it the buried treasure type or is it detecting drains type.

Its for treasure hunting (ferro/non ferro) but i need to go to the sports now and ill be back in several hours. (+/- 2 hours). Then ill read and awnser your message carefully!




Uhm?! Okey, if i understand it rigth you say that i should make a pulse generator. Is this not possible to do this by the arduino? I dont know how fast the arduino is or if it is even possible. Uhm im a litle confused.

It could be that i should use a AD/DA converter but im a litle stuck and dont know where to start.

Manny thanks,


I suggest that a good start is to research how others have approached this problem. Its an interesting project and I expect you can find information on various implementations on the web.

Many of them will use analog techniques for measuring the delay between the sent and received pulses That will require less programming and more electronics. I am not sure how easy it will be to implement what you want digitally, I would think the arduino is capable of it but it feels to me like a difficult project if you are just starting out.

The circuit on the page I linked is a hybrid. It looks like it generates the pulse digitally but detects the phase delay using an analog circuit to produce a voltage proportional to the delay. The voltage is read in that circuit by an external Analog to Digital Converter but on the Arduino you can get this functionality using analogRead() function.

If you are not in a rush, see if you get any more suggestions here, and do have a really good search with google.

Hello Mem,

If you are not in a rush, see if you get any more suggestions here, and do have a really good search with google.

Im not in a rush :-) i have time but the thing is the programming is not the problem becorse i like programming (im doing it in perl (Win32/Linux))

You must know that i search with a metal detector for several years now and i thougt i can also make a metal detector but do the minimum on electronics and the most by software so that i can do what i want with the data and even make data filters, time readings etc even collect the readings where i have been on the field. But that is not all, i can also do better messurements by digital data.

Shortley it is a cool project for me!

Im also looking at google and im going to collect some more information. But i need to be pacient to collect all information. Im also lerning electronics and i have also some other idears but this is the thing where i want to work to it!

Mayby i just need to start with binding a coil ;-)

But i think this is almost the way to build the standard circuit, to have a coil, strongen the signal, convert it to an digital signal and input it to the arduino for reading. The second thing is to make a signal, make the signal stronger and bring it to the coil. but if it is to make a pulse by using the arduino i dont know. Mayby i should use a continus puls generator in analog technique. but only say by computer so from, start send stop sending.

It are a lot of questions to be honest :-/ sorry.

Manny thanks,


I think that building this in the digital domain would make a very interesting project. I don't have enough experience with the specifics to say how easy or hard it will be but I encourage you to pursue it.

You may want to break it down into more easily digestible components. The coil part can be thought of as a medium power very low frequency radio transmitter and receiver. I am sure you will find information on suitable coils and how to drive them. The circuit linked earlier in this thread looks like it is driving the coil in the digital domain so that is encouraging. But you may find useful information looking at non metal detector sources, for example transmitting data using VLF.

Once you have figured out how the arduino can drive the coil to send the pulses, you need to build the receiver side. This will need some kind of amplification and there is lots of information for that. The area that is least clear is how you detect the phase shift, it sounds like you would prefer to do this digitally. Assuming you can get clean pulses out of your detector coil, I think there are many ways the arduino can measure the time between sent and received pulses.

You may want some test equipment to help you. If you don't have access to an oscilloscope, you can make one using a sound card and a pc (google sound card and oscilloscope). This will help you getting the sending and receiving side going.

Hi mem,

but I was wondering if the phase detection could be done digitally

Yes I don't see why not if you take the signal through a zero point crossing detector. In fact you can get a bit of information about the type of metal by the phase as well as the background effects caused mainly by water. So it could be that you could get better results by analysing the signal a bit more than we used to do in the old days. We could always see tantalising information on the scope but without micros there was little we could do with it.

It's the same principal as metal detectors used in air ports. I even considered using it in a feasibility study to count people in and out of a shopping centre in Manchester but it was a bit too radical for the person leading the project.

Just a point, coils are not that easy to drive, in my system we had single turn coils of anything between 1 foot and two feet square. If you can drive them with more than the normal 5V it would be good. You need as much field as possible for maximum range. Pulsing isn't as easy as it sounds because it takes time for the field to build up in the coil and when you turn it off there is nothing much to detect as the return signal pulses as well.

Still an interesting project but I would start with the coils and an oscilloscope before you get into the software bit.

Hello Grumpy_Mike,

I'm talking with one that already have designed a analog metall detector and i hope he can help me with the analog part of the detector.

My first step would be two seperated boards one for the pulse generator and one for the receiver.

The Pulse generator should be completely analog first. (including a frequentie meter if possible) and of course the coil needs to be attached. For the first steps it is not nessesarly to get this part full digital.

The Receiver should have also an coil but the output from the signals that normaly is analog should be transformed to digital output. There is also no need to hear or see any things analog. This will then all be done digitaly by computer programming. (PS the receiver needs also a frequentie meter if possible)

The arduino in this case will only read data from the receiver board and transmit it to the computer.

All next steps are at this point future music ;-)

About binding a coil is not the hard part, there are manny ways to bind a coil and there are also documents for binding a coil and also for metal detectors as like this project.


Hi ART, I assume that when you say

there are manny ways to bind a coil

you meant wind a coil? I was talking about driving it. That is getting the current to flow in it. It's not that easy because it is inductive so the higher frequency you want to use the harder it is. You need more voltage or to drive it at the resonant frequency which usually means tuning it with capacitors.

Anyway it looks like you are on your way with the project so the best of luck with it. Do remember to post back here in the exhibitions section when you have completed it. :)