Contents
- 1 INTRODUCTION
- 2 OBJECTIVES OF SMART BLIND STICK USING ARDUINO
- 3 BILL OF MATERIALS
- 4 HARDWARE DESCRIPTION
- 5 SOFTWARE DESCRIPTION
- 6 BLOCK DIAGRAM OF SMART BLIND STICK USING ARDUINO
- 7 CIRCUIT DIAGRAM AND OPERATION
- 8 SOURCE CODE
- 9 YOUTUBE LINK
- 10 ADVANTAGES & LIMITATIONS
- 11 APPLICATIONS
- 12 FUTURE IMPROVEMENTS
- 13 PROBLEM FORMULATION
- 14 CONCLUCSION
INTRODUCTION
A survey by WHO (World Health Organization) carried out in 2011 estimates that in the world, about 1% of the human population is visually impaired (about 70 million people) and amongst them, about 10% are fully blind (about 7 million people) and 90% (about 63 million people) with low vision. The main problem with blind people is how to navigate their way to wherever they want to go. Such people need assistance from others with good eyesight. As described by WHO, 10% of the visually impaired have no functional eyesight at all to help them move around without assistance and safely. This study proposes a new technique for designing a smart stick to help visually impaired people that will provide them navigation. The conventional and archaic navigation aids for persons with visual impairments are the walking cane (also called white cane or stick) and guide dogs which are characterized by a many imperfections. The most critical shortcomings of these aids include: essential skills and training phase, range of motion, and very insignificant information communicated been communicated. Our approach modified this cane with some electronics components and sensors, the electronic aiding devices are designed to solve such issues. The ultrasonic sensor, water sensor, buzzer, GPS and GSM are used to record information about the presence of obstacles on the road. Ultrasonic sensors have the capacity to detect any obstacle within the distance range of 2 cm-450 cm. Therefore whenever there is an obstacle in this range it will alert the user. Water sensor is used to detect if there is water in path of the user. Most blind guidance systems use ultrasound because of its immunity to the environmental noise. With the rapid advances of modern technology both in hardware and software it has become easier to provide intelligent navigation system to the visually impaired. Also, high-end technological solutions have been introduced recently to help blind persons navigate independently. Whenever the user wants to locate it, such a person will press a button on remote control and buzzer will ring, then the person can get the idea of where the stick is placed. Vision is the most important part of human physiology as 83% of information human being gets from the environment is via sight. The 2011 statistics by the World Health Organization (WHO) estimates that there are 70 million people in the world living with visual impairment, 7 million of which are blind and 63 million with low vision. The conventional and oldest mobility aids for persons with visual impairments are characterized with many limitations. Some inventions also require a separate power supply or navigator which makes the user carry it in a bag every time they travel outdoor. These bulky designs will definitely make the user to be exhausted. so lets see, how we can design smart blind stick using Arduino in this blog.
OBJECTIVES OF SMART BLIND STICK USING ARDUINO
Visually impaired people are the people who find it difficult to recognize the smallest detail with healthy eyes. The objectives of this research work include as follows:
- To design an assistive technology for visually impaired people that can detect obstacles and provide alternative routes for the blind
- To alarm the user through vibration to determine the obstacles direction sources
- To help the user find his stick when he mistakenly loses it somewhere. Through this smart blind stick, visually impaired people will have so much of assistance.
- In case of any problem, with the function of Global Positioning System (GPS), we can track their whereabouts.
BILL OF MATERIALS
SN | COMPONENTS NAME | DESCRIPTION | QUANTITY | ![]() |
---|---|---|---|---|
1 | Arduino nano | Microcontroller | 1 | https://amzn.to/3xvYlYG |
2 | GY-NEO6MV2 | GPS module | 1 | https://amzn.to/3aVSggG |
3 | SC-HR04 | Ultrasonic sensor | 3 | https://amzn.to/3HmEmAi |
4 | Rain sensor | Rain Drop Detection | 1 | https://amzn.to/3NUhLxz |
5 | Buzzer | Big | 1 | https://amzn.to/3b2eg9L |
6 | Push Button | Two pin | 1 | https://amzn.to/3HnAq2a |
7 | Adapter,Power | 5V / 2A | 1 | https://amzn.to/3MQzXqA |
8 | Connecting wires | jumper wire | some | https://amzn.to/3xs9FFd |
HARDWARE DESCRIPTION
3.1 Arduino Nano
Arduino is an open source microcontroller board. The Arduino Nano is a small, complete, and breadboard-friendly board based on the ATmega328P (Arduino Nano 3.x).The microcontroller on the board is programmed using Arduino software.
The boards are equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards or breadboards and other circuit. The Microcontrollers are typically programmed using a dialect of features from programming language C & C++. In addition to using traditional compiler tool chains, the Arduino project provides an integrated development environment (IDE) bases on the processing language project.
Specifications of Arduino Nano
- Microcontroller : ATmega328
- Operating voltage (logic level) : 5v
- Input voltage (recommended) :6-20 v
- Input voltage (limits) : 6-20 v
- Digital I/O pins : 14
- Analog Input pins : 8
- DC Current per I/O pin : 40 ma
- SRAM : 2 KB
- EEPROM : 1 KB
- Clock Speed : 16 MKZ
- Flash Memory :32 KB

Figure:-2.1 Arduino Nano
3.2 GPS Module
GPS(Global positioning System)is a satellite navigation system used to determined the ground position of an object.GPS technology was first used by the United state military in 1960s and expanded into civilian use over the next few decades. Today, GPS receiver are included in many commercial products, such as automobiles, Smartphone, exercise watches etc.
GPS system include 24 satellite deployed in space about 12000 miles (19300 kilometre) above the earth’s surface. The orbit earth one every 12 hours at extremely fast pace of roughly 7000 miles per hour. The satellites are evenly spread so that satellites are accessible via direct line-of-sight anywhere on the globe. The navigation messages are broadcast at a rate of 50 bits per second. Utilizing this collocation of data, GPS receiver in order to generate position data.

Figure:-2.2GPS Module
3.3 GSM-Module
GSM (Global system for mobile communication) is a digital mobile telephony system that is widely used all over the world. A GSM module requires a SIM (Subscriber’s identity module) card to be operated and operated over a network range subscribed by the network operated. It can be connected to a Arduino through cable or Bluetooth connection.GSM module can be communicated to PIC-microcontroller using normal serial USART protocol.
GSM is a mobile communication modem; it is stand for global system mobile communication (GSM). The idea of GSM was developed at Bell 1970.It is widely used mobile communication system in the world.GSM is open and digital cellular technology used for transmitting mobile voice and data services operated at the 850 MHz,900 MHz,18000 MHz and 1900MHz frequency band.
GSM system developed a digital system using Time division multiple access (TDMA) technique for communication purposed. The digital system has an ability to carry 64 kbps to 120mbps of data rates.

Figure:-2.3 GSM module
3.4: Ultrasonic sensor
An ultrasonic sensor is a device that can measure the distance to an object by using sound waves .It measure distance by sending out a sound wave at a specific frequency and listening for that sound wave to bounce back. The ultrasonic transmitter an ultrasonic wave this wave travel in air and when it gets object by any material it gets reflected back toward the sensor this reflected wave is observed by the ultrasonic receiver module.
The accuracy of ultrasonic sensor can be affected by temperature and humidity of the air it is being used. It operated in frequency in 40 Hz. It can measure the distance 2 cm to 80 cm .This sensors is very popular because multiple purpose application.

Figure:-2.4 Ultrasonic sensor
3.5 Rain Sensors
The rain sensor module is and easy tool for rain detection. It can be used as a switch when raindrop falls through raining board and also for measuring rainfall intensity. The module features, a rain board and the control board that separated for more convenience power indicator LED and an adjustable sensitivity through a potentiometer.
The rain sensor detects water that completes the circuits on its sensor board printed leads. The sensor board acts as a variable resistor that will change from 100 ohms when wet to 2M ohms when dry. In short the wetter the board the more current that will conducted.

Figure:-2.5 Rain Sensor
3.6 Buzzer
A buzzer is a small yet efficient component to add sound features to add sound to our project system. It is very small and compact 2 pin structure. Buzzer is in the lower portion of the audible frequency range of 20 Hz to 20 KHz. This is accomplished by covering an electric, oscillating signal in the audible range, into mechanical energy.

