Measuring Electromagnetic Radiation with the Arduino

My mum is always going on about how mobile phones can damage your brain after reading online articles about it. So I decided to see what she was on about by building my own simple electromagnetic radiation detector to test what phones put out.

Phone radiation meter

Phone radiation meter


Let’s start off by figuring out what it is we are trying to measure. Electromagnetic radiation is emitted by any piece of wire or metal passing current. Or that’s at least how my electronics teacher explained it to me. So when a phone calls up the telephone tower it has a lot of wires passing a decent amount of current through them, generating a fair bit of EM radiation.

The Huawei X1

I’ll be using my own huawei x1 as the test phone for this. I made this demo video of it below.

The circuit

The circuit is pretty simple for this project consisting of a piezo buzzer and a lot of wire. The circuit goes like this:

Circuit image developed using fritzing

Circuit image developed using fritzing

Circuit image developed using fritzing

OK so I did make one mistake in drawing these up (and in the picture at the top). The wire array should not be connected to 5V. The electromagnetic fields provide the power which pin A0 then reads.


So once all that’s hooked up we can have a look at our code.

This is what it looks like. It’s basically a simple modification of the AnalogReadSerial sketch. All I did was make a modification so I could hear the changes in the magnetic fields.

 Reads an analog input on pin 0, prints the result to the serial monitor 
 This example code is in the public domain.

void setup() {

void loop() {
  int sensorValue = analogRead(A0);
  Serial.println(sensorValue, DEC);
  tone(9, sensorValue);

Basically it reads how much current is being passed by the wire and prints that out to serial and as a tone on the piezo. Simple.

So we can log this data into our serial monitor. If you open the serial monitor with this sketch on your arduino then you should get a stream of data like this:

The serial feed

The serial feed

I recommend that you have the arduino feed data for about 10 seconds then unplug the arduino board. During these 10 seconds try waving your phone around and turning it on and off near the array to get results. You should hear the difference with the piezo making even uglier noises. Once the serial feed has stopped after you have unplugged the board copy and paste the data into excel. Select the data and make a line graph. You should get something like this. It looks pretty cool.

That's electromagnetic radiation emitted by my phone. That's pretty cool.

That's electromagnetic radiation emitted by my phone.

For the example of data above I was waving my phone around the array and accessing internet and stuff. The big spike is when I make a request to a 3G tower.

You can pretty much do this with any electronic device so experiment a bit. You can even make music that’s triggered by swiping your phone’s screen. With my Huawei X1, swiping the screen results in a spike in electromagnetic activity. This is a very primitive way to interface an android phone with an arduino. Who needs an ADK?

Actually figuring out how much energy is coming out of the phone will probably involve a lot of maths. I’m not terribly good at maths so I might leave to someone else to make another day.

So that’s how I measured how much radiation my phone puts out when it does various tasks. All you need is some wire and an arduino. It’s a good project to show how easily the arduino can be used for research. I’m still waiting to get my birthday pressies and I’ve got my fingers crossed that there might be some electronics money in there 🙂




Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s