Introduction: Arduino EMF (Electromagnetic Field) Detector

Picture of Arduino EMF (Electromagnetic Field) Detector

A while back I saw an EMF (Electromagnetic Field) Detector at that used a led bargraph. I decided to modify it to use a 7-Segment LED Display! Here's my project. Sorry I don't have any pictures of it in use. Hopefully I can post some soon. 

Credit goes to Aaron ALAI for the original project. Also Conner Cunningham at Make: for doing a remake.

Have fun, work hard, & play nice! If you have questions please ask them!

Step 1: The Stuff:

Picture of The Stuff:

The parts & tools.

- Arduino
- 7-Segment LED Display
- 3.3M Resistor (Orange, Orange, Green)
- 470 ohm resistor (Yellow, Violet, Brown) or a similar value for the LED display
- Wire. I'm using 26 gauge wire
- Breadboard

- Computer with Arduino IDE
- USB A-B cable for Arduino
- Wire Strippers

Step 2: Wire the 7-Segment LED Display

Picture of Wire the 7-Segment LED Display

This is probably one of the most confusing parts of the project, so I'll try to be clear. But if I'm not please ask any questions you have.
I used pins 2-8 on my arduino for the display. I wired the pins on the display counter-clockwise starting at the upper-left corner. Hopefully the pictures help explain it better.

Picture 1) Display before installation.
Picture 2) Display after installation.
Picture 3) Pin 1 on the display goes to pin 2 on the Arduino.
Picture 4) Pin 2 on the display goes to pin 3 on the Arduino.
Picture 5) Pin 4 on the display goes to pin 4 on the Arduino.
Picture 6) Pin 5 on the display goes to pin 5 on the Arduino.
Picture 7) Pin 6 on the display goes to pin 6 on the Arduino.
Picture 8) Pin 8 on the display goes through the 470 ohm resistor to the side rail on the bread board
Picture 9) Pin 9 on the display goes to pin 7 on the Arduino. Also Ground on the arduino is connected to the side rail on the arduino.
Picture 10) Pin 10 on the display goes to pin 8 on the Arduino.

If you have any question please ask them!

Step 3: Add the Probe/Antenna

Picture of Add the Probe/Antenna

Make the antenna/probe:
- Cut a 6-7 in. piece of solid core wire.
- Strip one end so you can plug it into your breadboard
- Strip the other end about 2 in. from the end.

Add the antenna: (Pictures 2-6)
- Take the 3.3M ohm resistor and connect it from the ground on the arduino to a point on the breadboard
- Add another wire from where the resistor is connected to analog pin 5 on the arduino.
- Add the antenna to where the resistor and the wire are connected on the breadboard.

Step 4: The Code

Picture of The Code

 Here's some basic steps to program your arduino.

1) Download the source code from below
2) Open the file in the Arduino IDE
3) Press the "Upload to I/O Board" button
4) Once the program is uploaded it will start running

Hopefully there are enough comments in the code, but if you have any questions, please ask them.

There is no difference between the .pde file & the .txt

Step 5: Play With It!

Picture of Play With It!

Now go measure EMF's! Here's a few ideas:
- Your dog/cat
- You
- Computer
- Cell phone
- TV

Make sure to use common sense, I'm not responsible for any damage to you or your arduino!


ParthP99 (author)2017-12-17

How small of an element can the emf sensor detect(elements in soil such as nitrogen etc.)

nuting20 (author)2016-11-23

Oh common, i can not get it to work. I have a 7 segment led display, but my pins are a bit different than yours in the photo. I have added a website which shows how my pins look like. Every time i give it to something that emits an electromagnetic field, it just flickers. Will you help me please?

Jon-MichaelC (author)2016-06-25

A couple of question if you are still answering. Sorry first ever project

Can with be done with double digits display? ( want to use 2 nixe tube display)

Can you run the led bar graph along side the display?

Can you use a surplus wifi antenna as the antenna?

jerrymonkey123 (author)2016-05-21

I didnt use the 3.3M and my Atmega328P is burnt out !?

daryl.rasmusen (author)2016-05-09

Can you replace the 7seg with an LED bar graph?

JoshuaZ15 (author)2016-04-09

Why 3.3M ohms specifically?

JamesM176 (author)2016-02-09

What kind of range do you get for a human hand? How close where you when the detector first went to a 2 level? Were the distances linearly proportional to the numbers, or were the number zones smaller as you got closer? Does the direction that you approach the antenna for make any difference? Do you think if you expanded the code, could you get 1024 different touch zones out of one resistor? Because if you could then, WOW! I am definitely planning on making this.

P5ychPr0 (author)2015-12-19

Will this detect wifi?

Eng HowT (author)2015-12-07

can i use others Analog pin?

enes demirkaya (author)2015-11-01

Can i use an othher resistor

Dinoman217 (author)2015-10-03

This is cool! I just have one question, Where did you get 3.3 M Ω resistors?

mfrau92 (author)Dinoman2172015-11-01

Here you can find it

Otherwise you can combine several resistors in series, but it will result in a very messy circuit

jeremae (author)2015-07-21

can i see your sketch

