EMF Detector 0- 999 Hz for ATtiny 85




Introduction: EMF Detector 0- 999 Hz for ATtiny 85

About: The key to success is to be giving exceptional experience to anyone becoming a fan of your club over a long period of time. There is very minimal focus on making a sale or self promotion, and a large focus on …

An EMF meter can measure AC electromagnetic fields, which are usually emitted from manmade sources such as electrical wiring, while gauss meters or magnetometers measure DC fields, which occur naturally in Earth's geomagnetic field and are emitted from other sources where direct current is present.

First a BIG thank you to the Arduino open Source community where I learned in record time how to.

Due to sharing, the internet and many websites and electronic clubs, it was possible to pick up my hobby again where I left off and re-learn within just over 2 years.

This instructable is Inspire by Khaleel123 and here describing how I made my own version.

Make your own EMF meter


EMF measurements are measurements of ambient (surrounding) electromagnetic fields that are performed using probes. These probes can be generally considered as antennas although with different characteristics. In fact, probes should not perturb the electromagnetic field and must prevent coupling and reflection as much as possible in order to obtain precise results.

As we are also detecting 240 VOLT inside walls and 50 Hz it is not possible to use a probe.

That is why I use an antenna. Do not insert any probes into power points.



The Antenna can be calculated from a German website. I have built in the antenna onto the circuit board. I put in from 0 Mhz to 999 MHz and it tells me the measurement for this broad range of frequency. http://www.cnet.de/41001557/die-beste-eigenbau-dvb-t-antenne-doppelquad-fuer-5-euro-basteln/3/

The site is in German but has an antenna calculator. It is easy to understand if you like to calculate a specific frequency yourself.

niedrigste Frequenz = lowest frequency

hoechste Frequenz = highest frequency

Quadrat-Kantenlaenge = square edge length

AntennenHoehe = Antenna hight

Gesamtlaenge Draht(in cm) = total wire length in cm

Step 1: Design

Oszilloskop picture

The measuring point was at the antenna input before the diode.

It measures the 50 hertz we have on our power line.


in the code you can fine tune

