How to make a Smart Cane for the Visually Impaired with Arduino

By Suhail

Arduino smart cane

I wanted to make something for them to help the visually impaired become independent, so I created an open source Arduino project for a Smart Cane. This Arduino smart cane can assist with walking alone in new environments by taking inputs through an obstacle sensor (ultrasonic sensor) and providing feedback to the person through haptics (vibration motor). Check out the video below for the demo and working.

One day while I was walking to my college, I witnessed a blind person who was walking through the street. He was facing difficulty in walking in through that busy street. Fortunately, I was able to help him at that time. However, it was at that moment that I had an epiphany, I realized that I could use technology to assist people like him. It was that evening that I came up with this idea: The Smart Cane. I wanted it to be very cheap and easily replicable so that even a kid can make it easily in a couple of hours from scratch.

Using this Arduino Smart Cane, a visually impaired person can walk without anyone’s help. The cane can automatically detect the obstacle in front of the person and give them a feedback response by vibrating the walking stick and giving a warning sound. Through this tool, the blind person thus be aware of the obstacles in front of them. I used an Ultrasonic sensor with an Arduino for detecting the obstacles. It cost me just 10$ to make one. It is cheap and also easy to make without the need of much soldering. Now let’s get started!

Required Materials

  1. An Arduino uno.
  2. An Ultrasonic sensor (HCSR04).
  3. Mini breadboard.
  4. 9 volt battery.
  5. 9 volt battery connector.
  6. DC male power jack.
  7. A Buzzer.
  8. Some jumper wires.
  9. A broken cellphone (for the vibration motor).
  10. A Toggle switch.


Arduino smart cane


Other tools needed:

  1. 3/4 inch diameter PVC pipe (used for making the walking stick).
  2. 3/4 inch diameter PVC elbow.
  3. Insulation tape.
  4. Some small screws for mounting Arduino.
  5. Screwdriver.
  6. Utility knife.
  7. Instant adhesive Glue.
  8. A Box to put your Arduino and other electronics.

How Does it Work?


Arduino smart cane

The technology behind the Arduino Smart Cane is pretty straight forward. There are mainly three blocks behind it: input, controller, and output. The input consists of an ultrasonic sensor that is capable of detecting obstacles in front of it at a range of up to 400cm. It is interfaced to a controller: the Arduino which determines if an obstacle is too close to the cane and triggers the output if it is. The output consists of a vibration motor to provide haptic response and a piezo buzzer. If you want to learn more about the ultrasonic sensor and interfacing it to an Arduino, check out this DIY Hacking tutorial from Jeff Salim.

Salvaging the Vibration Motor from A Cellphone

After finding a broken cell phone, we need to remove the vibration motor from it. You will have to do this step with care and patience. I used a micro vibrator motor from an old broken cell phone that was lying around my home. I have used this because of its very small size and as it works with low voltages.

Arduino smart cane


Unscrew the cell phone, you have and disassemble all the parts like shown in the above images. You can see the vibrator motor located at a side of the phone’s case. Take out the motor carefully from the cell phone.

Please note: different cell phones have different vibrator motors (in size and shape).


Arduino smart cane


Now solder the motor on a small piece of general purpose PCB. Then solder two wires to the terminals of the motor like shown in the above images.


Interfacing the Arduino

Now it’s time to wire the Arduino! It can be done pretty easily and does not have any complicated wiring. See the schematics below and carefully connect all parts to the Arduino. I used a mini breadboard to connect the ultrasonic sensor to the Arduino using jumper wires. Other parts like the buzzer and motor are directly connected to the Arduino. You can see the wiring diagram from the below image for our Arduino smart cane.


Arduino smart cane


Here are the connections for each part:

  • Ultrasonic VCC to Arduino 5v.
  • Ultrasonic GND to Arduino GND.
  • Ultrasonic TRIG to Arduino D12.
  • Ultrasonic ECHO to Arduino D11.
  • Buzzer RED to Arduino D8.
  • Buzzer BLACK to Arduino GND.
  • Vibrator motor pin 1 to Arduino D7.
  • Vibrator motor pin 2 to Arduino GND
  • 9 volt battery RED to Toggle switch pin 1.
  • 9 volt battery BLACK to DC male power jack(-).
  • Toggle switch pin 2 to DC male power jack (+).


Arduino smart cane

Now we finished the wiring!

Uploading the Sketch for the Arduino Smart Cane

Now it’s time for uploading the sketch. The sketch for Arduino is given below, copy this into your Arduino IDE, then upload it to your Arduino board.

#define trigPin 13
#define echoPin 12
#define motor 7
#define buzzer 6

void setup()
{ pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(motor, OUTPUT);

void loop()
{ long duration, distance;
digitalWrite(trigPin, LOW); 
digitalWrite(trigPin, HIGH);
digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;

if (distance < 70) // Checking the distance, you can change the value
digitalWrite(motor,HIGH); // When the the distance below 100cm
} else
digitalWrite(motor,LOW);// when greater than 100cm
} delay(500);


Assembling the Arduino Smart Cane


Arduino smart cane