moheb.habib.14 (author)2015-02-19

can i use arduino UNO using the same code ?

thepowerofone (author)2015-02-17

What units does this Arduino measure the electric field in? Is it Volts per meter or something else?

alex.cupsa (author)2015-01-23

Sketch please. :)

JoseG2 (author)2014-09-18

Can I shorten the lenght of the antena? or there's a minimum length for it to work?

thexplanet (author)2009-12-09


Can someone explain, what are the components being utilized for the sensing coil/ wire, who pick up the emf, i dont see any Inductance coil, is it built into ATMega 328??

also, it would be really grat if someone explains how does this emf sensor works.

Thanks in advance

waterlubber (author)thexplanet2012-08-13

The arduino just picks up random signals (cosmic radiation, tv, etc.) In fact, the arduino uses empty analog ports to calibrate it's random number generator

olmstw (author)thexplanet2010-02-14

This does not detect a Magnetic field...  It is a rather crude E-field detector.

That also explains why there is no coil used.

All it does is extend one of the analog inputs from the Arduino and allow stray electrostatic fields to be coupled to the A/D converter in the Arduino.

The 3.3 Meg resistor is used to "bleed-off"  excessive charge by reducing the impedence of the input.

Blaneparker (author)2012-06-07

Conner Cunningham is Collin Cunningham

lookwhatjoeysmaking (author)2011-10-11

i made mine with 3 1meg ohm resistors becouse thats all i have but it should work the same way but its not working.

owen102 (author)2011-06-25

does anyone know where i can find plans for one that does not use an arduino?

chunk_change (author)owen1022011-09-10

if you can build it with arduino and get it to work you can simply remove the Atmega IC from your arduino and build it into a stand alone device, youll just have to get the schematic for you Arduino chip and wire it how you wish.

Wally_Z (author)2011-06-08

If I were to wire this without Arduino how would I do that?

Also, is it possible to use one of these displays without any kind of IC? I am a noob to this kind of thing and would like to know if you could just put a certain amount of power to certain pins to make it work instead of doing the whole IC and coding and all that wonderful stuff.

Jordan arduino (author)2011-05-26


thefan990 (author)2011-05-25

My numbers are showing. The display is garble.

ffsman (author)2011-05-03

I tried it but instead of LED I set it to print to serial... I get only 0-2 in results whatever I measure,... only if I take antena in a hand it shows more than 50

fractalVisionz (author)2011-04-11

Hook up a speaker instead of a segmented display, and you have yourself a theramin.

mbudansky (author)2009-11-20

can i use a 4.7m resistor insted of a 3.3 resistor?

cmeacham99 (author)mbudansky2011-03-26

No because if you did, you wouldn't get a accurate reading.

Computothought (author)2010-11-23

I would love to try that with my pc joystick port. Have to use an extension cable so pc does not affect results.

johnnyhellfire (author)2010-06-09

I really enjoyed this one and had a few thoughts because this has some great possible applications in ghost hunting. 1. replacing the wire antenna with a halls effect sensor. 2. lcd and/or computer read out 3. temp. sensor added (would be real easy considering the pins are open for sensor, ref. 4. put a time stamp on any pre set spikes 5. data logger with sd card and up loading capability when connected to pc would be interesting to see if these are possible.

SpecieS~ (author)johnnyhellfire2010-11-04

Ghost hunting? Are you kidding? You don't really believe in ghosts, do you?! O_o

dunnos (author)2010-04-20

 I like the code! I learned quite a few things! (for instance, how you make subroutines) thank you!

leemck (author)2009-11-20

This is a neat project that needs pointers to the underlying physics.

      It would be really neat if there were some reading material that would help explain what is going on when the project detects an electric field.

Is there a way to generate a "1 unit electric field"?  

Could one use a bunch of antennas, each wound with a different inline loop forming different inductances to pick up different frequencies of electric field?

kikiclint (author)leemck2010-04-16

 When there is a static charge on an object, it creates electric fields.  What is being read is the electric field, or potential a distance away from a charge object.  this isn't picking up frequencies, only stray electric fields, which are different than self propagating Electro-Magnetic waves, otherwise known as photons, or light, or radio waves.

kikiclint (author)kikiclint2010-04-16

 Did I mention that this works as a good proximity detector in drier climates where there is a lot of static charge buildup?  Just don't discharge onto the arduino- same for all electronics.

devenda (author)2009-12-22

I have a other 7-segment display and other pins can you tell mee what arduino pin connects to which segment(a,b,c,d,e,f,g)?


devenda (author)2009-11-17

funny and good instructable.
But it isnt very portable...
Is there a way to let it work on batteries?

Axaj (author)devenda2009-12-04

Yes, just hook up the batteries to a 2.1mm barrel jack (center positive, I believe).

emedina94 (author)2009-10-25


Zafthan (author)2009-10-22

Great instructable, I was actually searching for something like this a few days before you posted it.

About This Instructable




More by computergeek:DIY Apple Remote (Slideshow for the instructable)DIY Apple Remote Shield for the ArduinoSimple 2-way motor control for the arduino
Add instructable to: