“BATHAT” - A high performance, low cost device to help visually impaired people detect obstacles above their waist level.

Similar projects worth following
There are more than six million blind people in US. Most of them use canes, which can detect the obstacles, holes, uneven surfaces, steps and other hazards low in the ground. The devices that detect obstacles above the waist level are either very expensive or not readily available. So I decided to build the BatHat.

The goal of my BatHat is to detect obstacles of any type and size within 100 cm radius. I constructed the device using the Arduino Uno and ultrasonic sensors. I used a technique called echolocation to detect the obstacles. I tested my device against obstacles of various size and type which a visually impaired person would commonly encounter. Based on the tests I performed, I strongly believe that my device will accurately warn a visually impaired person about an obstacle. The cost of building my final (third) prototype was around 30$. I can reduce the cost to 20$ if I mass produce it. So, I think my product would be pretty competitive in the market.

Last year, my grandparents had cataract surgery due to their deteriorating eye sight. When I was in the doctor's office I learned that there are over 6 million blind people in U.S. This shocking statistic sparked an interest in me to do something for the blind. As I researched about blind people, I read about a blind man named Daniel Kish. Daniel uses Echolocation to walk, bike, roller-skate and perform things like a normal person. His story inspired me to use sonar technology to come up with a device which could help blind people detect obstacles above the waist level.

I created my device using the Arduino Uno micro-controller and 2 HCSR04 ultrasonic sensors .I programmed the Arduino to send a 10uS pulse to the trigger pin of the HCSR04 to make the sensor send out eight 40KHZ pulses towards the obstacle. The time taken for the pulse to reach the obstacle and come back was measured.

The distance was calculated using the formula:

Distance in centimeters = Ping_time * speed_of_sound_in_cms_per_microsecond/2, where ping_time is the time taken for the pulse to reach the obstacle and come back.

I programmed the Arduino to send a beep to a Piezo buzzer whenever the obstacle is within the 100 cms radius. I used 2 ultrasonic sensors to make the detection of the obstacle easier. I tested the accuracy of my BatHat by testing it against all the different materials a blind person would encounter every day. For each material (obstacle), I moved the BatHat back until it stopped beeping. I then slowly moved it closer to the obstacle until it starts beeping again. I recorded the distance shown in the Arduino's serial monitor when the buzzer starts beeping. I recorded this distance for all the different materials in a notebook. I repeated my testing with obstacles of different sizes and recorded the responding distances in a notebook. I then graphed all the distances that I had recorded for each material and size. Most of the responding distances were around 40 inches. I feel the device will accurately warn the blind person of an obstacle.

The goal of my BatHat device is to detect obstacles of any type and size within a 100 centimeter radius accurately. I measured the responding distances (The distance from the obstacle when the BatHat starts beeping to warn the blind person) for obstacles made of different type of materials like the glass, wood, tile, metal, paper, etc.. which a normal blind person would encounter in his/her daily life. I also measured the responding distances for obstacles of different widths ranging between 1 to 3 inches in 1/2 inch interval. I graphed all the responding distances on a chart, and saw that the responding distances for various materials and widths were around 40 inches. Analyzing the recorded data I was able to conclude that my device will accurately help a blind person detect obstacles within the 40 inch range. I could change my program to increase the responding distance. The ultrasonic sensors work well up to a range of 4 meters accurately. From the data analyzed, I also understood that the ultrasonic waves are not affected by the materials which it hits and will accurately echo back . I feel 40 inches is good responding distance for the blind person to be warned and react to an obstacle.


BatHat Background Research

document - 26.55 kB - 04/24/2016 at 02:06



BatHat Engineering Design

document - 30.30 kB - 04/24/2016 at 02:05



BatHat Arduino Program

ino - 3.65 kB - 04/24/2016 at 02:02



BatHat Testing Results

document - 115.93 kB - 04/24/2016 at 02:06



Similar Devices in the Market

document - 22.54 kB - 04/24/2016 at 02:06


  • 1 × Arduino Uno Microcontroller
  • 2 × HCSR04 Ultrasonic Sensors
  • 1 × Piezo Buzzer
  • 1 × Bread board
  • 2 × Plastic Hat

View all 8 components

  • BatHat Prototypes

    adithya.shak.kumar04/24/2016 at 02:26 0 comments

    I first constructed the prototype using a Cardboard box and used a speaker I got in the electronics kit. This was a little bulky and was a little bulky. So I constructed the second prototype again with a card board box but replaced the bulky speaker with the piezo buzzer. Since the user might use the device on a rainy day, I moves all the components into a plastic hat I found in PartyCity.

View project log

  • 1
    Step 1

    Mount the Arduino Uno on the plastic hat (can get in Party City) using the double sided mounting tape

  • 2
    Step 2

    Cut 4 holes in the plastic hat to protrude the trigger and the receiver of the Ultrasonic sensors. Cut the hold in such a way that the ultrasonic sensors can scan all the obstacles in the front of the user. Stick the Ultrasonic sensor on the Hat using the mounting tape.

  • 3
    Step 3

    Connect the ultrasonic sensors to the Arduino Uno's Pins as shown in the schematic diagram

View all 8 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates