Arduino Radar System using Processing Android App and Ultrasonic Sensor

This is an interesting project in which we explore the power of an Arduino and Android to create a Surveillance device which uses Arduino and Ultra Sonic Sensor to broadcast the information to a mobile application (Android) using Bluetooth.

Safety and Security has been our primary concern since ages. Installing a security camera that has night mode with tilt and pan option will burn a big hole on our pockets. Hence let us make an economic device which does almost the same but without any video features.

Arduino Radar System using Processing Android App and Ultrasonic Sensor

This device senses objects with the help of Ultrasonic Sensor and hence can work even during night times. Also we are mounting the US (Ultra Sonic) sensor over a servo motor, this servo motor can be either be set to rotate automatically to scan the area or can be rotated manually using our Mobile app, so that we can focus the ultrasonic sensor in our required direction and sense the objects present over there. All the information sensed by the US sensor will be broadcasted to our Smart phone using Bluetooth Module (HC-05). So it will work like a Sonar or a Radar.

Interesting right?? …. Let us see what we would require to do this project.



  • A +5V power supply ( I am using my Arduino (another) board for power supply)
  • Arduino Mega (You can use anything from pro mini to Yun)
  • Servo Motor (any rating)
  • Bluetooth Module (HC-05)
  • Ultra Sonic Sensor (HC-SR04)
  • Breadboard (not mandatory)
  • Connecting wires
  • Android mobile
  • Computer for programming


  1. Arduino Software
  2. Android SDK
  3. Processing Android (To create mobile application)

Once we are ready with our materials, let us start building the hardware. I have split this tutorial into Arduino Part and the Processing Part for easy understanding. People who are new to processing need not fear much because the complete code is given at the end of the tutorial which can be used as such.

Downloading and Installing Softwares:

The Arduino IDE can be installed from here. Download the software according to your OS and install it. The Arduino IDE will require a driver to communicate with your Arduino Hardware. This driver should get installed automatically once you connect your board with your computer. Try uploading a blink program from examples to make sure you Arduino is up and running.

The Processing IDE can be installed from here.  Processing is an excellent open source application which can be used for many things, it has various modes. In “Java Mode” we can create windows computer applications ( .EXE files) and in “Android mode” we can create Android mobile Applications ( .APK files) it also has other modes like “Python mode” where you can write you python programs. This tutorial will not cover the basics of Processing, hence if you want learn java programming or processing head on to this great YouTube channel here.

Arduino Hardware part and Circuit Diagram:

This project involves a lot of components like the Servo Motor, Bluetooth Module, Ultrasonic Sensor etc. Hence if you are an absolute beginner then it would be recommended to start with some basic tutorial which involves these components and then come back here. Check out our various projects on Servo Motor, Bluetooth Module and Ultrasonic Sensor here.

All components are not powered by the Arduino itself because, the servo motor, Bluetooth module and US sensor altogether draws a lot of current which the Arduino will not be able to source. Hence it is strictly advisable to use any external +5V supply. If you do not have an external +5V supply at your reach, you can share the components between two Arduino boards as I have done. I have connected the Servos power rails to another Arduino board (red colour) and connected the Bluetooth module HC-05 and Ultrasonic sensor HC-SR04 to the Arduino mega. CAUTION: Powering up all these modules using one Arduino board will fry up the Arduino voltage regulator.

Connection diagram for this Arduino Based Sonar Project is given below:

Once the connections are made, mount the US sensor onto your Servo motor as shown below:

I have used a small plastic piece that was in my junk and a double side tape to mount the sensor. You can come up with your own idea to do the same. There are also servo holders available in market which can be used for the same purpose.

Once the Servo is mounted and the Connections are given, it should look something like this.

Follow the schematics on top if get any connections wrong. Now let us start programming the Arduino Mega using the Arduino IDE.

Arduino Software Part:

We have to write our code so that we can calculate the distance between an object and Ultra Sonic sensor and send it to our mobile application. We also have to write code for our servo motor to sweep and also get controlled from the data received by the Bluetooth module. But don’t worry the program is lot simpler than you can image, thanks to Arduino and its libraries. The complete code is given below in the code section.

Below function is used to make the servo motor automatically sweep from left to right (170 to 10) and again from right to left (10 to170). The two for loops are used to achieve the same. The function us() is called inside both functions to calculate the distance in between the sensor and the object and broadcast it to the Bluetooth. A delay of 50 ms is given to make the servo rotate slowly. The slower the motor rotates the accurate your readings become.

