Ultrasonic Blind Walking Stick

According to the WHO, about 30 million people are estimated to be permanently blind worldwide. These people are totally dependent on others. They even cannot walk on their own. We have created designed and built an “Ultrasonic Blind Walking Stick” device which will help blind people to walk with ease independently. As a simpler version, we have used only one ultrasonic sensor in this project. For better accuracy and assistance two or three sensors can be used.

The main objective of this project is to help blind people to walk with ease and to be warned whenever their walking path is obstructed with other objects, people or other similar odds. As a warning signal, a buzzer is connected in the circuit, whose frequency of beep changes according to the distance of object. The closer the distance of obstruction, the more will be the buzzer beep frequency. We can say that the beep frequency is inversely proportional to the distance.

The main component used for this device is the ultrasonic sensor.  The ultrasonic sensor transmits a high frequency sound pulse and then calculates the time to receive the signal of the sound echo to reflect back. The sensor has 2 circles. One of them acts as the transmitter and transmits the ultrasonic waves. The other one acts as a receiver (mostly a small microphone) and receives the echoed sound signal. The sensor is calibrated according to the speed of the sound in air. With this calibrated input, the time difference between the transmission and reception of sound pulse is determined to calculate the distance of the object. This circuit is powered by a 9-volt battery through a switch.

Components Used

Ultrasonic SensorHC-SR041
Buzzer5 Volt1


In the circuit an Arduino Nano is used as the platform. Ultrasonic sensor is connected to Arduino. The ultrasonic sensor has 4 pins –

  • Vcc or 5 volt which is connected to 5 volt pin of Arduino
  • Trigger which is connected to D12 pin of Arduino
  • Echo pin is connected to D11 pin of Arduino
  • Ground which is connected to GND pin of Arduino.

Positive terminal of 9-volt battery is connected to Vin pin of Arduino through a DPDT switch and the negative terminal is connected to GND pin of Arduino. A buzzer is connected between D9 pin of Arduino and GND pin.

The whole project has been designed on Eagle. The same circuit prototype can be made using a breadboard or zero PCB. The circuit diagram and PCB design are given below.

Ultrasonic Blind Walking Stick Using Arduino - Circuit Diagram
Ultrasonic Blind Walking Stick Using Arduino – Circuit Diagram



Ultrasonic Blind Walking Stick - PCB Design
Ultrasonic Blind Walking Stick – PCB Design

PCB Board
PCB Board


Ultrasonic Blind Walking Stick
Ultrasonic Blind Walking Stick


As shown in diagrams there are two openings in Ultrasonic sensor first is transmitter (or Trigger) and second is receiver (or Echo).

Ultrasonic sensor sends high frequency pulses, these pulses reflects from object and takes as Echo, time between echo and Trig is measured by the microcontroller or Arduino which is directly proportional to distance.

The speed of sound is 341 meter per second in the air, and the distance between sensor and object is equal to time multiplied by speed of sound divided by two.

Distance = (Time * Speed Of Sound) ÷ 2

After the distance measurement, Arduino makes a beep format using buzzer, when distance is high, frequency of beep is decreased and beep frequency is increased when distance is low

The range of HC-05 Ultrasonic sensor is not high, it can only measure 50cm in open space, for more distance many other powerful sensors are available in the market.



Ultrasonic Blind Walking Stick
Ultrasonic Blind Walking Stick

Program Code

Download Program Code

Code file is given in the link, just download this file and upload to Arduino. In the code, a library is used by the name Ultrasonic.h, this library is not added in Arduino by default. For adding this library to Arduino download the zip file from the link https://github.com/JRodrigoTech/Ultrasonic-HC-SR04. Extract the file and copy the folder inside the extracted folder and paste in library folder whose location is This PC > Document > Arduino > libraries.

In the first line of code, ultrasonic library is declared by “#include <Ultrasonic.h>. In the second line pins of ultrasonic sensor is declared by line “Ultrasonic ultrasonic (12, 11)” in which 11 is “Echo” pin of Arduino and 12 is “Trig”.

Next an integer is declared by the name “buzzer = 9” here 9 is the D9 pin of Arduino.

In the “void setup()” buzzer is the pin declared as Output pin by function pinMode (buzzer, OUTPUT)

In the void loop section an integer is declared by the name distance ,which is equal to distance measured by ultrasonic sensor, for the distance measurement a function “ultrasonic.Ranging(CM)”is used. This function measures the distance in Centimeter.

Now we want to make a beep signal, when distance is less than 50 cm so if any condition is used “if (distance<50). When this condition become true Arduino measures the “dil” which is equal to 2*diatance. This “dil” is an integer and defined in the same line.

Now buzzer is switched on by using “digitalWrite(buzzer,HIGH” and a delay of dil time is given after that buzzer is switched off by using same function. digitalWrite(buzzer,LOW)” after all delay of dil is also dicen by function “delay(dil)”



  1. Sir, can you please tell me what is the use of dpdt switch in this project?

  2. samruddhi deopurkar

    nice..but how can you do this on proteus software? plz help mi..

  3. sir plz send us the code of smart blind stick using arduino nano