I used a PVC pipe to make the walking stick. If you have a walking stick lying around your home, you can use that, otherwise, you can follow this step. I used a 3/4 inch diameter PVC pipe and an ‘L’ shaped elbow for making the walking stick. Take a look at the above images to make the walking stick and follow these instructions:

  • First, take a PVC pipe (3/4 inch diameter), then cut a piece of it that is about one and half meters.
  • Take an ‘L’ shaped elbow and attach it to one end of the pipe.
  • Take another small piece of PVC pipe (10 cm long), then attach it to the other end of the elbow.
  • Glue it.

I wrapped the walking stick with black insulation tape because I like how it looks, you can even paint it.

Attaching the Components on the Smart Cane

This is the hardest step in this project. It took me hours to design and fix the parts onto the walking stick. Find a box that you can use to put all your electronics together. I used foam board to make a box myself. You can do that easily.


Arduino smart cane


Fix your Arduino in the box using screws. Now make two holes for fixing the Ultrasonic sensor on the lid of the box as shown in the above image. I fixed the buzzer outside of the box for better sound. Next, I attached the toggle switch at the side of the box and made a small hole for connecting the vibration motor to the Arduino. Fix the battery inside of the box and connect the power jack to the Arduino.

Now attach the box to the walking stick, you can either use screw or glue. I used an instant adhesive because it’s quite strong. After attaching the box to the walking stick take out the vibrator motor and fix it below the elbow. I used insulation tape for this.


Arduino smart cane


That’s it! We just made an Arduino Smart Cane for assisting blind individuals. Check out the demo video:






You can continue to add more features to this project and contribute towards helping people with visual impairments.


Recommended Posts
Showing 21 comments
  • Hujjat

    Hi !
    i have uploaded the code successfully and have also followed every instruction that u mentioned here..but the at the very begining there was a single buzzing without vibration..i switched OFF the switch and then again checked it..then there was vibration but no buzzing..
    finally after checking every connection twice switched ON the switch now there is no buzzing nor any vibration..

    kindly reply and guide me as soon as possible

  • ma elena

    how can we fix the problem in our project ? bcoz our smart cane was vibrating through the detection of ultrasonic sensor
    even though tha cars are far from the smart cane

  • Dilan

    unstopble beep playing buzzer.. can you help me?? arduino mega 2560

  • Lokesh

    sir I cannot install the program. I want to submit in independence day this.This program it gives error show I can’t install .please help me.

  • Vinita

    Hi! I tried this code and it was not working. Can you please help. I was making it for a visually impaired friend. Really need your help. Thanks

  • Vinayak

    Can you give me the direct interfacing between ultrasonic sensor with atmega 328 instead of arduino uno board. Because in college we need to design PCB with atmega 328 n connect it with sensor…
    So please you give me circuit diagram for it so I can build PCB for same project please…….

  • luca

    Hi, I am visual impaired and really interested to have it , asked my friend to help to make it, but I wanted to improce it using 2 motors and 3 ultrasonic sensors in order to check obstacles to left right and below,
    depending of the position the 2 motors should vibrate in certain way.
    Do somebody want to discuss how to add these features?

  • Kamal Bahadur

    Hey, I tried your project and it was really exciting.
    I have made few improvements in it and also working on some more out of the box upgrades.

    • luca

      could you please post your detail about how to realize the project and improvements?

      • Kamal Bahadur

        email me “[email protected]”….
        I am willing to discuss about it…..
        When its complete I will post it here.

  • Shezan

    And whats the code used to program the Arduino, can you paste it please, thank you very much :)

  • Shezan

    This is an excellent project done for the disabled, I want to do this for my final project cause it is pretty useful compared to other Arduino projects, just one thing… Which Arduino to use I see UNO on the diagram but can Nano work too? thanks

  • fathima

    How much does the toggle cost pls tell

  • Vic

    Excellent project…I just built a rudimentary version just to test it out as my very first Arduino project. I have a friend that is blind and we bought an Arduino kit to work on stuff like this. Keep up the great work!

    Just a couple notes:
    – The echo/trig pin locations don’t match up with the description and the programming, so just be aware of that when you go to build everything.
    – There are device like this for the blind, some individuals that have them do not use them due to another item they have to carry around. However, to the creator, Suhail, thank you for thinking outside the box and keeping in mind those that have “disabilities”…If you ever want some more ideas to work on, or have something you would like to share with us and maybe we can work together, feel free to contact me. Thanks!

    • DJM

      Hello, can you please tell me what’s the right code for this project, because i just built it and uploaded the code, and the thing keeps on buzzing, its suppose to buzz whenever it comes near an object.

      Please send me the code, i have a presentation on it tomorrow

  • Kanna

    Has someone tried this already? Is it working? :)

  • dee

    I want to make this product in IoT system can I?
    And….please help me I want to do final project it must using IoT system and give me the detail..

  • Mohammad rehan

    I removed the vibrator from my old nokia phone. How may i ensure that the machine is working or not before soldering it?

  • Jen

    This is something that has to be encouraged. This device could be developed to an even better stance and make it available for all the needy once out there. Great move!

  • kannadhasan.M

    Hello sir i am kannadhasan i am interest to create home based automation using android smartphone. But i don’t knowledge about that session please any one help me. My mail Id:[email protected]

Leave a Comment

98 − = 93

Start typing and press Enter to search