//**Function for servo to sweep**//
void servofun()
  Serial.println("Sweeping"); //for debugging 
  for(posc = 10;posc <= 170;posc++)   // Using 10 to 170 degree is safe than 0 to 180 because some servo might not be operational at extreme angels 
    servo.write(posc); // set the position of servo motor
  us();    //measure the distance of objects sing the US sensor                
  for(posc = 170;posc >= 10;posc--)   
    us();    //measure the distance of objects sing the US sensor             
  Serial.println ("Scan Complete"); //for debugging
//**End of Servo sweeping function**//

As said earlier the servo motor can also be controlled manually from the smart phone. You simply swipe right to make the motor move right and swipe left to make the motor move left. The above function is used to achieve the same.  The angel of the servo motor will be directly be received by the Bluetooth module and stored in the variable BluetoothData, then the servo is position in that particular angel by using the line servo.write(BluetoothData).

//**Function to control Servo manually**//
void manualservo()

// Get value from user and control the servo
   if (Blueboy.available())
   if (BluetoothData == 'p')
//__End of manual control function__//

The distance present before the object will be calculated by below function. It works with a simple formulae that Speed = Distance/time. Since we know the speed of the US wave and the time taken the distance can be calculated using the above formulae.

//**Function to measure the distance**//
void us()
 int duration, distance;
  digitalWrite(trigPin, HIGH);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = (duration/2) / 29.1; // Calculates the distance from the sensor
  if (distance<200 && distance >0)
//__End of distance measuring function__//

If you have any doubts in the program, feel free to use the comment section for your quires. So, once we are ready with our code we can straight away dump the code into our hardware. But the surveillance device will not start working till it is connected to the Android Application. Also check the Video at the end for complete working.

Android Mobile Application for Ultrasonic Radar:

If you do not want to make your own application and instead just want to install the same application used in this tutorial you can follow the steps below.

1. You can directly download the APK file from the below link. This APK file is made for Android version 4.4.2 and above (Kitkat an above). Extract the APK file from the zip file.

Android Application for Ultrasonic Radar

2. Transfer the .Apk file from your computer to your mobile phone.

3. Enable installing application from Unknown sources in your android settings.

4. Install the pplication.

If successfully installed, you will find the application named “Zelobt” installed on your phone as shown below:

If you have installed this APK, then you can skip the below part and jump to the next section.

Programming your own Application using Processing:

Either you can use the .APK file given above or you can build your own app using Processing as explained here. With little knowledge on programming it is also very easy to write your own code for your android application. However if you are just beginning then it is not advisable to start with this code since its a bit high than the beginner level.

This program uses two libraries namely, the “Ketai library” and the “ControlP5 library”. The ketai library is used to control all the hardware present inside our mobile phone. Things like you phones battery level, proximity sensor values, accelerometer sensor values, Bluetooth control options etc. can be easily accessed by this library. In this program we use this library to establish a communication between the phones Bluetooth and the Arduino Bluetooth (HC-05). The “ControlP5 library” is used to plot graphs for our radar system.

The complete android program is attached, you can download it from here.

CAUTION: Do not forget to install the above mentioned libraries and do not copy paste the code part alone, because the code imports images from data folder which altogether is given in above attachment. Hence download and use only that.

Once you are done with the coding part and have successfully compiled it you can directly connect your mobile phone to your computer through data cable and click on play button to dumb the application onto your mobile phone. Also check our other Processing Projects: Ping Pong Game using Arduino and Smart Phone Controlled FM Radio using Processing.

Arduino Radar System using Processing Android App and Ultrasonic Sensor schematic

Working Explanation:

Now, we are ready with our hardware and the software part. Power up your hardware and pair your mobile to the Bluetooth module. Once paired open your “Zelobt” application that we just installed and now wait for a second and you should notice your Bluetooth module (HC-05) automatically getting connected with your smart phone. Once the connection is established you will get the following screen:

You can notice that it says connected to: Device name (hardware address) on the top of the screen. It also displays the current angel of the servo motor and the distance between the US sensor. A blue graph is also plotted on the red background based on the measured distance. The closer the object gets the more the taller the blue area gets. The graph measured when some objects are placed near is also shown in the second figure above.

As said earlier you can also control your servo motor from your mobile app. To do these, simply click on stop button. This will stop your servo from sweeping automatically. You can also find a circular wheel at the bottom of the screen which when swiped will rotate in clock or anti clock wise direction. By swiping this wheel you can also make your servo motor turn in that particular direction. The wheel and the graph updated when swiped are shown in the picture below.

Read more: Arduino Radar System using Processing Android App and Ultrasonic Sensor

About The Author

Ibrar Ayyub

I am an experienced technical writer with a Master's degree in computer science from BZU Multan University. I have written for various industries, mainly home automation, and engineering. I have a clear and simple writing style and am skilled in using infographics and diagrams. I am a great researcher and is able to present information in a well-organized and logical manner.

Scroll to Top