Introduction: Rethink Phone for Visually Impaired - With a Smart Cane
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
- Arduino Uno
- Breadboard and breadboarding wire
- GPRS Shield - Seeed Studio's GPRS shield V1.0
- An active SIM card
- PCB - Adafruit Perma Proto half sized breadboard
- Header Pins
- Tactile Switch Buttons - 4
- SPDT Slide Switch - 2
- Silicone Cover Stranded-Core Wire - 26AWG - these are more flexible then normal breadboarding wire.
- Head Phones - 2 , you need two if you are using Seeed Studio
4-40X1/2 IN flat head screws
Smart cane
- Maxbotix Ultrasonic Rangefinder
- Vibration motor
- Diode - IN4001
- Resistor - 1KOhms
- Transistor - 2N2222
- Capacitor - 0.1uF
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
https://www.arduino.cc/en/Main/Software
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 http://www.seeedstudio.com/wiki/GPRS_Shield_V1.0
Attachments
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
http://www.seeedstudio.com/wiki/GPRS_Shield_V1.0
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
- Use the latest GPRS shield from Seeed studio(I think the Seeed Studio GPRS shield 1.0 is discontinued )
- Implement more vibration option using Haptic feedback using Adafruits DRV2605L Haptic Motor Controller
- 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

First Prize in the
Phone Contest

Participated in the
Epilog Contest VII

Participated in the
Survival Contest
1 Person Made This Project!
- Tecwyn Twmffat made it!
17 Comments
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..https://www.kickstarter.com/projects/seeed/rephone-kit-worlds-first-open-source-and-modular-p ..
7 years ago on Introduction
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
7 years ago on Introduction
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.
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 idea..love 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..
7 years ago on Introduction
That's really impressive Carmelito.
7 years ago on Introduction
Ohh yes.. great concept... Will make a whole of difference them... Impressive !
Reply 7 years ago on Introduction
Thanks bro!! glad you liked it...
7 years ago on Introduction
What a Great idea... Iwould like to use one of those.