Rethink Phone for Visually Impaired - With a Smart Cane




Introduction: Rethink Phone for Visually Impaired - With a Smart Cane

About: Born as a farmer, studied electronics ,working as a Consultant and a 3D printing enthusiast by night..

Here is the first prototype of the Arduino phone for the Visually Impaired using an Arduino Uno and Seeed studio GPRS shield 1.0. There are two features that this phone has, which is driven by the mode switch,just below where it say "eye" in the picture above

  • Large button for calls and text (4 call buttons in orange and 2 button in red for text)
  • When the switch is turned down the phone converts to a Smart Cane, driven by the Maxbotix ultrasonic sensor which measures distance from an obstacle and vibrates the vibration motor.This helps the visually impaired person navigate around the house.

This is some thing that I wanted to make for my friends mother, and thanks to the #rethinkphone contest I had a deadline to complete the first prototype, to get some feedback for further improvements.

I have detailed out a few enhancements and improvements in the last step of the instructable, feel free to comment with your suggestion for features and improvements.

Step 1: Phone Features

The Phone has a ON/OFF switch as shown in the first picture above just below the Seeed studio GPRS shield antenna, the switch is connected to the Adafruit's PowerBoost 500 Charger .The best part PowerBoost 500 Charger is that you can charge the Lipo battery on the phone while the phone is in the ON mode.

Phone has 4 call buttons , two which you can associate 4 different phone numbers which you can change as part of the Arduino code. And also have 2 message button which you can change the text as part of the Arduino code.

As of now the Phone can only make calls , as the GPRS shield does not have the option to receive calls and you can use normal headphones and mic to connect two the two port of the GPRS shield.

The mode switch,just below where it say "eye" is use to change the phone into the smart cane mode , which basically uses a Maxbotix ultrasonic sensor which measures distance from an obstacle and vibrates the vibration motor.This help the visually impaired navigate around when they are out and about..

Step 2: Collect the Electronic Components You'll Need

Here are the list of electronic you'll need for

Arduino Phone

Smart cane

In addition here are the tools required

  • Soldering Iron
  • Solder
  • Wire strippers
  • 3D printer
  • PLA 3D printing filament
  • Ninjaflex 3D printing filament
  • Hot glue Gun
  • Cutter/saw for the PCB
  • Hobby knife

Step 3: Breadboard the Circuit

It is always a good idea to bread board the circuit to run a couple of test before soldering the components together.

At large the Circuit contains 3 part

#1 - Phone call and message switchesFor the 6 switches(4 call and 2 text) connect one end to the switch to GND and the other end o

  • Call 1 button to pin 4 on the Arduino
  • Call 2 button to pin 11
  • Call 3 button to pin 5
  • Call 4 button to pin 12;
  • Text message 1 to pin 3 on the Arduino
  • Text message 2 to pin 10
  • In addition connect the slide switch for the mode to pin 6

    #2 - Ultrasonic sensor and Vibration motor

    • Diode is connected in reverse bias in parallel to the motor , acts as a surge protector for the spikes that the motor can produce.
    • 2N2222 transistor is used to provide current amplification
    • 0.1µF capacitor absorbs voltage spikes produced
    • 1KOhms resistor is placed in series with the base of transistor

    #3 5V supply via the Powerboost 500 charger

    • Connect +ve and -ve just below the USB port of the power boost to Vin and GND of the Arduino
    • In addition connect a slide switch between the Bat - ENable - GND, for more details refer to step 10

      Step 4: Modify Code With Phone Number and Upload to Arduino Uno

      Download the latest version of the Arduino IDE from

      Download the Zip file above and change the phone numbers in the PhoneSettings.h file.

      In addition you will also have to modify and experiment with the OBSTACLE_DISTANCE parameter value in the file based on your preference.

      Now select boards in Tools -> Board -> Arduino Uno and then select the port that your Arduino is connected to under Tools --> Port

      And then hit the upload button to upload the code to the Arduino

      To test your GPRS sheild with AT commands before uploading this sketch refer to

      Step 5: Test Out the Circuit -Vibration Motor

      Move the slide switch to the obstacle detection mode and change the value of the OBSTACLE_DISTANCE parameter to 10 inches.

      Now use a coffee cup/or anything that you find near by to act as your obstacle as shown in the video.

      If you observe in the video , I am holding on to the vibration motor with my finger to prevent it from bouncing of the breadboard.

      Step 6: Test Sending Message and Make a Call

      Now modify the mobile number in the PhoneSettings.h file.

      Also modify the text message if you need to. Hit all the button and validate that you can make calls and send text as shown in the video above.

      Step 7: Preparing the PCB

      Now place the Prema proto PCB on the Arduino and using a sharpie mark the pieces of the PCB to cut.

      Using a saw/Dremel tool cut open PCB.

      Once done use a hobby knife to remove the connectivity between PCB holes as shown in the third picture above.Basically we are doing this as we are going the make the PCB like a shield , which will hold the call and test tactile buttons.

      Now to test that you have broken the connectivity use a multimeter as shown in the forth picture above.

      Step 8: Soldering the Header Pins

      Now refer to the circuit in step 3 of the instructable and cut header pins which you will insert in GPRS shield which is stacked on the Arduino Uno.

      Here note the pins that need to be blank and the ones used to communicate between the GPRS shield and Arduino Uno , refer to link at

      Now solder the header pins to the PCB as shown in the picture above.

      Step 9: Soldering the Componenets

      Fire up your soldering Iron and solder the buttons first to the PCB as shown in the second picture above.

      Here it is a good idea to use an helping hand and use 26AWG silicone stranded wire which is more flexible when compared to normal breadboarding wire.

      Be patient and take regular breaks while soldering, this step can take about 40 mins to an hour depending on your soldering skill.

      Finally solder the Vibration motor circuit the bottom half of the breadboard, with the resistor connect to A0 on the breadboard above.

      Finally solder the maxbotix sensor and the vibration motor.

      Warning : When soldering always make sure you are doing this in an well ventilated area

      Step 10: Preparing the Phone to Be Battery Powered

      Now solder +ve and -ve below the USB port, which is visible in the second picture above. Here the USB port comes separately and is not soldered by default.

      Connect the Bat and GND to two ends of the switch

      And the ENable to the middle of the slide switch which is the green wire in the pictures above.

      For more info about the PowerBoost 500 Charger - Rechargeable 5V refer to the link

      Step 11: 3D Print the Base and the Bottom Using PLA

      Download the 3D printing software that you printer supports, in my case i am using the Printrbot Simple Metal which use Repetier-Host as a software to

      • Slice the STL files attached, which basically means cutting the part into various layers
      • And send commands to the 3D printer while printing

      Download the STL files attached and load it in your printer software and slice the file, based on your printer setting,

      • Slicing the STL files should take about 2-3 mins
      • And the print time for all the file should be about 2 to 3 hours ,and this is based on your slicer setting..

      Step 12: 3D Print the Buttons

      Download the button.stl file and 3D print the 6 button, in my case I used to orange PLA to print the call buttons and the red PLA to print the message button. Printing the button should take a max of 10 mins.

      In addition download the TopWithText.stl and 3D print it.

      Here I choose to paint the text so that it is visible in the pictures.

      Step 13: Putting It All Together

      Now its time to put it all together use 4-40X1/2 IN flat head screws to secure the Arduino Uno to the base 3D printed part

      Use another screw to hold the power boost to the 3D printed part

      Now secure the lipo battery with some tape so that the sharp pointed ends below the Arduino Uno done pierce through the battery and damage it.

      Now fire up your hot glue gun and glue the Slide switch and the battery to the base.

      Hot glue the headphones and Mic.

      Now use rubber bands to secure the 3D printed parts (the next version with the latest GPRS shield will have 3D printed parts that snap fit

      Glue the Maxbotix and vibration motor as shown in the picture above.

      Add the button above the tactile buttons on the PCB and hot glue the 3D printed part with the text to the base.

      Step 14: Future Enhancements and Improvements

      Here are some enhancements and improvements I plan to implement as part of the version 2.0

      • Improve the 3D design based on feedback an make the part snap fit.
      • Adding GPS tracking, so that the text would include the GPS location
      Phone Contest

      First Prize in the
      Phone Contest

      Epilog Contest VII

      Participated in the
      Epilog Contest VII

      Survival Contest

      Participated in the
      Survival Contest

      1 Person Made This Project!


      • For the Home Contest

        For the Home Contest
      • Make It Bridge

        Make It Bridge
      • Game Design: Student Design Challenge

        Game Design: Student Design Challenge



      7 years ago on Introduction

      This is a novel idea ! A suggestion here would be to have braille instead of the text..

      Great job and I am sure so many people will benefit from it.


      Reply 7 years ago on Introduction

      dushyantahuja and SonikaJAnand thanks for the suggestion I think the best fit for this would be the RePhone kit , which is up on kickstarter currently, which I backed a couple of days ago.. ..


      Great Idea and execution. Though using Braille as suggested below, would help make this better.

      Also, you can make it smaller / thinner by using the arduino mini pro / Xadow and a SIM800L modules (instead of the shield).


      7 years ago on Introduction

      As a person with impairments, I applaud this device, as well as the thinking behind it. Thank you.


      Question 4 years ago on Introduction

      Can I get circuit daigram and block daigram of this calling option technique for blinds and also some explanation

      Nice effort.

      Speaking as a blind or visually impaired
      or low vision person or whatever the new politically correct term is today, it
      is nice to see people making an effort towards helping the visually impaired
      with new devices.

      For the comments about brail.

      Brail is not necessary with electronic
      devices today; through access settings you have Text to Speech Enabled as well
      as voice command. You can go to Amazon and buy my book Melodious Verse in the
      Ebook format and your Ereader will read it too you. Although I use a Keys U See
      keyboard I can answer my phone and tell it what to do and who to call or talk
      to my computer and it will type what I say in MSword and other programs. I can
      even scan a book into my computer save it as a PDF or word document and my
      computer will read it too me.

      I have seen a couple Instructables
      involving proximity devices for the visually impaired and I think the authors
      of these Instructables could use some advice.

      First of all blind is white not black; and most blind people can see something; blind or low vision as defined by the
      CNIB, (Canadian National Institute for the Blind), is “Less than 600 vision in
      the good eye, or less than 20⁰ field of vision in the good eye.”

      I have 10⁰ field of vision in my good
      eye; and like most blind people I don’t walk into walls, pols, or people.

      Totally blind and people with low vision
      often develop reflective hearing, (Eco location like a bat.) that enable us to perceive
      obstacles before we walk into them.

      Where almost all blind people have a difficulty;
      is our feet, we can’t see or perceive our feet, or the ground. We step in holes,
      trip on the smallest of cracks in the sidewalk. We step in the little presents
      left behind by neglectful pet owners, or trip on children’s toys left lying
      about and fall, I call them landmines.

      Now a warning device for uneven ground
      or low obstacles like toys or dog poop that is really needed.

      Tecwyn Twmffat
      Tecwyn Twmffat

      Reply 7 years ago

      Thanks for your comments here Josehf. I'm trying to make a phone for deaf people. I've taken note of your comments about uneven ground recogntion too. We have the technology to build such things.


      7 years ago

      is arduino clone ok


      7 years ago

      please can you send me the circuit diagram of connection it is very urgent pls send it asap


      Reply 7 years ago

      The circuit details are mentioned in step 3..


      7 years ago

      Great that the phone has a smart cane built in..


      7 years ago

      very nice and practical invention. keep up the good work


      7 years ago on Introduction

      This is nice idea carmi and be very helpful for the blind..

      Ohh yes.. great concept... Will make a whole of difference them... Impressive !


      Reply 7 years ago on Introduction

      Thanks bro!! glad you liked it...