Figure:-2.6 Buzzer
3.7: Jumper Wire
A jumper wire is an electrical wire that has connector pins at each end, allowing them to be used to connect two points to each other without soldering. Jumper wire are typically with breadboards and other prototyping tools in order to make it easy to change a circuit as needed. Individual jumper wires are fitted by inserting their end connectors into the slots provided in a breadboard the header connected of a circuit board or piece of test equipment. Jumper wire are in three version:-male to male, male to female and female to male.

Figure:-2.7 Jumper wire
SOFTWARE DESCRIPTION
4.1Arduino IDE
The Arduino integrated development environment (IDE) is a cross-platform application (for Windows, Mac OS and Linux) that is written in the programming language java. It is used and uploads programs to Arduino compatible boards.
The Arduino IDE supports the language C and C++ using special rules of codes structuring. The Arduino IDE supplies a software library from the wiring project which provides many common input and output input basic functions, for starting the sketch and the main program loop that are compiled and linked with a program
Arduino IDE is an open source that is mainly used for writing and compiling the code into the Arduino module. It is official software making code compilation too easy that even a common person with no prior technical knowledge can get their feet with the learning process. A different range of Arduino modules available including Arduino Uno, Arduino mega, Arduino Nano, and many more. Each of them consist a microcontroller on the board that is actually programmed and accepts the information in the form of code. The IDE environment mainly contains two basic parts: Editor and compiler where former is used for writing the required code and later is used for compiling and uploading the code into the given Arduino module.

Figure:-Arduino IDE
4.2 Proteus
Proteus is a simulation and design software tool developed by Lab centre for Electronics circuit design. It also posses 2D CAD drawing feature. This software provides schematic, simulation and PCB designing. This software used to draw schematic and simulate the circuit in real time. PCB designing has the features of viewing output 3D view of the designed PCB along with the component. It consists of wide range in its library. It has sources, signal generators, and analysis tools like oscilloscope, Voltmeter etc.

Figure:-Proteus
BLOCK DIAGRAM OF SMART BLIND STICK USING ARDUINO

Figure:-Block diagram Smart Blind Stick
4.1: Block diagram description
This is the block diagram of project smart blind stick using Arduino. The above block diagram shows the block diagram of our project. A DC 9voltage is supply though the power source to the Nano Arduino. All the sensor are interface with the Nano Arduino. Ultrasonic sensor is connected to the Arduino Nano then processes this data and calculates if the obstacle is close enough. If the obstacles are close the Nano Arduino sends a signal to sound a buzzer. It also detected and sound a different buzzer if it where detects water and alerts the blind. GPS module calculate to the location and GSM module sends SMS to the number which is store in microcontroller.
Ultrasonic sensor
The object of ultrasonic Sensor is to the measure the distance between the object and the stick. In our project we use to ultrasonic sensors connection are as follows:-
Vcc:- 5v
Ground:- Gnd
Trigger 1:-A1
Eco 1:-A0
Trigger 2:-A2
Eco 2:-A3
Rain Sensor:-
Rain Sensor is used to detect to water in the road .If the rain sensor senses the water the arduino sends the signal to buzzer to produce the beep sound and notify the blind person. In our project we use to Rain sensors connection are as follows:-
Vcc:- 5v
Ground:- Gnd
Analog Output:-A4
Digital output:- Not used
GPS Module
GPS Module is used to exact location. In our project we use to GPS Module connection are as follows:-
Vcc:- 3v
Ground:- Gnd
Rx:-8
Tx:-9
GSM Module
GSM Module is used to send the SMS. In our project we use to GSM Module connection are as follows:-
Vcc:- 5v
Ground:- Gnd
Rx:-6
Tx:-7
Buzzer
Buzzer is used to make sound when the obstacles is detected. In our project we use to Buzzer connection are as follows:-
Vcc:- 12
Ground:- Gnd
CIRCUIT DIAGRAM AND OPERATION

5 Circuit Diagram
Figure:-Circuit diagram
- Circuit diagram description
The above is the circuit diagram of smart blind stick using arduino.
The above figure shows the circuit diagram of Smart Blind Stick. We can see an Arduino Nano is used to control all the sensors. The complete board is powered by a 9V battery which is regulated to +5V. The First Ultrasonic Sensor is powered by 5V and the trigger1 and Echo1 pin is connected to Arduino Nano pin A1 and A0 as shown above. And second Ultrasonic Sensor is connected to the trigeer2 and eco 2 to the A2 and A3.The Rain sensor is power by the 5v in VCC and Gnd is grounded connected to A4.The output of the board is given by the Buzzer which is connected to pin 12.
For GPS Module (Global positing system) power by the 3v and Gnd is grounded and Trigger is connected to the 8 pins of the Arduino Nano and Eco is connected to the 9 pins of the Arduino Nano. GSM (Global System for Mobile Communication) is powered by the 5V and Gnd is grounded Trigger is connected to the 6 pin of the Arduino Nano and Eco is connected to the 7 pin of the Arduino Nano.
SOURCE CODE
#include <SoftwareSerial.h>
#include <TinyGPS++.h>
int buttonpin=12;
float lattitude,longitude;
float a[2];
float *p;
SoftwareSerial gpsSerial(8,9);
SoftwareSerial gsmSerial(6,7);
TinyGPSPlus gps;`
const int trigPin1 = A1;
const int echoPin1 = A0;
long duration1;
int distance1;
const int trigPin2 = A2;
const int echoPin2 = A3;
long duration2;
int distance2;
void setup()
{
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(5, OUTPUT);
pinMode(A4, INPUT);
Serial.begin(9600);
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
pinMode(buttonpin,INPUT);
Serial.begin(9600);
delay(1000);
gpsSerial.begin(9600);
delay(1000);
gsmSerial.begin(9600);
delay(1000);
Serial.print(“—Tracking–“);
Serial.print(“***Location***”);
gsmSerial.println(“AT+CNMI=2,2,0,0,0”);
delay(3000);
Serial.print(“Initializing……”);
delay(2000);
Serial.print(“System Ready “);
delay(1000);
}
void loop()
{
digitalWrite(trigPin1, LOW);
delayMicroseconds(2);
digitalWrite(trigPin1, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin1, LOW);
duration1 = pulseIn(echoPin1, HIGH);
distance1= duration1*0.034/2;
Serial.print(“Distance1: “);
Serial.println(distance1);
digitalWrite(trigPin2, LOW);
delayMicroseconds(2);
digitalWrite(trigPin2, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin2, LOW);
duration2 = pulseIn(echoPin2, HIGH);
distance2= duration2*0.034/2;
Serial.print(“Distance2: “);
Serial.println(distance2);
if (distance1<=20||distance2<=20){
digitalWrite(5, HIGH);
delay(1000);
digitalWrite(5, LOW);
digitalWrite(5, HIGH);
delay(1000);
digitalWrite(5, LOW);
digitalWrite(5, HIGH);
delay(1000);
digitalWrite(5, LOW);
}
else if (distance1<=15||distance2<=15){
digitalWrite(5, HIGH);
delay(500);
digitalWrite(5, LOW);
digitalWrite(5, HIGH);
delay(500);
digitalWrite(5, LOW);
digitalWrite(5, HIGH);
delay(500);
digitalWrite(5, LOW);
}
else
digitalWrite(5, LOW);
int sensorValue = digitalRead(A4);
if (sensorValue==1){
digitalWrite(5, HIGH);
delay(1500);
digitalWrite(5, LOW);
digitalWrite(5, HIGH);
delay(1500);
}
else
digitalWrite(5, LOW);
if(digitalRead(buttonpin)==HIGH)
{
Serial.println(“button pressed”);
delay(2000);
SendMessage();
}
if (gsmSerial.available()>0)
Serial.write(gsmSerial.read());
while(gsmSerial.available())
{
gsmSerial.read();
}
while(Serial.available())
{
Serial.read();
}
get_gsm();
}
float *get_gps()
{
gpsSerial.listen();
Serial.println(“INSIDE get_gps”);
while(1)
{
while (gpsSerial.available() > 0)
{ gps.encode(gpsSerial.read()); }
if (gps.location.isUpdated())
{
Serial.print(“LAT=”); Serial.println(gps.location.lat(), 6);
Serial.print(“LONG=”); Serial.println(gps.location.lng(), 6);
lattitude=gps.location.lat();
longitude=gps.location.lng();
break;
}
}
a[0]=lattitude;
a[1]=longitude;
return a;
}
void get_gsm()
{
gsmSerial.listen();
while(gsmSerial.available()>0)
{Serial.println(“INSIDE gsmSerial.available”);
if(gsmSerial.find(“Track”))
{Serial.println(“INSIDE track”);
gsmSerial.println(“AT+CMGF=1”); //Sets the GSM Module in Text Mode
delay(1000); // Delay of 1 second
gsmSerial.println(“AT+CMGS=\”+9779815084050\”\r”); // Replace x with mobile number
delay(1000);
p=get_gps();
gsmSerial.listen();
Serial.print(“Your Car Location: “);
gsmSerial.print(“Your Car Location: “);
Serial.print(“LATTITUDE=”); Serial.print(*p,6);
gsmSerial.print(“LATTITUDE=”);gsmSerial.print(*p,6);gsmSerial.print(“,”);// The SMS text you want to send
Serial.print(“LONGITUDE=”); Serial.print(*(p+1),6);
gsmSerial.print(“LONGITUDE=”);gsmSerial.print(*(p+1),6);// The SMS text you want to send
delay(100);
gsmSerial.println((char)26);// ASCII code of CTRL+Z for saying the end of sms to the module
delay(1000);
}
}
}
void SendMessage()
{
gsmSerial.println(“AT+CMGF=1”); //Sets the GSM Module in Text Mode
delay(1000); // Delay of 1000 milli seconds or 1 second
gsmSerial.println(“AT+CMGS=\”+9779815084050\”\r”); // Replace x with mobile number
delay(1000);
gsmSerial.println(“i am in problem plz help my”);// The SMS text you want to send
delay(1000);
p=get_gps();
gsmSerial.listen();
Serial.print(“Your position is : “);
gsmSerial.print(“position is : “);
Serial.print(“LATTITUDE=”); Serial.print(*p,6);
gsmSerial.print(“LATTITUDE=”);gsmSerial.print(*p,6);gsmSerial.print(“,”);// The SMS text you want to send
Serial.print(“LONGITUDE=”); Serial.print(*(p+1),6);
gsmSerial.print(“LONGITUDE=”);gsmSerial.print(*(p+1),6);// The SMS text you want to send
delay(100);
gsmSerial.println((char)26);
/*—————————————————————————————*/
YOUTUBE LINK
https://www.youtube.com/watch?v=UgYDxlyURYw
ADVANTAGES & LIMITATIONS
Advantage of blind stick is listed below:-
- This system consists of different type of the sensor, which is used to measure the distance and alert the blind people.
- It is simple to use and is affordable.
- This system can navigate the location of the blind people when they find themselves in danger or some adverse situations.
- Smart blind stick is robust and the stick is light, portable and reliable.
- It consumes low power which makes it feasible to use.
Limitations of blind stick are listed below:-
- Pits and bumps of the road cannot be detected using this device.
- Smart stick is unfoldable.
- As the sensor is sensitive, it should be handled in utmost care and prevented from contact with water.
APPLICATIONS
Following are the application of Smart Blind Stick
Facilitates the visually-impaired people through various user friendly features such as water detection, Navigation, Obstacle alert and communication.
FUTURE IMPROVEMENTS
The certain modification of sensor and programing we can detect the small pits and dumps of road.
Water resistant can be eliminated
PROBLEM FORMULATION
The problem that we faced while designing smart blind stick using arduino are ,While researching for this project, many problems were there. First problem was the unavailability of the materials required for the project. Because of this, much of the time was invested to search for them and talk to people outside Biratnagar. Secondly, there were some issues regarding interface. Other than that, resources could be utilized to make the research better.
CONCLUCSION
It is worth mentioning at this point that the aim of the of this study is design and implementation of a smart walking stick for the blind has been fully achieved .The smart stick as a basic platform for the coming generation of more adding devices to help the visually impaired to navigate safely both indoor and outdoor. It is effective and affordable. It leads the good result in detecting the obstacles on the path of the user in a range. This project offer low cost, reliable, portable, low power consumption and robust technology for navigation with obvious short response time .In this project, different types of sensors and other component with the light weight. It also include Global Positioning system (GPS) which is use to find the actual position of the blind person. And other function is Global system for mobile communication (GSM) module which help to send the location to their member in case the blind person get lost or if they are in the danger. And the rain sensor is used to detect the water. In this way we can make smart blind stick using Arduino.
This is the final year project performed by the students of Manmohan Memorial Polytechnic collage.
Boris https://ya.ru
This code is showing stray 342 error how to sort out this ? can any one please guide about it
Hello There. I found your blog using msn. This is an extremely well written article. I will be sure to bookmark it and return to read more of your useful information. Thanks for the post. I’ll certainly comeback.
thank you
You could certainly see your expertise in the work you write. The world hopes for even more passionate writers like you who aren’t afraid to say how they believe. Always go after your heart.
Any video of this project
pawarpawan683@gmail.com mail me please
I am in fact delighted to read this blog posts which includes plenty of useful
information, thanks for providing these kinds of information. 0mniartist
asmr
Whoa! This blog looks just like my old one! It’s on a completely
different subject but it has pretty much the same page layout and design. Outstanding choice of colors!
0mniartist asmr
You really make it appear so easy along with your presentation however I to
find this topic to be really one thing that I think I’d by no
means understand. It sort of feels too complex and very wide for me.
I’m taking a look ahead for your subsequent submit, I will try to
get the grasp of it! asmr 0mniartist
In simulation I got 2 errors. AVR program property is not defined and Real time simulation failed to start. can you help me to resolve this error.
Wow, amazing blog format! How lengthy have you ever been blogging for?
you make running a blog glance easy. The full glance
of your web site is magnificent, let alone the content!
Great blog here! Also your web site loads up fast! What web host are you
using? Can I get your affiliate link to your host?
I wish my site loaded up as fast as yours lol
For the reason that the admin of this site is working, no hesitation very rapidly it will be famous, due to its feature contents.
This is my first time pay a visit at here and i am actually
happy to read everthing at one place.
Please let me know if you’re looking for a article writer for your
weblog. You have some really great articles and I feel I would be a good asset.
If you ever want to take some of the load off, I’d really like
to write some articles for your blog in exchange for a link back to mine.
Please shoot me an e-mail if interested. Regards!
THANK YOU
This is my first time visit at here and i am truly happy to read everthing at one place.
Amazing! Its truly remarkable piece of writing, I have got much clear idea about from this piece of writing.
You actually make it seem so easy with your presentation but I find
this topic to be really something that I think I
would never understand. It seems too complex and very broad for me.
I am looking forward for your next post,
I will try to get the hang of it!
You are so interesting! I do not suppose I have read
anything like that before. So nice to discover someone with a few genuine
thoughts on this topic. Seriously.. thanks for starting this up.
This web site is one thing that is needed on the web, someone with a bit of
originality!
Pretty! This was an extremely wonderful article.
Thank you for supplying these details.
Nice blog right here! Additionally your web site a lot up fast!
What web host are you the use of? Can I am getting your
affiliate hyperlink in your host? I desire my web site loaded up as fast as yours lol
I am really thankful to the owner of this web site
who has shared this fantastic piece of writing at at this time.
Tһis post is truly a good one it assists new
net viewers, who are wishing for blօgging.
I assume it is the same one as in the Images shown?
I adore looking at and I believe this website got some genuinely utilitarian stuff on it!
I’d like to thank you for the efforts you have put in penning this website.
I am hoping to view the same high-grade blog posts by you later on as well.
In fact, your creative writing abilities has encouraged me to get my own website now 😉
I know this web site gives quality depending posts and other stuff,
is there any other site which gives these things in quality?
Its like you learn my thoughts! You appear to understand so much approximately this, like you wrote the book in it or something.
I feel that you simply could do with a few p.c. to drive the message
house a little bit, however other than that, this
is fantastic blog. A fantastic read. I’ll certainly be back.
After exploring a handful of the blog articles on your site, I truly appreciate your way of writing a blog.
I bookmarked it to my bookmark webpage list and
will be checking back in the near future. Take a look at my website as well and tell me your
opinion.
Good day! Do you know if they make any plugins to protect against hackers?
I’m kinda paranoid about losing everything I’ve worked
hard on. Any tips?