if (average > 50){ // if the average is over 50 ...

digitalWrite(LED1, HIGH); // light the first LED}

else{ digitalWrite(LED1, LOW); // turn that LED off}

if (average > 250){ // adjust the value 250 to fine tune

digitalWrite(LED2, HIGH);\}

else{digitalWrite(LED2, LOW);}

if (average > 450){ //adjust the value 450 to fine tune

digitalWrite(LED3, HIGH);}

else{digitalWrite(LED3, LOW);}

if (average > 650){digitalWrite(LED4, HIGH); //adjust the value 650 to fine tune to about max 950 }

else{digitalWrite(LED4, LOW);}

If you want more LED's or a bar graph and like to use the Arduino Mega, you can also use the BAR-GRAPH Arduino sketch in your IDE . It works really well.

Step 2: Where to Get the Shield

You can purchase a shield on my web site


and under construction at www.arduinomaster.com.au

a Complete kit is available

You will need

1 EMF Detector shield ( or breadboard)

look for: ATtiny 85 programmer shield for Arduino UNO

4x 100R or 120 Ohm resistors to limit the current to the LEDs if 3 volt CR 2032 button cell battery is used

OR 4x 180R to 200R resistor if an LIR 2032 @ 3.6-volt button cell battery is used

4x LED light emitting diodes

4x 1M resistors

1 x 8 pin socket, as you may want to take the IC out to fine tune the settings

1x ATtiny85 chip from a reliable source. I can sell you one or Element 14

1x signal diode 1N4148

not necessary, but I always include a 250 mAH resettable fuse, especially when designing on a breadboard

available on eBay

look for: 72V 250mA 0.25A Resettable Fuse Radial PPTC Polyswitch


1x battery holder for button cell or two 1.5volt AA batteries

1x switch

1x battery LIR 2032 @ 3.6-volts OR CR 2032 @ 3 volts. Note that I use different resistors.OR 2x 1.5 volt AA or AAA

wire for the antenna if you make your own (mine is etched into the circuit board) but also provides a pin to attach other self-made antennas.

Step 3: My First Prototype With Antenna

On my first prototype, I experimented with an antenna. It is just as good. If you leave the diode off it is more sensitive, but also more unstable.

This version has no current limiting diodes as the voltage is only 3 Volts. But it is better to use them for extended LED life.


My calculations are

3 volts source voltage

2.76 forward voltage

2.38 forward current

And the online calculator comes up with 120 Ohms.

So I used the next smaller resistor, having plenty of the 100 Ohm in stock.

For testing the diode voltage and current I used my Digitech QT2216 Component tester I had purchased at Jaycar for around $45.

But every time there is something good on the market someone buys it outright and sells it for a much higher price or it was a copy of the Comtech.

Now you find them too expensive. Search: GA72640 COMTECH

If you need to learn more about programming the ATtiny 85. I will teach in my next instructable how to.

Till then look at my website for instructions on Programming.


And have fun with your build.

Step 4: Where to Buy

Yes, You can purchase the EMF detector.

AUS $ 15.00 without battery

AUS $ 18.50 with LIR 2032 rechargeable battery

freight free worldwide

you can pay via PayPal to arduinomastercomau@gmail.com

I will then automatically get your address and post it the next day.

item location Gold Coast QLD Australia.

Make It Glow! Contest

Participated in the
Make It Glow! Contest

Be the First to Share


    • Lamps Challenge

      Lamps Challenge
    • Anything Goes Contest

      Anything Goes Contest
    • Puzzles Challenge

      Puzzles Challenge



    3 years ago

    in schematic is not match with the uno code, is not same PB4 and PB3 must be change the place


    5 years ago

    Nice! I was wondering why the averaging routine uses an array? It seems needlessly complex since you are just averaging the readings and do nothing with the individual values. Just keep a running total and a sample counter and divide when number of samples == NUMREADINGS. No need to store each value in an array and much faster.


    6 years ago


    Two suggestions/questions (I did something quite similar with an arduino focused on the 50 Hz) :

    1) Did you try to replace your antenna by a single wire ? I'm curious because you are in near field and I'm curious to know if the antenna shape really makes a big difference (maybe it's just a question of surface, I saw that some people use a simple copper strip).

    2) You protect your ATiny input with a diode. It means that you have a voltage drop and that you lose half the remaining signal. Why not plug the antenna on a fixed voltage ref (like link your big resistors to the Vcc and plug the antenna in the middle) and measure the RMS value of the signal fluctuation ? (ok, you'll lose the "low frequency" part depending on your averaging window)

    Since your design looks quite interesting, I will try to port my own project using it, I hope the ATTiny can cope !



    6 years ago


    Fantastic project

    According to the antenna , EMF is designed for 0 MHz to 999MHz and not for 0 Hertz to 999 Hertz

    Or am I wrong somewhere , please let me now

    Kind Regards


    Reply 6 years ago

    Having another look at the antenna calculator it seems it only measures from 0 MHz range, designed for TV antennas. This was my first instructable I knocked up while I was experimenting with the subject and it had the best response from all of them. People asked me where to purchase the kit. So I am in the process of making a web site www.arduinomaster.com.au with kits, tutorials and videos in one place.


    7 years ago

    No way to go higher? Considering modifying it for ghost hunting


    Reply 6 years ago

    A Ouija board is controlled by someone in the group moving their finger onto an answer that makes sense. If you hook up some EM/RF/Geiger sensors to a bunch of lights it will never output anything other than random noise. You would also need a mic or something to trigger when a "question" has been asked by the group, otherwise it would just be a constant stream of flashing letters. Could have an arduino wired up with some pre-programmed words ( maybe a list of names / places / relevant words could be loaded in via bluetooth from a phone? ) and then a mic to pick up when there is silence (i.e. after someone asked a question) and then it would light up letters from a randomly selected word stored on the arduino


    Reply 7 years ago

    The link to the antenna is not working in my write up, but you can cut and paste it into your browser. There you can put in any frequency you like and construct your own antenna accordingly. I do not believe in Ghosts and have to be very logic to make electronics work. But we spend a lot of time writing instructions for anyone to learn, copy and make something the same or different. I briefly considered the Ghost hunter option, but have no idea what frequency Ghost hunters use. Thank you for your comment.