White canes: a staple for the visually impaired. Can we make this daily-use item for the visually impaired safer and better with technology?

We brought a large hardware cabinet and one of us explained the pieces and their functions, one component in particular inspired us with its functionality. We exceeded our expectations in what we built.

What it does

Occucane provides haptic feedback via vibrations and sounds when the sensor detects obstructions. It vibrates faster when obstacles are closer and slower when it’s farther.

Canes without Occucane Smart installed are already haptic devices. This haptic channel is important because deafblind people also rely on canes. Occucane Smart taps into this haptic device with more haptics to give a familiar interface to experienced users of an existing platform.

Our solution is more likely to succeed than higher-tech alternatives because of its reliability. The tech is simple and robust. And, even if it fails, since it builds off of a traditional whitecane, it can still be used as a regular cane (in some jurisdictions the use of a cane is required by law).

How we built it

A low-cost Arduino Pro Micro sends a 10us pulse with an ultrasonic transducer and measures the round-trip time. We take this time, do some math on it (notably a log-base-2) to create a reasonable scaling for distance, and then use our motor to send haptics to the user.

Challenges we ran into

We struggled to come up with an idea that we were all excited to implement. Carole came through with the concept for Occucane Smart. We also briefly broke one of our microcontrollers, causing us to do a relatively last-minute substitution from a 32bit ARM platform to an 8bit AVR platform. Because of platformIO, this change was easy. There were also some challenges in optimization, where we had to spend some time finding the perfect calibration.

Accomplishments that we're proud of

We’re proud that we optimized the stick to the point that it could distinctly tell if something in front is near or far while also having the proper detection sensitivity. We’re proud of our fellow hackers' interest in our project and how they quickly figured out how to use our intuitive product. We let anyone and everyone play with our device with a blindfold or their eyes closed. Seeing these users smile and hearing their raw excitement made this worth every minute. We would be overjoyed if we could get this product in the hands of visually impaired people.

What we learned

You can write C++ for anything, even a stick. We’re just kidding (we learned more than that).

We discovered the value of the hacker community (necessary, because ¾ of us first-time hackers) and how approachable everyone is at hackathons. Since we finished early, we went around Rice hall and let our fellow hackers test our project and give us feedback. On the fifth floor, we collected a small crowd of organizers and hackers who had an absolute blast with our product. They even created a “human maze” and jumped in front of the device and were surprised to discover how well it worked even in these edge-case situations.

What's next for Occucane

We would like to attach Occucane Smart to a white cane and write an assisted calibration utility. In our hackathon-induced rush, we could only obtain a dried branch somewhere inside the woods between a couple of Charlottesville streets.

While our haptics are correct, our numbers were double their expected value because Dhruv measured the round-trip time for the sound wave. We eliminated the effects of the error after applying the log2 function and subtracting offsets. We will fix this minor bug in the future.

Built With

  • a-literal-stick
  • arduino
  • c++
  • haptics
  • platformio
  • ultrasonic
Share this project: