Electronic Assistant for the Sight Impaired - Department of ...

155
Electronic Assistant for the Sight Impaired Department of Electrical Engineering and Computer Science University of Central Florida 4915 Senior Design II Dr. Lei Wei Project Documentation Group 35 Heath Cissell Computer Engineer [email protected] Stephen Miles Electrical Engineer [email protected] Patrick Shiver Electrical Engineer [email protected] Hung Tran Computer Engineer [email protected]

Transcript of Electronic Assistant for the Sight Impaired - Department of ...

Electronic Assistant for the Sight Impaired

Department of Electrical Engineering and Computer Science

University of Central Florida

4915 Senior Design II

Dr. Lei Wei

Project Documentation

Group 35

Heath Cissell Computer Engineer [email protected]

Stephen Miles Electrical Engineer [email protected]

Patrick Shiver Electrical Engineer [email protected]

Hung Tran Computer Engineer [email protected]

University of Central Florida Page i EEL 4914

Electrical Engineering Department

Table of Contents 1. Executive Summary .................................................................................................................... 1 2. Project Description...................................................................................................................... 2

2.1 Project Motivation and Goals ................................................................................................ 2 2.2 Objectives .............................................................................................................................. 3

2.3 Requirements Specifications ................................................................................................. 4 2.4 House of Quality ................................................................................................................... 5

3. Research Related to Project EASI .............................................................................................. 7 3.1 Existing Similar Projects and Products ................................................................................. 7

3.1.1 Guide Dog....................................................................................................................... 7

3.1.2 Walking Stick (White Cane)........................................................................................... 8 3.1.3 Sensewalk ....................................................................................................................... 8

3.2 Strategic Components ........................................................................................................... 9

3.2.1 Distance Sensing Subsystem .......................................................................................... 9 3.2.1.1 Proximity Sensors ................................................................................................... 9 3.2.1.2 Motion Detectors .................................................................................................. 12 3.2.1.3 Image sensor ......................................................................................................... 12

3.2.1.4 Sensor Selection Summary ................................................................................... 13 3.2.2 Power Systems .............................................................................................................. 14

3.2.2.1 Battery Technologies ............................................................................................ 14

3.2.2.2 Battery Selection Summary .................................................................................. 16

3.2.3 Smartphone Subsystem................................................................................................. 17 3.2.3.1 Bluetooth Communication .................................................................................... 17

3.2.3.2 Mobile Applications.............................................................................................. 19 3.2.4 Tactile Feedback Subsystem ........................................................................................ 22

3.2.4.1 Linear Actuators.................................................................................................... 23

3.2.4.2 Vibration Motors ................................................................................................... 25 3.2.5 Microcontroller Subsystem........................................................................................... 27

3.2.5.1 Microcontroller ..................................................................................................... 27 3.3 Part Selections ..................................................................................................................... 31

3.3.1 Distance Sensing Subsystem ........................................................................................ 31

3.3.1.1 Sensors .................................................................................................................. 31 3.3.1.2 Servos .................................................................................................................... 33

3.3.2 Power Subsystem .......................................................................................................... 35 3.3.2.1 Battery ................................................................................................................... 35 Power System Components .............................................................................................. 36

3.3.2.3 General Circuit Components................................................................................. 37 3.3.3 Smartphone System ...................................................................................................... 37

3.3.3.1 Bluetooth System .................................................................................................. 38 3.3.3.2 Navigation System ................................................................................................ 40 3.3.3.3 Mobile Application ............................................................................................... 44

3.3.4 Tactile Feedback Subsystem ........................................................................................ 45 3.3.4.1 Solenoid Actuators ................................................................................................ 45

3.3.4.2 ERMs .................................................................................................................... 46 3.3.4.3 Vibration Motor Driver IC .................................................................................... 48

3.3.5 Microcontroller Subsystem........................................................................................... 49

University of Central Florida Page ii EEL 4915

Electrical Engineering Department

3.4 Part Selection Summary ...................................................................................................... 49 4. Related Standards and Realistic Design Constraints ................................................................ 52

4.1 Standards ............................................................................................................................. 52

4.1.1 Distance Sensing Subsystem Related Standards .......................................................... 52 4.1.2 Power Subsystem Related Standards ............................................................................ 52 4.1.3 Smartphone Subsystem Related Standards................................................................... 54 4.1.4 Tactile Feedback Subsystem Related Standards .......................................................... 54 4.1.5 Microcontroller Subsystem Related Standards............................................................. 55

4.1.6 General Project Related Standards ............................................................................... 55 4.2 Realistic Design Constraints ............................................................................................... 56

4.2.1 Economic and Time constraints ................................................................................... 56

4.2.2 Environmental, Social constraints ................................................................................ 57 4.2.3 Functional and Aesthetic constraints ............................................................................ 58 4.2.4 Quality and Safety constraints ...................................................................................... 58 4.2.5 Manufacturability and Sustainability constraints ......................................................... 59

5. Project Hardware and Software Design Details........................................................................ 61 5.1 Hardware Architecture ........................................................................................................ 61

5.2 Initial Design Architectures and Related Diagrams ............................................................ 62 5.2.1 Distance Sensing Subsystem ........................................................................................ 62

5.2.1.1 Linear Sensor System ........................................................................................... 62 5.2.1.2 Radar Sensor System ............................................................................................ 63

5.2.2 Power Subsystem .......................................................................................................... 64 Initial Design ..................................................................................................................... 64

Related Diagrams .............................................................................................................. 65 5.2.3 Smartphone Subsystem................................................................................................. 66

5.2.3.1 Mobile Application ............................................................................................... 66

5.2.4 Tactile Feedback Subsystem ........................................................................................ 67 5.2.4.1 Solenoid Control System ...................................................................................... 68

5.2.4.2 Vibration Motor Control System .......................................................................... 70 5.2.5 Microcontroller Subsystem........................................................................................... 72

Initial Design ..................................................................................................................... 72

Related Diagrams .............................................................................................................. 73 5.3 Device Subsystem Details ................................................................................................... 75

5.3.1 Distance Sensing Subsystem ........................................................................................ 75 5.3.1.1 Linear Sensor System ........................................................................................... 75

5.3.1.2 Directional Sensor System .................................................................................... 79 5.3.2 Power Subsystem .......................................................................................................... 80

5.3.2.1 General Theory of Operation ................................................................................ 80 5.3.2.2 System Related Design Details ............................................................................. 84

5.3.3 Smartphone Subsystem................................................................................................. 85

5.3.3.1 Mobile Application ............................................................................................... 85 5.3.4 Tactile Feedback Subsystem ........................................................................................ 86

5.3.4.1 General Theory of Operation ................................................................................ 86 5.3.4.2 System Related Design Details ............................................................................. 87

5.3.5 Microcontroller Subsystem........................................................................................... 89 5.3.5.1 General Theory of Operation ................................................................................ 89

University of Central Florida Page iii EEL 4915

Electrical Engineering Department

5.3.5.2 System Related Design Details ............................................................................. 90 5.4 Software Architecture ......................................................................................................... 90

5.4.1 Mobile Application Architecture .................................................................................. 90

5.4.2 Microcontroller Software Architecture ........................................................................ 91 5.5 Software Design .................................................................................................................. 91

5.5.1 Smartphone Software Design ....................................................................................... 91 5.5.1.1 Modes .................................................................................................................... 92 5.5.1.2 Navigation Mode (Top Button) ............................................................................ 92

5.5.1.3 Audio Ping Mode (Bottom Left Button) ............................................................... 92 5.5.1.4 Audio Voice Mode (Bottom Right Button) .......................................................... 93

5.5.2 Microcontroller Software Design ................................................................................. 93

5.5.2.1 Distance Sensing Input to Microcontroller ........................................................... 93 5.5.2.2 Bluetooth Input to Microcontroller ....................................................................... 94 5.5.2.3 Bluetooth Output from Microcontroller................................................................ 95 5.5.2.4 Direction Sensing Input to Microcontroller .......................................................... 95

6. Project Prototype Construction and Coding ............................................................................. 96 6.1 Integrated Schematics ......................................................................................................... 96

6.1.1 Power System Schematics ............................................................................................ 96 6.1.2 Tactile Feedback System Schematics ........................................................................... 97

6.1.2.1 Vibration Subsystem Schematics .......................................................................... 97 6.1.2.2 Actuator Subsystem Schematics ........................................................................... 99

6.1.3 Microcontroller Schematics ........................................................................................ 102 6.1.4 Complete Schematic Design ....................................................................................... 105

6.2 PCB Vendor and Assembly............................................................................................... 105 6.2.1 Structure...................................................................................................................... 106 6.2.2 Design Plan ................................................................................................................. 106

6.2.3 Power/MCU/Bluetooth PCB ...................................................................................... 108 6.2.3.1 Revision 1 ........................................................................................................... 108

6.2.3.2 Revision 2 ........................................................................................................... 109 6.2.3.3 Revision 3 ........................................................................................................... 110

6.2.4 Tactile Feedback System PCB ................................................................................... 112

6.3 Final Coding Plan .............................................................................................................. 114 6.3.1 Final Coding Plan Smartphone ................................................................................... 114 6.3.2 Final Coding Plan Microcontroller ............................................................................. 116

7. Project Prototype Testing Plan................................................................................................ 118

7.1 Hardware Test Environment ............................................................................................. 118 7.2 Hardware Testing .............................................................................................................. 118

7.2.1 Sensor Testing ............................................................................................................ 118 7.2.2 Power Testing ............................................................................................................. 119 7.2.3 Tactile System Testing ............................................................................................... 119

7.3 Software Test Environment ............................................................................................... 120 7.3.1 Mobile application testing environment ..................................................................... 121

7.3.2 Microcontroller testing environment .......................................................................... 121 7.4 Software Specific Testing ................................................................................................. 121

7.4.1 Smartphone ................................................................................................................. 122 7.4.2 Microcontroller ........................................................................................................... 126

University of Central Florida Page iv EEL 4915

Electrical Engineering Department

7.4.3 Software Specific Testing Summary .......................................................................... 130 7.4.3.1 Software Final Conclusion .................................................................................. 131

8. Administrative Content ........................................................................................................... 132

8.1 Milestone Discussion ........................................................................................................ 132 8.2 Budget and Finance Discussion ........................................................................................ 133

8.2.1 Initial Budget Estimation ............................................................................................ 133 8.2.2 Final Part Selections Budget....................................................................................... 135

8.2.2.1 Final Budget Conclusion..................................................................................... 136

9. Conclusion .............................................................................................................................. 137 Appendices .................................................................................................................................. 138

Appendix A - Copyright Permissions ..................................................................................... 138

Appendix B References .............................................................................................................. 147 Appendix C - Datasheets ......................................................................................................... 149

University of Central Florida Page 1 EEL 4914

Electrical Engineering Department

1. Executive Summary

The visually impaired across the globe face many difficulties that sadly most of us take for granted.

As of 2013 an estimated 7.3 million people worldwide are reported to have a visual disability. [1]

Each of them has to struggle with their independence within this world often having to rely on

others to simply get from point A to point B. Existing technologies have not changed much from

their invention. The two most common forms of assistance available are Seeing Eye dogs,

commonly called guide dogs, and a walking cane commonly called a “white cane”. Both of these

systems are effective in keeping the user from walking into things and getting around by using

these tools to sense their environment; But each has their own advantages and limitations. In the

past people have tried to improve upon these systems by placing sensors or systems onto the

existing cane or service animal. Our proposed project is to design a handheld device that can be

either held or worn discreetly using distance finding technology to replace the need for a walking

cane and help to restore a small bit of independence.

The biggest complaints many of the visually impaired have in regards to guide dogs and walking

canes are that they are not discreet and they are often cumbersome to have at all times. In the

modern world. Most people do not have to worry about walking down the street with the fear of

being instantly regarded or judged as disabled. It is like constantly showing the world something

very private and personal about them; simply because they wish for more independence in their

lives. This is why discretion is very important. There are some places that guide dogs have

difficulty going and a cane, though light weight, have to be folded and stored out of the way; often

leading to bulky items constantly needed to be carried around. The proposed design addresses

these concerns in regards to size and portability.

EASI, the electronic assistant for the seeing impaired will be lightweight, portable, and small

enough to be discreet and stored away when not in use. EASI will have a power source capable of

lasting all day with normal use and able to charge overnight. EASI will focus on tactile feedback

to relay sensory and navigation information to its user with the option of audio outputs. Audio is

not the focus of our design as noisy environments may hinder the device at critical moments and

negatively impacting hearing can hinder the visual impaired of their situational awareness. Users

will be able to select these settings based on their preference and environment.

The biggest challenges of this project will be size and user feedback. With our budget and

resources, designing a small electrical device may pose a significant challenge while maintaining

our high level of functionality as this device is meant to be relied on for safety. We cannot hinder

quality for size. User feedback will be a challenge as this device needs to be a natural system as it

must relay as much information to the user as possible while still being natural to the user. Ideally

we wish for this device to be easy to use, though this system may require a learning curve; that is

fine if the human interaction with this device is intuitive enough that during both high stress and

normal activity information can still be relayed naturally.

University of Central Florida Page 2 EEL 4915

Electrical Engineering Department

2. Project Description

The section below provides an overview of our project in regards to our motivation, objective and

the design requirements. Figure 2-a shows a high level block diagram.

Figure 2-a High Level Block Diagram

2.1 Project Motivation and Goals

The motivation for this project came from our desire to challenge ourselves to grow as engineers

while giving back to the community. Engineering came into existence from scientists wishing to

apply their technical knowledge for the benefit of society. As we take our first steps as engineers

we want to embody this core belief by designing a product that can be used to help others. The

market for the seeing impaired, though affecting millions, is quite small when people think of the

global impact. As engineering students, we can be less concerned about profit and market share so

we decided to design a product for a sect of society that does not always receive constant

developmental support. Many of the existing technologies that the visual impaired now utilize

have not been enhanced with many of the technologies the world currently has available to it. For

our group this was our starting point.

This group was formed out of 4 complete strangers, who came together due to 3 common core

beliefs: Integrity, Family and Hard work. Though none of these values directly affect our project

motivation, they are important to note as core beliefs are what drive our passions and the number

one reason why groups fall apart. We have all been in groups who have taken advantage of our

hard work; by allying ourselves with other hard workers, we are able to increase our output and

efficiency for the betterment of our grades and society. Integrity and family are the values that

pushed us to want to stand up proud and tall and use our skills and knowledge to help people.

Without our inner integrity and our families mentoring us to succeed we would not be here as

engineers today.

As stated above, we wished to help others who may not be in a position to help themselves or due

to numerous reasons may have fallen unnoticed in society. The many individuals who are visually

impaired are sadly clear examples of this. Personal independence is something our country is built

on. Our country has fought for it and many have died for this ideal and many take it for granted.

Power System

ControllerSystem

Navigation

Tactile SubSystem

University of Central Florida Page 3 EEL 4915

Electrical Engineering Department

Some have become disabled themselves trying to grant others their own independence. It is integral

to our identity; our group wishes to try to improve their quality of life. By creating a device that

increases both function and discretion of the user, we are giving people the tools and options to

live a better, more independent life. Modern technology improves everyday it is our motivation to

simply utilize these technologies to improve their lives and as a result we can improve our

knowledge to assist even more people in the future.

2.2 Objectives

The objective of this Project is to create a discreet smart cane to replace the existing guide cane

for the visually impaired. This smart cane will sense distance and provide smart feedback through

tactile and audio systems. The Mid-Level Block diagram of our design as well as the person who

spearheaded the effort. The detailed specifications for our device is shown below. Our device will

include a battery charging system which will power the device for daily operation and can be

charged completely overnight. The device will include a Bluetooth receiver/transmitter to receive

Navigation data from a smart phone. The smart phone will be able to receive voice commands to

aid our visually impaired user with inputting navigation data. The eyes of our device will be an

array of proximity sensors that will provide distance data. The system controller will process all

of the inputs into these systems and utilize either an Audio System or Tactile Feedback System to

provide intelligent outputs to the user.

In the below block diagram (Figure 2-2-a), the subsystem each of us are primarily responsible for

can be seen. Grouping responsibilities more broadly, Patrick and Stephen will collaborate on each

of the four electrical subsystems, and Heath and Hung will do the same for the software

subsystems. We will all have to collaborate collectively on coordinating I/O through the controller,

however Heath will be primarily responsible for the embedded programming aspect, whereas

Hung will be primarily responsible for the app development and navigation integration. Figure

2.2-a shows the overall system block diagram and group responsibilities

University of Central Florida Page 4 EEL 4915

Electrical Engineering Department

Figure 2.2-a-Mid Level Block Diagram

2.3 Requirements Specifications

• Housing – Device enclosure must be small enough to fit comfortably in the hand and light

enough to carry throughout the day. Ideally small enough to fit in a typical pants pocket.

1. Weight: ≤ 2.2 𝑘𝑔

2. Dimensions: ≅ 6.5 𝑐𝑚 ×6.5 𝑐𝑚 ×25 𝑐𝑚

• Power System – Rechargeable power system which must be able to power the device for

an entire day and charge fully overnight.

3. Lasts ≥ 12 hours without charge

4. Fully recharges in ≤ 6 hours

• Microcontroller – Runs all necessary software to coordinate I/O between all subsystems

5. Is fast enough microprocessor to process all I/O concurrently and in real time

6. Enough memory to store and run all software locally

7. Sufficient I/O ports and pins to accommodate all peripherals

8. Small enough size & power requirement to meet housing constraints

Heath

Stephen

Patrick

Hung

Packaging

Group 35

Battery

Charging System

Battery

Distance

SensorSystems

System

Controller

Bluetooth

Audio

System

NavigationAndroid App

Tactile

System

University of Central Florida Page 5 EEL 4915

Electrical Engineering Department

• GPS system – Device must communicate with a GPS system and generate walking

directions

9. Can be disabled to conserve power

10. Tie in with the Here Maps API and provide directions to the audio and tactile output

11. Can accept routing instructions via voice recognition

• Sensor Array – Collection of sensors which relays information about any variety of nearby

obstacles to the microcontroller

12. Maximum Range: ≥ 2 meters

13. FOV: between 1o and 90o

14. Must be sensitive to information about position as well as distance

• Tactile Feedback System – Provide the user feedback about nearby obstacles via touch

15. Can relay information about both position and distance of obstacles within the sensor

array’s FOV

16. Must provide detailed enough feedback to be used with audio feedback disabled

• Audio Feedback System – Output to an audio device to supplement tactile feedback,

provide instructions and GPS directions

17. Will use common I/O standard, either Bluetooth or 3.5mm phone connector

• User Interface – Complete device configuration and functionality must be able to be

exploited via a combination of touch and voice controls

18. Buttons must be easily distinguishable from one another by touch

19. Voice recognition system, primarily for entering an address for GPS navigation

2.4 House of Quality

The house of quality shown in below demonstrates all of our market and engineering requirements,

and how they correlate with one another. In addition, it shows any correlations between individual

engineering requirements, indicating potential technical tradeoffs that may need to be made. Figure

2.4.a shows the full house of quality below. Figure 2.4.b shows the legend that corresponds with

the house of quality figure.

University of Central Florida Page 6 EEL 4915

Electrical Engineering Department

Figure 2.4-a-House of Quality

Figure 2.4-b-House of Quality Legend

Signal Range Signal FOV Cost Weight DimensionsPower

Required

+ + - - - -

Detection

Accuracy+ ↑↑ ↑↑ ↓↓ ↓ ↓ ↓

Discreetness + ↑ ↑ ↓ ↑↑ ↑↑

Portability + ↓ ↓ ↓ ↑↑ ↑↑

Battery Life + ↓ ↓ ↓ ↓↓ ↓↓ ↑↑

Performance + ↑↑ ↑↑ ↓↓ ↓ ↓

Price - ↓↓ ↓↓ ↑↑ ↑ ↑ ↑

Usability + ↑ ↑ ↓ ↓ ↓

Lasts >12 hours

without charge

Fully recharges

in < 6 hours

Mar

keti

ng

Re

qu

ire

me

nts

Targets for

Engineering

Requirements

< $1000 ≤ 2.2 kg≈ 2.5in X

2.5in X 10in

Engineering Requirements

at least 2m

between 1

and 90

degree

Signal Range Signal FOV Cost Weight DimensionsPower

Required

+ + - - - -

Signal Range + ↓↓ ↓↓

Signal FOV + ↓ ↓↓

Cost - ↑ ↑

Weight - ↑↑ ↑↑

Dimensions -

Power Required -

Engineering Tradeoffs

↑↑ = Strong positive correlation

Legend

↑ = Positive correlation

- = Undesirable

+ = Desirable

↓↓ = Strong negative correlation

↓ = Negative correlation

University of Central Florida Page 7 EEL 4915

Electrical Engineering Department

3. Research Related to Project EASI

The section below describes the research into the technologies and part selection for our project.

The first section of research will dive into existing products or similar projects of the past; we must

first know what has been done to drive our research going forward. Following this section will be

our research divided into key subsystems that will focus on choosing the best technology type for

our design. Concluding with a selection of parts and a parts summary. As choosing a technology

is only part of the problem, many different types of sensors fall under the ultrasonic category for

instance; The true goal is choosing the best ultrasonic sensor that meets our specifications.

3.1 Existing Similar Projects and Products

As described above this section focuses on what comes before. The traditional form of walking

aids for the visually impaired come in two main variations, the Guide Dog and the walking stick.

Our project was actually inspired by a former senior design project called Sensewalk, the details

and differences between our two projects will be described below.

3.1.1 Guide Dog

This history of guide dogs is a rich one. The first interaction with wolves date back nearly 400,000

years with their domestication being over 150,000 years ago. The true origin of guide dogs are lost

in the mist of this long period but the first systematic attempt to train dogs to aid blind people came

around 1780 at ‘Les Quinze-Vingts’ hospital in Paris, France. [1] In 1788 the first great success

story came from Josef Riesinger of Vienna who trained a Spitz so well that people often questioned

whether he was even blind. [1] Since then there have been ups and downs due to the differences

of training in organization and dog quality however guide dogs have remained a popular and

effective asset to aid the visually impaired in day to day activities. In modern times the

organizations have firmer regulations and have learned from centuries of training, improving the

quality of dogs and dog training and making methods far more consistent.

A guide dog has many advantages and capabilities. As a sentient and intelligent animal a guide

dog can think for itself, learning places and judging dangerous situations. The common ways a

guide dog assists the visual impaired are helping their users travel around independently and safely.

They can make navigating streets much less stressful by assisting with finding locations, avoiding

obstacles, and stopping at curbs. [2] They can be trained to make the use of public transportation

easier, as they can help in finding doors, empty seats and crossing buttons. The lesser known

function of a guide dog is the improvement of social inclusion for they provide companionship

and a way to make friends as they are great conversation starters and a way to meet new people.

As with every technology or product each has advantages and disadvantages, though I do not want

to belittle our project understanding its disadvantages is pushing towards improvement. A guide

dog is still an animal so though often intelligent and reliable there are times when a guide dog can

be uncooperative. Animals as do all living things must also be constantly maintained and cared

for. The biggest disadvantage and one we hope to improve on, is size. A guide dog is often quite

big and there are sometimes limits to places they are allowed to go.

University of Central Florida Page 8 EEL 4915

Electrical Engineering Department

3.1.2 Walking Stick (White Cane)

The walking stick for the visually impaired (commonly called the white cane) has been dated back

to Biblical times when a shepherd’s staff was used as a tool for solitary travel. For countless years

the cane was used merely for travel and it was not until the turn of the twentieth century that the

cane took on new meaning and development to be a symbol to alert others that an individual is

blind. Thus became a primary tool to aid in helping the visual impaired get around. The new role

for the white cane came about in 1921 when James Biggs of Bristol claimed to have invented the

white cane. [3] After an accident claimed his sight the artist had to readjust to his environment,

using a standard walking stick he made it white to increase his visibility to motor vehicle traffic.

This trend would be fully introduced to society over a decade later when a movement was proposed

in 1931 to nationally recognize the white cane as a symbol to distinguish the blind or the visual

impaired for their safety. [3] The movement was a success and by October 15, 1964 was designated

white cane safety day by President Johnson. [3]

As you can see, the shear support of the community and national recognition of this tool, the white

cane is not just an effective device but a symbol for the growing spirit of independence and the

increased determination for the visual impaired to be self-reliant and dignified. As with every tool

as stated above each comes with their advantages and disadvantages. The white can much like the

guide dog can help one transverse their environment by helping one determine the location of

obstacles in their path such curbs, steps or uneven pavement. The white cane offers a recognized

symbol that the user is blind so you should be careful and courteous around them. Lesser known

advantage is the ability to create a personal barrier to prevent people or objects from getting too

close.

The white cane offers many great advantages and a few major disadvantages. In truth the core of

our project is to simulate the same advantages of the white cane but we wish to improve on the

few disadvantages of the white cane, such as its limited range and size. The cane obviously is

limited to the size of the stick which is often roughly 3-5 feet. The white cane as a common feature

can be stowed away in a smaller form by breaking it down into a bundle. This size is quite bulky

and we hope to minimize its size utilizing sensors instead of a physical stick. But our design will

not be able to create the physical barrier or be known as a national symbol for the blind. Though

it is a goal of all engineers to minimize the disadvantages the reality is there is no such thing as a

perfect tool for every situation.

3.1.3 Sensewalk

Our project was inspired by another senior design project called Sensewalk developed in the fall

of 2012. Though our project takes a drastically different design approach the ambition to improve

the lives of the visually impaired is the same. The purpose of the Sensewalk project is to combat

the limitations of the white cane by creating a sensing walking stick that integrates voice-guided

GPS navigation and proximity detection of its surroundings. [4] In a nut shell, the projects focus

is to add sensors and a microcontroller to a white cane to improve its functionality. Sensewalk

features sonar detection of objects in the area, alerting the user as they come closer to objects by

an automated-voice message. [4] The individual can choose to connect it to a headset or utilize a

University of Central Florida Page 9 EEL 4915

Electrical Engineering Department

native speaker for audio outputs. The user may also input a specific stored route within walking

distance into the microcontroller. [4] The smart cane will calculate the route and help guide the

user to their destination. The entire sensor array and computer is attached to the cane by strapping

the console to the handle and cane. [4]

As you have read the spirit of our projects is the same. We are both trying to improve the current

technology available by adding sensors and microcontrollers to improve current technologies.

Where our projects differ is the approach. While their approach was to improve the cane, our group

wishes to remove the need for the cane itself with an increased focus on tactile function over audio.

Audio is effective in communicating information but it also removes or distracts the visual

impaired from utilizing their greatest sense their hearing. Hearing allows the visually impaired to

sense their environment. We wish to enhance their sense of the environment, diminishing any

sense is counterproductive to our purpose. Another improvement is the utilization of the

smartphone for navigation and audio this cuts down on the size and weight of the device. We are

hoping to make the device small enough to fit into a purse. As you can see the differences are

pretty clear in summary, though our device features are mostly the same. Their device is attached

to a cane and is all in one while our device utilizes the smart phone and is smaller removing the

need for the cane. Our project also focuses on tactile input over audio though we are including

audio as an alternative based on user preference.

3.2 Strategic Components

The sections below involve the research, analysis and methodology in selecting the technology of

each subsystem. Each section includes a brief description and the advantages and disadvantages

of each technology. At the end of each subsystem section the final choice of technology is

summarized

3.2.1 Distance Sensing Subsystem

One of the primary systems of our project includes the sensing elements. The sensing element

system provides all the inputs to the microcontroller. This system is vital to our project for it

provides the eyes for our device and for the user. The system is set up into an array of sensors for

both redundancy checking and to serve 2 purposes, to sense the distance in front of the device and

detecting objects in the immediate field of view. The sections below include our initial research of

different sensing types, their advantages and disadvantages of each in terms of our design. At the

end will discuss why each element was chosen and how it meets our design requirements. Distance

Sensing sensors can be classified into 3 main types; proximity, motion and Image. Each technology

has its own advantages and disadvantages as will be discussed in more detail below.

3.2.1.1 Proximity Sensors

Proximity sensors utilize several different technologies to sense the presence of objects or

obstacles without having to make any physical contact. The technologies utilized include

ultrasonic sensors, capacitive, photoelectric inductive or magnetic.

Photoelectric Sensor

University of Central Florida Page 10 EEL 4915

Electrical Engineering Department

Photoelectric sensors detect distance of an object by using a light transmitter and a receiver.

Common forms of this technology are infrared and laser. A laser light is very useful for tracking

and detect a target located at a long distance. The distance between sensor and target is measured

by calculating the speed of light and the time since light is emitted and until it is returned to the

receiver. A laser sensor is very precise in measurement and in the same time is very expensive.

Advantages and Disadvantages of Photoelectric Sensor (Laser)

• Advantages

o Accurate; can resolve measurements up to one micron at the fraction of the cost

of similar technologies

o Long measurement range

o The increased range allows for the sensor to avoid damage from contacting

moving targets.

• Disadvantages

o Due to the need of both a transmitter and a receiver size is greater than some

other sensors

o Increased cost to minimize size and for their increased component cost and

innate increased accuracy

o Minimum Range due to the speed of light. Time of flight is too short for most

processing

o Must be kept clean as a dirty lenses can degrade performance

o Limitation on operating temperatures

Ultrasonic sensor (Sonar)

These sensors are designed to generate high frequency sound waves and receive the echo reflected

by the target. These sensors are used in a wide range of applications and are very useful when it is

not important the detection of colors, surface texture, or transparency.

The sonar sensor can be used primarily in navigation for object detection, even for small objects,

and generally are used in projects with a big budget because this type of sensor is very expensive.

This sensor has high performances on the ground and in water where it can be used for submersed

robotics projects.

Advantages and Disadvantages of Ultrasonic sensors

• Advantages

o The output value is linear with the distance between the sensor and the target;

o Sensor response is not dependent on the colors, transparency of objects, optical

reflection properties, or by the surface texture of the object;

o Sensors are designed for contact free detection

o Accurate detection even of small objects

o Can work in critical conditions such as dirt and dust

o Available in a few forms for easier design

University of Central Florida Page 11 EEL 4915

Electrical Engineering Department

• Disadvantages

o Must view a high density surface for good results. Soft surface like foam or

cloth absorb soundwaves

o Could have false positives from loud noises such as air hoses

o Response time slightly greater compared to other sensors

o Has a minimum sensing distance

o Changes in the environment can affect the response of the sensor (temp,

humidity, pressure, etc.)

Capacitive Sensors

Capacitive sensors can be divided into two categories based upon their performance and intended

use. High resolution sensors are typically used in displacement and position monitoring

applications where high accuracy, stability and low temperature drift are required. Quite frequently

these sensors are used in process monitoring and closed-loop feedback control systems. Proximity

type capacitive sensors are much less expensive and are typically used to detect the presence of a

part or used in counting applications. Due to their max range this sensor will not be effective in

our design.

• Advantages

o Very small Minimum range up to (<25nm)

o Passive by design so able to use in extreme environments with reliable stability

o Easily customized

o Cheap

o Immune to target composition and will work well on all conductive targets

o Immune to ultrasonic noise, light humidity and temperature for normal

conditions

• Disadvantages

o Low range rarely greater then 15mm

o Must be kept clean as dirt or foreign debris can offset measurements

Inductive sensors and Magnetic Sensors

Due to their max range this sensor will not be effective in our design.

• Advantages

o Maintenance free

o Can operate as both pnp or npn configurations

o 360 degree of sensing for easy operation and maintenance

o Inexpensive

o Electrical protections against short circuits, overload, noise, false pules and

reverse polarity in DC application

• Disadvantages

o Cannot be repaired

University of Central Florida Page 12 EEL 4915

Electrical Engineering Department

o Must be kept clean as dirt or foreign debris can offset measurements

o Max range

3.2.1.2 Motion Detectors

Motion Detectors utilize infrared light, ultrasonic sensors and radar technology to sense moving

objects most typically people. By detecting the constant motion and comparing the differences in

their position you can sense their location.

Infrared Sensor

An infrared (IR) sensor measures the IR light that is transmitted in the environment to find objects

by an IR LED. This type of sensor is very popular in navigation for object avoidance, distance

measured or line following applications. This sensor is very sensitive to IR lights and sunlight, and

this is the main reason that an IR sensor is used with great precision in spaces with low light.

• Advantages

o Can detect objects over a larger area

o Can operate in real-time

o Uses non visible light for detection

o Inexpensive

• Disadvantages

o Sensitive to IR lights and sunlight

o Weakness to darker colors such as black

3.2.1.3 Image sensor

Image sensors capture an image of the surroundings and by analyzing the image and comparing

several frames a great deal of data can be acquired. However, this method in particular involves a

great deal of processing power compared to the other types of systems. This combination may be

the best in detection and tracking applications, but it is necessary to have advanced programming

skills and a mini computer like a Raspberry Pi. The camera is the best example of an image sensor.

The advantages and disadvantages of the camera are shown below.

• Advantages

o Can detect objects over a larger Area

o Can operate in real-time

o Simulates the function of the human eye

o Versatile

• Disadvantages

o Requires software to decode each frame to extract relevant information

o Requires increased processing power to decode images in real-time

o Increasing the power requirements and potentially increases the size of our

mobile device

University of Central Florida Page 13 EEL 4915

Electrical Engineering Department

o More expensive overall than other sensors factoring in the increased

requirements.

3.2.1.4 Sensor Selection Summary

We researched a broad range of sensors each with their own advantages and disadvantages. Our

top considerations included the laser sensor, ultrasonic sensor, infrared sensor and the camera.

Initially we were hoping to use a combination of 2 technologies to offset the varying weaknesses

of each sensor, but due to size and cost we went with a more traditional approach. The needs our

design as stated above is to have a sensor with a focused linear beam to tell the distance in front

of the user and a sensor that can detect objects in a cone shape in front of the user much like radar.

Lasers were our initial top choice but upon further research, we found that optic sensors are either

too big or too expensive for our design application. Though cost for our design is not a factor we

are trying to keep things within a budget that most people can afford. Also the users of this device

will be visually impaired, so there is only so much information we can convey to the user of this

device. For this reason we do not need to focus on accuracy which is a laser sensor’s biggest

strength. We did find a sensor that would suit all our above needs for radar sensor such as a

scanning laser sensor but the lowest price of such a sensor was over 1200 dollars for just the base

unit. A price that is prohibitively expensive for most consumers.

Infrared Sensors were less expensive option for it allows us to detect the presence of an object at

the range we are looking for. The issue with this sensor was finding the correct beam width that

would allow for the sensor to sweep and area much like radar. The most common sensors have a

beam width of 120degrees or greater which would simple tell us if there is an object in front of the

user or not, and if there are multiple objects and so on.

Camera sensors were also considered for this project as this device is supposed to act as the eyes

for our user. However, given our limited resources and the time available we found this sensor to

be to unfeasible for our application; a camera requires increased processing power and software to

decode the relevant information from each frame in real-time. This is ultimately the path our

project should take as this technology is getting more and more powerful such as in the realm of

automatic cars but it is simply too ambitious for us to try and reinvent the wheel with cutting-edge

applications. Furthermore, this would lock us into a design path as it dictates a more powerful

microcontroller and increased power requirements leaving us very little design flexibility.

Ultimately, we decided that 3 ultrasonic sensors would be the most feasible as it is considered to

be the most traditional option for most proximity applications. The sensor beam can be narrow or

wide based on the sensor design giving flexibility and is traditionally smaller than most proximity

sensors. The disadvantage of these sensors are that compared to other sensors they are not as quick

to refresh and less accurate. However, as stated above accuracy is our lowest concern as there is

only so much we can convey to the user. At an inch of resolution, ultrasonic sensors are still more

accurate than our design requires. The cost and size for these sensors compared to the other options

were the biggest advantages for our design application, along with having lower power options.

As the beam of an ultrasonic sensor can be configured differently we chose to utilize 3 ultrasonic

sensors. One is used to tell the linear distance and two attached at 45 degree angles detecting

objects to the left and right collecting data about the environment. Further testing will determine

University of Central Florida Page 14 EEL 4915

Electrical Engineering Department

if our choice was correct for a big disadvantage of ultrasonic sensors is the absorption of

soundwaves by soft objects such as clothing. However, due to our project requiring less precision

this may not be an issue and can be swapped with a more expensive model or technology with

little change in the development of our design.

3.2.2 Power Systems

Project EASI per our design specifications must be lightweight and portable thus requiring a power

source that can efficiently store energy and power our device. The most efficient approach to this

is the utilization of a rechargeable battery. There are several battery technologies out there. Our

research on the advantages and disadvantages of each technology will be stated below along with

a brief description of each technology. Finally, there will be a battery selection summary.

Project EASI will have several subsystems, such as the sensors, tactile feedback and the

microcontroller each requiring different energy sources. Due to our limited size having a power

source for each subsystem is not feasible for our design. Due to this issue our device like many

others requires the use of power regulation to harness and control the power from our battery

source to provide the needs of the various subsystems.

3.2.2.1 Battery Technologies

Project EASI as stated above will need to be powered by a rechargeable battery to allow for our

device to be light weight and portable. Below is a breakdown of the current battery technologies

with their advantages and disadvantages. The battery will need to meet our devices power needs,

be able to be recharged in a night’s time. The battery needs to not have high heat during recharge

and be able to relay its current charge state to the microcontroller to relay battery information to

the user.

Lithium Ion (Li-Ion)

The lithium ion battery is currently the one most popular batteries, found in most cell-phones and

electronics. The core of a battery is often based on around the type of material used. Lithium is the

lightest of all metals and provides the largest energy density for its weight due to having the

greatest electrochemical potential. The major drawback of this battery are due to safety issues. The

inherent instability of lithium metal, especially during charging can result in damaging the battery,

burning the user or possibly exploding. These problems slowed the development of this battery in

favor of other designs despite lower energy density. The energy density of lithium-ion is typically

twice that of the standard nickel-cadmium and offers low maintenance compared to other batteries.

Advantages and Disadvantages Lithium Ion (Li-Ion)

• Advantages

o Long life cycles

o Low Maintenance – No battery memory

o High Energy to Size Ratio – twice the performance of the standard NiCd

o Versatile- Many options for size, capacity and with specialty cells can provide

other variables such as high current applications.

University of Central Florida Page 15 EEL 4915

Electrical Engineering Department

• Disadvantages

o Requires circuit protection to prevent overcharging

o Transportation restrictions if this device goes into mass production.

o Expensive

o Aging – Capacity diminishes over time even when not in use.

o Technology continues to change and evolve an issue in mass production

Nickel-Cadmium (NiCd)

Invented in 1899 the nickel-cadmium battery became the standard battery for portable electronics

for most of the 1900’s. Offering several advantages over its predecessor the lead acid battery, the

NiCd offered higher capacity and cycle count but was slow to develop due to expensive materials

at the time. Today the NiCd remains the most rugged and forgiving battery and is still the favorite

of the airline industry due to its stability and long shelf life. The biggest drawbacks of NiCd is the

effect of battery memory and loss of performance due to improper maintenance.

Advantages and Disadvantages NiCd

• Advantages

o Rugged and stable – forgiving in load performance and transportation

o High performance with proper maintenance

o Long shelf life

o Only battery that can be charged quickly with little stress or safety concerns

o Economical – the lowest cost per cycle

o Versatile- Due to its history available in many sizes and performance options

• Disadvantages

o Lower Energy compared to newer battery systems

o Memory Effect - needs periodic full discharges and charge to maintain

performance

o Requires priming after long term storage

o Cadmium is a toxic metal that must be disposed properly

Nickel-metal-hydride (NiMH)

The most readily available rechargeable battery for consumer use, this battery is an attempted

upgrade to the standard NiCd battery. NiMH offers several improvements to the NiCd but is not

without drawbacks. The biggest drawback is the complicated charging requirements of this battery,

it is far more delicate then the rugged NiCd. NiMH main advantage come from its higher capacity,

less memory issues and removes the high toxicity of NiCd batteries.

Advantages and Disadvantages NiMH

• Advantages

o Higher Capacity than standard NiCd – generally 30-40 percent

University of Central Florida Page 16 EEL 4915

Electrical Engineering Department

o Less prone to memory then NiCd

o Stable - simple storage and transportation

o Environmentally friendly – contains only mild toxins

o Wide temperature ranges

• Disadvantages

o Limited life cycle

o Charging - sensitive to overcharging, complex charging issues, high

temperature during fast charging or high-load discharge

o Minimum Range due to the speed of light. Time of flight is too short for most

processing

o High self-discharge

o Efficiency – only about 65% compared to 99% with Li-ion

Lithium Polymer (Li-Po)

The successor to the lithium ion battery is the lithium polymer battery. This type of battery is a

derivative of the lithium ion design. This battery is more stable and generally safer than its

predecessor at the cost of battery capacity and sometimes the cost to the manufacturer. The

advantages and disadvantages for this battery are stated below. This battery type was found as we

were searching for the ideal battery to fit our needs and for our design; this technology outweighed

its disadvantages compared to the Li-ion.

• Advantages

o Long life cycles

o Low Maintenance – No battery memory

o High Energy to Size Ratio – twice the performance of the standard NiCd

o Versatile- Many options for size, capacity and with specialty cells can provide

other variables such as high current applications

o Very low profile compared to Li-ion

o Flexible Form Factor and Lighter weight

o Improved stability and safety from Li-Ion

• Disadvantages

o Requires circuit protection to prevent overcharging

o Transportation restrictions if this device goes into mass production.

o Expensive

o Aging – Capacity diminishes over time even when not in use.

o Technology continues to change and evolve an issue in mass production

o Lower Energy Density as compared to Li-Ion

o Generally Higher cost-to-energy ratio then Li-Ion

3.2.2.2 Battery Selection Summary

The battery selection for our design was quite straightforward. Though we considered a few

possible technologies, latest technology lithium polymer (Li-Po) has become standard for most

University of Central Florida Page 17 EEL 4915

Electrical Engineering Department

mobile devices and for good reason. Li-Po has one of the highest capacity to size ratio and the

most versatile charging options available without the drawback of battery memory. The only major

drawback to this technology for our design project is the increased need for charging protection

circuits as Li-ion batteries are potentially unstable and can prove to be hazardous under certain

charging or overvoltage conditions. Though this is an issue with all batteries other technologies

are more rugged and stable. The other drawbacks for this technology are only an issue if we took

our design into production as Li-Po batteries face regulations for transport which increase

production costs. The Li-Po as stated above is basically the popular Li-Ion battery which was our

original first choice but the increase in stability which improves safety during development and

the smaller foam size outweighed the small increase in cost and loss of battery capacity.

3.2.3 Smartphone Subsystem

The smartphone subsystem of the project allows the user to interact with the device through the

use of their smartphone. This interaction will be done wirelessly through the use of the technology

of Bluetooth and an app developed for a mobile platform. In order to make informed decisions

about what specific part/software to select, the developers need to know what specifications to

look for when selecting a product so that it will satisfy the objectives of the project.

3.2.3.1 Bluetooth Communication

Bluetooth is a widely-used method of connecting electronic devices to each other wirelessly. It

uses radio waves at 2.4GHz frequency to communicate wirelessly between Bluetooth connected

devices. Bluetooth is used in headsets, speakers, activity trackers, smartwatches, and video game

controllers, just to name a few. It has applications that span all different types of industries.

Bluetooth Master/Slave Relationship

Bluetooth uses a master/slave relationship to operate. One Bluetooth device in a network acts as

the master, which controls communication among devices connected to the Bluetooth network. Up

to seven slave devices can connect to a single master at any one time. Slaves can only communicate

with the master in the Bluetooth network that they are connected to. Slaves in a Bluetooth network

cannot communicate with other slaves in their same Bluetooth network. [5] Since the EASI device

will only need to communicate with a single smartphone at a time, it can be a slave device in the

Bluetooth network formed between it and the paired smartphone.

Bluetooth Power Classes

The range of communication of a Bluetooth module is determined by its transmission power.

Transmission power is broken up into three classes. Class 1 has a maximum output power of

20dBm which results in a maximum range of 100m. Class 2 has a maximum output power of

4dBm which results in a maximum range of 10m. Class 3 has a maximum output power of 0dBm

which results in a maximum range of 10cm. [5] Since the EASI device should be held in the user’s

hand while in use, a Class 1 Bluetooth module is not needed. However, a Class 3 Bluetooth module

would have too short of a range for the needs of the EASI device. If the user is holding the EASI

device in one hand and their smartphone is in the pocket on the opposite side of their body, the

University of Central Florida Page 18 EEL 4915

Electrical Engineering Department

distance between the device and their smartphone could be greater than 10cm. Therefore, the least

powerful Bluetooth module that still meets the requirements of the project would be a Class 2

Bluetooth module that has a range of 10m.

Bluetooth Profiles

Bluetooth has a number of established profiles that allow Bluetooth devices to have specialized

applications. Profiles allows for the definition of what kind of data a device can send or receive.

In order for two devices to be able to communicate with each other, they must support the same

profiles.

Since Bluetooth would be used in the EASI project to transmit turn-by-turn navigation data from

a smartphone to the EASI device, a Bluetooth profile that allows for the transfer of bursts of data

between devices would be required. The existing Bluetooth profile that most closely matches this

requirement would be the Serial Port Profile (SPP). SPP is intended to serve as a wireless

replacement for serial communication. [6] If two connected devices are implementing SPP, the

paired devices are able to both send and receive data between each other wirelessly.

Bluetooth Versions

Since Bluetooth v4.0 is backwards compatible with previous Bluetooth versions, meaning a

Bluetooth module using v4.0 can pair with a Bluetooth device using any previous Bluetooth

version, and also offers increased data transmission speed, reduced power consumption, and

additional data transmission security, there is really no reason to use a version of Bluetooth less

than v4.0. However, within Bluetooth v4.0 there are three categories. Basic Rate/Enhanced Data

Rate(BR/EDR) with offer backward compatibility with previous Bluetooth versions and Bluetooth

Low Energy(BLE). [6] Since the EASI device will only occasionally be sending turn-by-turn

navigation data, EDR would offer greater transmission speeds than are required resulting in

unnecessary power consumption.

Bluetooth BR offers backwards compatibility with previous Bluetooth versions, additional data

throughput (0.7-2.1 Mbps), and potentially greater range (100m) if a class 1 power class is used at

the cost of higher power consumption over Bluetooth BLE. In comparison, Bluetooth BLE offers

a much lower typical data throughput of 0.27 Mbps at greatly reduced power consumption with a

range of 50m. Bluetooth BLE also lacks the profile support of SPP. [5] Since the data transmission

throughput needs of the project are quite small, the decision left to the design team to make is

whether to place a higher value on the backward compatibility feature of Bluetooth v4.0 BR or the

greatly reduced power consumption of Bluetooth v4.0 BLE but added complexity of not having a

preexisting SPP profile to allow for easier implementation of serial communication when deciding

what kind of Bluetooth module to select for the EASI device.

Bluetooth Summary

The technology of Bluetooth allows the microcontroller of the EASI device to communicate with

the smartphone of a user wirelessly. Due to its essential role in the project, Bluetooth had to be

extensively researched so that the developers could make informed decisions about what features

University of Central Florida Page 19 EEL 4915

Electrical Engineering Department

to look for when selecting a Bluetooth module. This research lead to the conclusion that the final

Bluetooth module selection should be a slave module since it will only need to connect to one

other Bluetooth device at a time. Ideally, the Bluetooth module will be power class 2, although a

power class 1 module will work, but will use additional power. A Bluetooth module implementing

the spp profile will facilitate the easiest implementation of serial communication between the EASI

device and a paired smartphone. Either a Bluetooth module with Bluetooth 4.0 or BLE would be

the best fit for the project. It would most likely be easier to implement serial communication on a

Bluetooth 4.0 module because it allows the use of the spp profile. However, a BLE module would

use considerably less power. The decision of which version to use will most likely be decided

based on the what other sought after features the module offers.

3.2.3.2 Mobile Applications

For the mobile application, there are three main popular operating platforms that are widely used

on most of smart phones on the market at the time: Android, IOS, and Windows. The mobile

application will help the users to communicate with the device through any smart phones. The app

design will be as simple as it can be so that users can use it without having much learning curve.

Android

Android is a mobile operating system created by Google and based on Linux kernel. Android was

designed and widely used by many touch screen devices like phones, tablet, TV and vehicles with

Android enable user interface.

Advantages and Disadvantages Android

• Advantages

o Open sources: since this is Linux based, Android applications can be developed

by anyone with any computer operating systems.

o Multitasking: Android can have many applications running at the same time so

users can enjoy listening to music while browsing the internet or while playing

games.

o Ease of app market access: users can easily get access to a very large Android

app market to download many applications for free.

o Modified ROM: ROM are usually updated by the mobile device companies to

give updates, new features, and fix bugs. Unofficial ROM can also be found

that were modified by software techs to give different looks, features and

functions than the one officially given out. Android allows users to have custom

ROM installed at their own risks, but many ROM released are very stable.

o Diverse phone options: many phone manufactures use Android like Samsung,

LG, Motorola, HTC and so on. That give buyers and users the freedom to

choose the phone brand of their liking and not tied to one specific brand only.

o Widget: widgets help users to access to many settings and applications of their

choice from home screen quick and easy.

o Formats: support different types of audio and video formats so there is no need

to convert one format to another.

University of Central Florida Page 20 EEL 4915

Electrical Engineering Department

• Disadvantages

o Internet connection required: almost every application that users need daily

required to have internet connection to operate.

o Advertising: because many applications can be obtained for free and easy, ads

will be display and take up viewing space.

o Short battery life: Android allow to have multitasking to have many

applications to be open at a time resulting in using more processing power and

RAM causing using more battery.

o Viruses: applications can contain viruses, and might destroy the user’s phone

software.

o Heat: multitasking can also create heat problems due to the device processing

many apps at a time.

IOS

IOS is a mobile operating system OS X and UNIX based created by Apple. IOS is only used on

only Apple devices like phones, tablets and computers. It is one of the two most popular platforms

using today on mobile devices.

Advantages and Disadvantages IOS

• Advantages

o Security: IOS is less prone to virus because it is not open source and required a

certain software to create applications.

o Reliability: with less virus encounter, software tends not to corrupt.

o User friendly: the user interface is designed to give users ease of navigate and

use the applications.

o Quality applications: not being an open source platforms, IOS does not have to

worry about uniformity between phone brands, screen sizes, specifications. IOS

applications would be easier to create with better quality.

o Apple service: with many apple store locations in many cities, if users have any

problems with software or hardware, just bring the device into an Apple store

and technical support will handle it.

o Device integration: contents on any Apple devices can be sync and access at

any time using iCloud without having to download third party applications like

other platforms.

• Disadvantages

o No customizations: most of the applications cannot freely customize like on

Android, upgrades cannot be mixed and matched like on Windows.

o Expensive: IOS only used by Apple products hence the premium price for the

brand.

o Not open source: programmers are strictly using IOS software to create apps.

o No widget: apps shortcut not available.

o High repair cost: since the cost of devices are high, repairing cost also get

affected.

University of Central Florida Page 21 EEL 4915

Electrical Engineering Department

o Formats: IOS only support certain formats to use for audio and video files.

Windows

Windows is created by Microsoft initially for computer systems and now moving to mobile devices

and gaming devices. Windows is transitioning into cross devices, applications and programs can

be access on mobile devices, PC or gaming systems.

Advantages and Disadvantages Windows

• Advantages

o Support Multi-Core Processors: this will help devices process applications

faster.

o PC compatible: windows phone applications can be sync directly with programs

on PC make it convenience for users to access it.

o Gaming system compatible: apps and programs starting to sync between mobile

devices and PC to gaming systems.

o Hardware: largest windows phone brand is Nokia, and Nokia phones has been

known to very good quality.

• Disadvantages

o Limited user base: windows phones are not popular hence small users base.

o Limited applications: because of its popularity, not much apps created for the

platform.

o Formats: limited audio and video playing formats.

o Security: no anti-virus to protect the system.

o Expensive: prices are almost same as Android with less features to offer.

Mobile Technology Summary

Windows mobile platform is changing over time and it is getting better in terms of design and

applications. On the newest Windows 10 Mobile upgrade, it has a new and eye catchy user

interface. The UI is trying to be smooth, simple and easy to understand to the users. The UI

represent the apps in tiles style, each application will be a tile and a screen page is consisting of

many tiles for many apps. Users can modify the tile faces to show app’s information to their liking,

but many users are not used to tiles representations. And with these changes, Windows try to get

users attentions but not enough. Windows mobile is still new, and they trying new features that

different to Android and IOS but not simple to understand to all users. And for that, user base for

Windows Mobile phones is still very limited.

IOS on the other hand has been around longer than Windows Mobile, and with their attractive

device appeal, is more popular to the users. IOS is designed to give users ease of access and

operate, their UI is simple but appealing. IOS is not open source, which improve on security,

applications must be created on Apple computers only and platforms are not easy to be modify.

Better security leads to better virus protection from malicious websites and third party apps. Less

virus will lead to more reliable software and apps. Since applications do not have to be on various

University of Central Florida Page 22 EEL 4915

Electrical Engineering Department

screen sizes and phone specifications, developers can focus on building a more quality application

for user’s experience.

Android is the most popular platform and has been around as long as IOS. Because of Android’s

open source applications, many phone manufactures can easily put the platform into their phones,

give a diverse phone brand options for the users to choose phones to their liking. And with that,

developers can be easily created Android applications on any computers of their choice and not

have to tie to Apple computers only. Android ROM is easier to modified by developers to give

users experience differ than what stock ROM give.

Android IOS Windows

Advantages

• Open Source

• Multitasking

• App market size

• Modifiable ROM

• Diverse phones

• Formats

• Security

• Reliability

• User friendly

• Quality

applications

• Apple service

• Device

integration

• PC compatible

• Gaming system

compatible

• Quality

hardware

Disadvantages

• Shorter battery life

• Viruses

• Heat

• Premium price

• No

customizations

• Not open source

• Formats

• Limited user

base

• Limited

applications

• Formats

• Security

• Price

Table 3.2.3.2-a Mobile Technology Table Summary

3.2.4 Tactile Feedback Subsystem

This subsystem will be responsible for relaying all communicable information to the end user via

touch. We have three major goals in this design: first, it must be able to relay complete navigation

and obstacle-avoidance information, independent of any audio or visual cues. Obviously, visual

cues are useless to a blind or visually impaired user. Making any audio cues optional is nearly as

important though, as having to wear headphones to listen for cues would limit usability for those

who rely on their hearing to compensate for their disability.

Our second primary design goal is to create a system of comparable granularity to our sensor

system. Any resources we invest in improving the robustness of our sensors will be wasted if the

feedback system is not capable of communicating those improvements to the user. Similarly, a

feedback system capable of relaying high-resolution information about the user’s surroundings

will only be useful if the sensors are able to capture that information in the first place.

University of Central Florida Page 23 EEL 4915

Electrical Engineering Department

Finally, this system must be able to quickly and dynamically respond to a changing environment.

The device is intended to assist the end user in walking to their destination, which means obstacles

will constantly be in motion with respect to the device, and feedback about obstacles must be

provided quickly enough for the user to react to them.

The most obvious way to provide tactile feedback is thorough the use of vibrating motors, as these

are commonly used for that purpose in many consumer devices, such as cell phones. Vibration

motors alone would not be able to provide the granularity we are hoping for though, so in addition

this system will use several linear actuator motors, which will be positioned such that the user will

be able to feel them rise and fall. There are several varieties of both components, and many

different technologies upon which those varieties are based, and choosing the right one will be

vital to creating a good design.

In designing this system, we will first consider which technologies we can use based on our

engineering constraints and performance requirements. From there, we will conceive of a top-level

implementation specification, which will include the quantity and arrangement of these

components, as well as a specific list of the functions they will perform. Finally, we will select the

specific components that will be used in this implementation, based on their electrical and

mechanical characteristics, and lab testing.

3.2.4.1 Linear Actuators

There are two main technologies to consider when choosing a linear actuator. The first is called a

Voice Coil actuator. The name “voice coil” originates with its’ common use as a driver for

loudspeakers. They involve a current-carrying coil in a permanent magnetic field, which generates

a Lorentz Force perpendicular to the direction and proportional to the magnitude of the current.

The other is known as a Solenoid actuator. This is a much simpler technology, only consisting of

a current carrying coil which generates a near uniform magnetic field which applies a force to a

ferromagnetic shaft in its’ center. Solenoids are often used in applications where a valve must be

electrically opened and closed. Each of these technologies has definitive strengths and weaknesses,

which will be discussed below.

Voice Coil Actuators

• Advantages

o Reversibility. The direction of force and hence the direction of motion of the

stroke is always perpendicular to the direction of current, so the shaft can be

retracted simply by reversing the direction of current into the device.

o Force Linearity. Voice Coil actuators have near constant push and pull force

throughout their entire stroke length, save for some tapering off at the two

extremes

o Position Control. The Voice Coil’s force linearity and current proportionality

property allows its position and force to be precisely controlled and tracked,

without the need of any external position tracking or feedback control.

o Documentation. These devices are only typically purchasable directly from the

manufacturer. This comes with the benefit that technical specifications and

University of Central Florida Page 24 EEL 4915

Electrical Engineering Department

datasheets are always uniform, complete, and readily available. There is also a

lot in the way of tutorials, support resources, and complimentary hardware

direct from the manufacturers.

o Reliability. Actuators of this nature are typically designed to bear high loads in

industrial applications. In particular, the non-commutated (brushless) models

have very few moving mechanical parts, and thus are very resilient to failure.

• Disadvantages

o Unit Cost. VCA’s are substantially more expensive than solenoids. Though the

technology is used in many products, its application as a linear actuator is

relatively niche. Thus, the low manufacturing volume and high performance

standards drive cost up substantially. The least expensive models can be found

for roughly $70, with more specialized devices increasing into hundreds of

dollars.

o Implementation Cost. Taking advantage of the full capabilities of these

actuators requires more sophisticated control circuitry, which will take more

design time and introduce more potential for unforeseen design complications

o Size. There are only a select few models of VCA which would be small enough

to fit our device. This would limit the selection of components available to

choose from and hence less freedom to choose a product based on mechanical

or electrical characteristics.

Solenoid Actuators

• Advantages

o Unit Cost. Solenoids are quite inexpensive, costing on average between $5 and $15.

Not only would this have significant impact on the end-unit cost; it will also allow

us to buy extra in case of malfunctions, and to try out several different models

before setting on one.

o Size. Solenoids are much smaller than VCA’s on average, and many size variations

will fall well within our design constraints. They can be found as small as roughly

0.7𝑐𝑚 𝑥 0.7𝑐𝑚 𝑥 2𝑐𝑚 o Variety. There is a large selection of solenoids available which fit our size

constraints, giving us the freedom to choose between rated voltages, current draw,

form factors, and duty cycles.

• Disadvantages

o Heat. As primarily inductive devices, solenoids heat up very quickly while

energized. Particularly since our design will consist of many solenoids close

together, a not insignificant amount of design consideration must go into mitigating

this heat generation, both to prevent component damage and unnecessary

consumption of our limited power resources.

o Control. Solenoids are definitively on-off devices. They have no capacity for

position or acceleration feedback control, and thus are limited in the kind and depth

of information they can convey.

University of Central Florida Page 25 EEL 4915

Electrical Engineering Department

Linear Actuators Summary

VCA’s offer many benefits which are particularly appealing for haptic applications. Specifically,

their capability for precise position tracking and control has a lot of potential for relaying a variety

of tactile signals to the user. This is especially true for the visually impaired, as they can be

expected to me much more sensitive to minimal changes in position or force, particularly if they

have been trained to read braille.

Despite this, we feel that the drawbacks are simply too significant for us to realistically consider

using VCA’s in our final design. Even with position control, our design will require several of

these actuators, which would be tremendously expensive. On top of that, any functionality we

would gain from position control would be hampered by the small size – there’s only so much

information that can be communicated in ~2 cm of stroke length variations. Ultimately, simple on-

off control should be sufficient for what we have in mind for our design.

3.2.4.2 Vibration Motors

As with solenoids, there are two primary technologies to consider when selecting a vibration

motor. The first and most common is called an Eccentric Rotating Mass, or ERM, motor. As the

name implies, these are small DC rotary motors, with a mass offset from center attached to the

rotor. These are traditionally brushed motors, however more recently brushless variants have been

developed, which primarily boast a substantially improved mean time to failure and reduced noise.

This technology has been the basis for vibration motors since the days of pagers.

The other, more recent variety, is called a Linear Resonant Actuator, or LRA. These actuators use

the same voice coil technology as VCA’s. A voice coil driven by an AC power signal and vibrates

a permanently magnetic mass fixed to a spring along a single axis. Since the voice coil’s position

in space is directly proportional to the magnitude of the input voltage, an AC signal input will

cause the system to vibrate. The mass-spring system is used to magnify the force of vibration by

tuning the AC signal at its mechanical resonant frequency. In recent years, LRA’s have been

becoming more and more prevalent in personal electronic devices for their unique suitability for

precision haptic feedback applications and device longevity.

ERMs

• Advantages

o Simplicity. Like solenoids, ERMs are DC powered, primarily on-off devices.

Neither their equivalent circuit model nor their standard control circuitry is

particularly complicated, and in fact they are controlled in a very similar method to

solenoids. Though a DC motor driver IC can be used to control them, it is not

necessary.

o Variety. The simplicity of this technology lends itself to a wide variety of sizes,

form factors, and rated operating voltages. There are models designed to be

mounted directly on a PCB or to the device housing, using anything from adhesive

to rubberized padding.

University of Central Florida Page 26 EEL 4915

Electrical Engineering Department

o Cost. Though the cost discrepancy is not as large as it is between actuator

technologies, there is still a not insignificant difference in cost between these two

vibration motor technologies. This advantage is compounded by their reduced

implementation cost, due to their relative simplicity.

• Disadvantages

o Longevity. Particularly for the much more common brushed variant, ERMs are

rated for a much shorted MTTF than their counterparts. If the application requires

consistent use over an extended period of time, ERMs may not be an adequate

solution.

o Control. Though there can be some control of vibration intensity by varying the DC

input voltage around its rated values, ERMs are primarily on-off devices, and any

signaling schemes will need to be done through pulse width modulation signaling.

It is worth noting that ERM motors can be controlled by dedicated driver ICs, which

can offload generation of more complex signal patterns from the system controller

and can bring their capabilities more in line with an LRA.

LRAs

• Advantages

o Longevity. The only moving parts in an LRA are a simple mass-spring system. The

voice coil itself, which produces the oscillating magnetic force that moves this

mass, does not actually have any moving parts of its own. Thus, LRAs have

virtually no components which will fail due to mechanical wear and tear. They are

therefore typically rated for many more vibration cycles than ERMs.

o Control. As the vibration frequency of an LRA depends on the mechanical

characteristics of its spring system, its vibration frequency is more or less fixed.

The frequency can vary somewhat at the cost of power efficiency and performance

(see the Figure 3.2.4.2-a below). Different signals are created by varying the

amplitude of vibration, by amplitude modulating the input signal. This allows for

precision control of the vibration intensity at any given instant, which opens a wide

Figure 3.2.4.2-a Example of an LRA’s Frequency Response

University of Central Florida Page 27 EEL 4915

Electrical Engineering Department

variety of signal schemes we could use to convey high information resolution to

users, particularly those who we can assume will be more sensitive to touch.

o Start Time. LRAs are generally able to transition from rest to full speed roughly an

order of magnitude (~milliseconds versus tens of milliseconds) which allows them

to respond to input changes quickly and form more complex haptic signals. It is

worth noting that on its own, an LRA takes a very long time to stop vibrating, due

to the spring-mass system’s inertia, however LRA controllers employ active

braking, which just phase shifts the input AC power signal by 180 degrees to oppose

the system’s motion.

• Disadvantages

o Complexity. Controlling an LRA all but requires using a dedicated driver IC.

Building a circuit which would be able to generate and modulate an AC signal to

fit the motor’s specifications on an embedded device would be impractical at best.

The requirement for a dedicated controller will in turn necessitate an increase in the

complexity of our design, whereas with an ERM we would have the option of

whether to use one, and hence we would have more flexibility in our final

implementation.

o Cost. Slightly higher individual unit cost, addition of a dedicated driver IC, and an

increase in total circuit elements needed to implement a controller for an LRA all

will contribute to a non-negligible increase in our final design’s price.

Vibration Motor Summary

As it turns out, once a driver IC becomes involved, these two technologies become fairly

interchangeable. Many of these chips are designed to work for both kinds of motor, with a jumper

or configuration bit set to select which of the two is being used. Given our current design progress,

and conceptualization of the required minimum capabilities of the vibration motors we choose, we

feel that it makes the most sense to start with a direct driven ERM. It is not obvious at this point

that we will require more than simple on-off signaling, and until that is no longer the case it doesn’t

seem reasonable to introduce the extra complexity associated with implementing a driver chip.

3.2.5 Microcontroller Subsystem

In any smart devices that have an embedded system, all have microcontroller to run the

components. Microcontroller, or MCU, stand for microcontroller unit, also known as the “brain”

or the heart of the device.

3.2.5.1 Microcontroller

Microcontroller is a small computer containing processing core, memory and programmable input

output ports. A device will consist of few to many components that provide functionalities of the

device. But each component will only have one simple specifics function, and only send out and

receive a specifics signal information for the function. So, a device with many components will

need to have something to process all the information that sent out by the components and signal

back to them. Microcontrollers then used for the components to communicate with each other.

University of Central Florida Page 28 EEL 4915

Electrical Engineering Department

Once signal has been sent out from the component, it will get send and processed at the

microcontroller. Programmers program the microcontrollers to handle the information that

received from the signals and report back to the users depend on different devices. There are many

types of microcontrollers but most are categorized into clock speed, bits, flash memory size,

voltage and numbers of input/output pins. Different projects will need different specifications

depend on the needs and functionalities of that project, but decisions can be made after researching

on microcontrollers that fit all the standards. Clock speed will determine how fast the

microcontroller can process the information, this also depend on the coding size and coding

algorithm, more efficient algorithm will lead to faster processing speed. Flash memory size will

show how much programming code can store and rerun after the device restart, the larger size, the

larger amount of code a programmer can store. Input/output pins are to transfer signal information

in and out of the microcontroller to the components. Each I/O pin can be put as input or output

state with the software; as input state, the pin can read data from other components like sensors;

as output state, signal can be send out from the microcontroller to drive components like LED

lights, LED displays and motors. To choose a suitable microcontroller for any projects,

programmers must know the numbers of clock speeds, bits, flash size and numbers of I/O pins

needed.

The microcontroller lines that had most attention to were the Arduino, Teensy and Texas

Instruments. The Arduino line uses mostly Atmel (ARM based) microcontrollers, the Teensy line

consists ARM microcontrollers, and the Texas Instrument line have their own microcontrollers.

The Arduino is well known for its user friendly and great for beginners with a slow learning curve.

The Texas Instrument was widely used on many projects and application because of its popularities

and successes, but it has a very steep learning curve so it would be difficult to any beginners that

was introduced to embedded system programming. ARM has a very large range of different variety

microcontrollers, from small to big projects, because of its powerful clock speed and flash

memory.

Arduino Zero (ATSAMD21G18)

The Arduino Zero development board has microcontroller design by Atmel, [7] the

ATSAMD21G18. The ATSAMD21G18 is a 32-bit with the clock frequency of 48 MHz, 256KB

of flash memory which will be enough for the software, and 38 general I/O pins which will be

more than what the device components need.

Advantages and Disadvantages Arduino Zero

• Advantages

o With a 48MHz clock frequency, there will be plenty of power to process the

information signals in a fast time to give better user’s feedback.

o With 256KB of flash memory available, a large amount of software can be store.

o With a 32-bits, the microcontroller would be more than sufficient.

o 38 general input/output pins would leave a lot of room for more components if

needed.

o Low active power consumption, great for devices that use battery as power source.

University of Central Florida Page 29 EEL 4915

Electrical Engineering Department

o User friendly programming tutorial for learning helps beginners to have better

success.

• Disadvantages

o Arduino using their own language that is very like C language so programming is

a little different at some level and not all libraries can be compatible.

Teensy 3.6 (MK66FX1M0VMD18)

The Teensy 3.6 development board uses ARM Cortex microcontroller MK66FX1M0VMD18.

[8]The MK66FX1M0VMD18 has a clock frequency of 180 MHz, which is much more powerful

than the Arduino and much more than what this project need, with flash memory of 1000KB, there

will be plenty of space for software. Up to 100 general purpose I/O pins which will be far more

than what the device need for all the components.

Advantages and Disadvantages Teensy 3.6

• Advantages

o With a 180MHz clock frequency, there will be much more power to process the

information signals in a very fast time to give best user’s feedback.

o With 1000KB of flash memory available, a very large amount of software can be

store.

o With a 32-bits, the microcontroller would be more than sufficient.

o 100 general input/output pins would leave a lot of room for more components if

needed.

o Compatible with most Arduino’s user friendly IDE and libraries.

• Disadvantages

o Power consumption is very high.

o Consume more battery power.

o Less run time.

o Unused I/O pins.

o Not compatible with some of Arduino’s libraries.

MSP430 (MSP430F6766)

[9]MSP430 is one of many microcontroller lines from Texas Instrument, TI has many lines of

microcontroller with many sub-microcontrollers with many different specifications, clock speeds,

flash memory size, I/O pin numbers that fit any kind of embedded system projects anyone can use

for. For this project, a powerful processing microcontroller with many I/O pins for the components

is required so no need to choose from low-level MSP430s that has lower clock speeds, less flash

memory size, and less I/O pins, one was chosen for this project because it has most of the

specifications close to what needed, the MSP430F6766. The MSP430F6766 microcontroller is an

ARM base for TI. The clock frequency is set to 25MHz; flash memory size is 256KB with 90

general I/O pins.

University of Central Florida Page 30 EEL 4915

Electrical Engineering Department

Advantages and Disadvantages MSP430

• Advantages

o With a 25MHz clock frequency, it would be right where the device need to have to

give user’s feedback at the required time.

o With 256KB of flash memory available, a large amount of software can be store.

o With a 32-bits, the microcontroller would be more than sufficient.

o 90 general input/output pins would leave a lot of room for more components if

needed.

o Ultra-low active power consumption, best for devices that use battery as power

source that will get longest function period.

o User friendly programming tutorial for learning helps beginners to have better

success.

o Popular microcontroller that is in many projects, hence the stability.

• Disadvantages

o With Texas Instrument microcontrollers, $500+ full version of Code Composer

Studios is needed to program.

Microcontroller Summary

For this project, the microcontroller will need to have more than fifteen I/O pins as to connect with

many components like sensor, Bluetooth, vibration motors and actuators. Clock speed must be

more than enough to handle the processing power for the system to function at a fast speed. Flash

memory size must be more than the system needed to store the large amount of software so that

the device can continue to function normally after restarting. Active power draw needs to be as

low as possible depend on the clock speed because this project is a handheld device and all the

components need to consume as little battery power as possible so that users can use the device

for a long time. All the specifications of the microcontrollers will be compare in table 3.2.5.1-a.

[7]The ATSAMD21G18 microcontroller in the Arduino Zero board has a fairly high clock speed

of 48MHz resulting a good amount of processing power for this project. With 256KB flash

memory, programming can be easier, larger amount of codes can be done. 38 I/O pins will be more

than sufficient for all the components to connect to the microcontroller. Low active power

consumption of around 10.3mA, the microcontroller will save power when in use resulting longer

battery life. Programming IDE is very users friendly, it will help beginners create better projects.

[8]The MK66FXM0VMD18 microcontroller in the Teensy 3.6 board has a very high clock speed

of 180MHz, will give his project a lot of overhead in processing power. 1000KB of flash memory

is much more than what this project needs. The amount of 100 I/O pins would also be much more

extra than all the components need to communicate with the microcontroller. Very high active

power consumption of 116mA will consume much more battery life resulting shorter battery life

for the users.

[9]The MSP430F6766 microcontroller in the MSP430 board has a lower clock speed of 25MHz

comparing to the other two microcontrollers above. 256KB flash memory is the same amount with

University of Central Florida Page 31 EEL 4915

Electrical Engineering Department

the Arduino board, but it has a higher 90 I/O pins comparing to the Arduino so it will give more

pins overhead than the Arduino. The ultra-low active power consumption of 0.346mA is best for

this project than the Arduino and Teensy, this will give the user maximum battery life. MSP IDE

is friendly and easy to use but free version only gives programmers to code 16KB of flash memory,

this is not enough for this project. Full MSP IDE version cost starting from $500 that does not

limit the amount of flash memory.

Arduino Zero MSP430 Teensy 3.6

Clock Frequency (MHz) 48 25 180

Voltage (V) 3.3 3.3 3.3

Flash (KB) 256 256 1000

SRAM (B) 32 16 256

Bits 32 32 32

GIOP 38 90 100

Active Power Consumption 10.3mA 346uA 116mA

Timer Counter 3 Yes Yes

Real-Time Counter Yes Yes Yes Table 3.2.5.1-a-Microcontroller Table Summary

3.3 Part Selections

This section involves the analysis and methodology in selecting the parts of each subsystem. Each

section includes a brief description and a table for the choices for each part including the final part

selection. This is done as a flowing table, as during development and testing advantages and

disadvantages become more apparent so new parts with different specifications must be selected

for the improvement of the design

3.3.1 Distance Sensing Subsystem

The sections below describe the parts selected for the distance sensor subsystem. Both sensors are

ultrasonic, with one focusing on linear proximity detection and the other connected with a servo

which detects left and right much like a radar. Thus, three parts will be needed as described below.

3.3.1.1 Sensors

As stated above we are utilizing ultrasonic sensors for our design. Based on the strategic

component selection, our group chose to go with the an ultrasonic sensor. Our design calls for two

sensors one for linear and one for radar to detect left and right. Parts are changed for several

possible reasons, but usually a part that might meet our needs on paper but does not fully work out

in reality. Below is a discussion of parts describing why we selected it and why it did or did not

work out. At the end of this section, there will be a summary. The summary will compare parts

specifications and the final choice

University of Central Florida Page 32 EEL 4915

Electrical Engineering Department

HC-SR04

The HC-SR04 is a very popular and very cost effective ultrasonic sensor. With a range of 2cm-4m

it falls well within our specifications and even provides a 3mm resolution that more than exceeds

our ability to relay such precision to our visually impaired user. The module includes an ultrasonic

transmitter, receiver and a control circuit. With only 4 pins: VCC(Power), Trig(Trigger),

Echo(Receive) and GND(Ground) this sensor is actually very easy to set up and use which is a

bonus for our project implementation. Also with its popularity comes a great deal of documentation

on its use. Due to this factor popularity and low cost we considered using this for both the radar

and linear sensor type.

The disadvantage of this sensor is mainly its size and lack of versatility. The sensor was replaced

by the models described below due their smaller size and we opted to choose a model with different

beam widths and resolutions based on our needs or possible future needs.

Ultrasonic Range Finder - LV-MaxSonar-EZ1

Another popular ultrasonic sensor has several advantages to the HC-SR04 at the disadvantage of

a higher cost. This sensor offers several possible ways to communicate with the microcontroller

unlike the HC-SR04 such as RS232, Analog Voltage, Pulse Width and TTL serial. These robust

options will give us different implementation options should the need arise. The main advantage

of this sensor besides the increased features is the size. At half the size of the HC-SR04 this sensor

was well worth the cost. This sensor also used less power than its larger predecessor.

The LV line of MaxSonar sensors feature a 1-inch resolution which decrease the cost and falls

well within our specifications. As stated above there is a limit to how much information we can

provide our user using only a tactile system. However, this sensor gives us the option to buy a

higher resolution line with resolutions of 1cm and 1mm. These options of improving the resolution

or changing the beam width allows us to develop and implement without worry if we need to

change these parameters down the line. This sensor will be used for the radar type.

The disadvantage of this sensor is mainly its cost, but unless things change during testing or

implementation this sensor meets our current needs for the radar sensor and thus is our final choice.

Ultrasonic Range Finder - LV-MaxSonar-EZ4

This ultrasonic sensor is the same as above with the only difference being that the beam width is

¼ the size of the radar sensor. This sensor will be used for our linear application. The disadvantage

of this sensor is mainly its cost, but unless things change during testing or implementation this

sensor meets our current needs for the linear sensor and thus is our final choice.

Sensor Summary

In conclusion, we will discuss our final parts selection. Table 3.3.1.1-a shows a comparison of key

technical data of the final parts we considered. The table also shows how they compare to our

project requirements or desired specifications. For the distance sensing system, the specifications

University of Central Florida Page 33 EEL 4915

Electrical Engineering Department

were quite simpler than our desired needs. Per our specifications, the only requirement is that the

sensor has to detect an object at a distance greater than 2 meters. All the sensors below meet this

requirement thus we focused on parameters that we desired or gave us more options to improve

our design should time allow.

Specification HC-SR04 MaxSonar-EZ1 MaxSonar-EZ4 Project Req.(R) and

Desires(D)

Working Voltage 5V DC 2.5-5.5V DC 2.5-5.5V DC ≤7.4V (D)

Working Current 15mA 2mA 2mA Lower is better (D)

Max range 4m 6.45m 6.45m >2m (R)

Min Range 2cm 1mm 1mm ≥1inch (D)

Min 100% read

range

12in. 6in./15.2cm 6in./15.2cm ≤1foot (D)

Beam Width 15 degrees 4feet 4feet Lower is better (D)

Resolution 2mm 1in. 1in. Lower is better (D)

Measurement Cycle Not Given 50ms 50ms Lower is better (D)

Operating

Temperature

Not Given -15ºC to +65ºC -15ºC to +65ºC Not a major Factor

Dimension

(HxWxD)

45*20*15mm 19.9*22.1*15.5mm 19.9*22.1*15.5mm Lower is better (D)

Cost 3.49 29.99 29.99 Lower is better (D) Table 3.3.1.1-a – Data Sheet Comparison (Permission Pending see Appendix A)

As you can see from the above aside from cost the MaxSonar sensors offer greater documentation

and most importantly a smaller size. The smaller form factor is what ultimately put the sensor

ahead though the MaxSonar sensor has a lot more options when it comes to collecting the sensor

data with varying advantages and programming options that will be considered during field testing.

There are currently very few disadvantages to this model, unless things change during testing or

implementation this sensor meets our current needs for the linear sensor and thus is our final

choice. Table 3.3.1.2-b shows the first parts we considered, the final selection and the cost per unit

of each.

# Type Description Cost/Unit

1 Both Ultrasonic Sensor HC-SR04x2 3.49

Final Linear Ultrasonic Range Finder - LV-MaxSonar-EZ1 29.99 Table 3.3.1.2-b – Part Selection for Sensors

3.3.1.2 Servos

As stated above our design calls for a servo to allow a sensor to sweep left and right. The main

criterion for this servo is position feedback. We require a servo that can not only move and function

but tell us within a small error its current position. Below are two smart servos that we are

considering in our design

University of Central Florida Page 34 EEL 4915

Electrical Engineering Department

SMART ROBOT SERVO - REV 41-1097

The Smart Robot Servo from REV Robotics is a configurable metal-geared servo that can be

programmed to align and adjust the servo based mechanisms. This gives us more control over left

and right angular limits. We chose a smart servo over a traditional servo for the additional feedback

and precision as well as the increased power savings.

DRS-0101 Herkulex Smart Servo

The DRS-0101 Herkulex Smart Servo is much like the REV Robotics servo however it has far

more programing options. The documentation from Herkulex is also far more detailed and though

REV Robotics offers documentation it is quite vague on how to program and implement the

features it claims it has. Due to these reasons, we decided for our project it was best to move away

from the REV 41-1097 to this new smart servo.

Servo Summary

In conclusion, we will discuss our final parts selection for servos. Much like the above sensor

section Table 3.3.1.2-c below shows a comparison of key technical data of the final parts we

considered and how they compare. For the distance sensing system, the specifications were quite

simpler than our desired needs. Per our specifications, the only requirement is that the servos has

to have a field of view of less than 90 degrees and detect objects to the left and right of the user.

All the sensors below meet this requirement thus we focused on parameters that we desired or gave

us more options to improve our design should time allow.

We chose to go with the Herkulex smart servo over the REV Robotics servo mainly due to

documentation and capability. The Herkulex costs a bit more though it had far more documentation

though on how to program and set up the feedback options for the servo. The Herkulex also had

many more features and options to explore. Table 3.3.1.2-d shows the first parts we considered the

final selection, and the cost per unit of each. There are currently very few disadvantages to this

model, unless things change during testing or implementation this sensor meets our current needs

for the linear sensor and thus is our final choice.

Upon further testing we decided that the servo moving a sensor back and forth caused to much

crosstalk or interference of two sensors. We decided to go with a simpler method of mounting a

sensor on the left and right of the device. The disadvantage of this was the limited capability of

detecting multiple objects.

University of Central Florida Page 35 EEL 4915

Electrical Engineering Department

Specification REV 41-1097 Herkulex Project Req.(R) and Desires(D)

Working Voltage 6V DC 7.4V DC ≤7.4V (D)

Stall current 2A 2A Lower is better (D)

Stall torque at 6V 13.5 kg-cm 12 kg-cm Greater is better (D)

Rated Current 300mA @6V 450mA @7.4V Lower is better (D)

Speed .13s/60º .166s/60º ≤1foot (D)

Max angular range 180º 320º At least 90 º (R)

Resolution .425 º .325 º Lower is better (D)

Gear material Metal Plastic Not a major Factor

Trigger Input Signal 10µS TTL pulse Serial More Options are Better (D)

Weight 2.05 oz. 45g Lower is better (D)

Dimension 40.2*20*38mm 45*24*31mm Lower is better (D)

Cost 29.99 39.99 Lower is better (D) Table 3.3.1.2-c – Data Sheet Comparison (Permission Pending see Appendix A)

# Description Cost/Unit

1 SMART ROBOT SERVO - Rev 41-1097 29.99

Final DRS-0101 Herkulex Smart Servo 29.99 Table 3.3.1.2-d – Part Selection for Servos

3.3.2 Power Subsystem

The sections below describe the parts selected for the Power subsystem. The parts included in the

section below include the main power source, the battery, the power controller, and general power

system components.

3.3.2.1 Battery

Based on the strategic component selection, our group chose to go with the modern lithium

polymer battery. The battery will ultimately be the final choice in our design profile once we are

gathering data on our breadboard test. In not wanting to waste time we initially chose a higher

capacity battery at 7.4 volts taking in the size as the biggest concern.

All battery choices will be rechargeable and include native circuit protection in the form of a

protective circuit board (PCB). Having native circuit protection makes it smaller and safer for our

circuit and consumer. Our final design will include considerations for further safety features.

The Tenergy 18650 7.4V Battery pack is a Li-Ion battery that meets our estimated needs. The

voltage, capacity and the overall physical size of this battery may need to be adjusted.

3.3.2.2 Battery Summary

In conclusion, we will discuss our final parts selection for batteries. Much like the above sensor

section Table 3.3.1.2-a shows a comparison of key technical data of the final parts we considered

and how they compare. For the power subsystem, the specifications were quite simpler than our

University of Central Florida Page 36 EEL 4915

Electrical Engineering Department

desired needs. Per our specifications, the only requirement is that the battery lasts greater than 12

hours without charging and fully recharges in less the 6 hours. All the batteries below meet this

requirement thus we focused on parameters that we desired or gave us more options to improve

our design should time allow.

Specification Tenergy 18650 Tenergy LiPo 7.4V Project Req.(R) and Desires(D)

Nominal Voltage 7.4V DC 7.4V DC ≥7.4V (D)

Capacity 6600 mAh 6000 mAh Greater is better (D)

Max Cont. Discharge Curr. 5A 5A Greater is better (D)

Battery Charge Curr. Standard 1.3A

Rapid 3A

Standard 1.3A

Rapid 3A

Lower is better (D)

Average Temp 0-60ºC 0-60ºC Not a major Factor

PCB Protection 6V<Protect>8.4V 4.8V<Protect>8.7V YES (D)

Over Current 8±2A 11±3A Not a major Factor

Weight 311g 150g Lower is better (D)

Dimension 66*54*36mm 110*59*22mm Lower is better (D)

Fast Charge Capable YES YES Not a major Factor

Battery Chemistry Li-Ion Li-Po Li-Po (D)

Cost 59.99 47.99 Lower is better (D) Table 3.3.2.2-a – Data Sheet Comparison

All battery choices will be rechargeable and include native circuit protection in the form of a

protective circuit board (PCB). Having native circuit protection makes it smaller and safer for our

circuit and consumer. Our final design will include considerations for further safety features. We

chose the LiPo battery pack because we preferred the more stable battery chemistry. Table 3.3.2.2-

b below details the choices starting with our first choice and ending with our final choice. This is

our current choice based on estimated design needs. The voltage, capacity and the overall physical

size of this battery may need to be adjusted

# Description Cost/Unit

1 AT: Tenergy 18650 7.4V 6600mAh Battery Pack 59.99

Final AT: Tenergy LiPo 7.4V 6000mAh Battery Pack 47.99 Table 3.3.2.2-b – Part Selection for Batteries

Power System Components

When we first started our project, we intended to charge our battery with a USB battery controller.

The Adafruit Industries usb controller is a usb charging interface that met our initial design criteria,

however the max charging voltage was 5V. In order to charge a 7.4V battery an 8.4 charging

voltage is needed. We looked at options to boost the 5V voltage but such options were complex

and inefficient. The MCP73213 battery management controller met our specifications. Built to

deliver an 8.4V charging voltage this controller is small, inexpensive, simple to use and does not

require many outside components which further cuts down on size. This controller allows for the

adjustment of the charging speed, which we can further tweak to meet our design specifications.

The controller is further explained in section 5.3.2.

University of Central Florida Page 37 EEL 4915

Electrical Engineering Department

Our power system design calls for the use of two buck or step-down switching regulators for our

design. The function and reasons why we chose to go with switching regulators is described in

detail in section 5.3.2. A 3.3V and a 5V buck regulator is needed.

The charging circuit controller allows us to configure the charging circuit with minimum effort

and space. The regulators provide our 2 main 3.3V and 5V power busses for our design. Table

3.3.2.2-c below details the choices starting with our first choice and ending with our final choice.

This is our current choice based on estimated design needs. The voltage, capacity and the overall

physical size of these components may need to be adjusted

Battery Controller and Regulator Summary

Table 3.3.2.2-c below gives a summary of the parts described above. The table is separated into

sections and gives the per unit cost.

# Description Cost/Unit

Battery Controller

Final MCP73213- Battery Management Controller 1.79

Buck Regulators

Final Mini DC/DC Step-Down Converter 3.3V 14.95

Final Mini DC/DC Step-Down Converter 5V 14.95 Table 3.3.2.2-c Part Selection for Power System Components

3.3.2.3 General Circuit Components

The parts in this section will include any general circuit components such as resistors and capacitors. Table 3.3.2.3-a will include these parts and their quantity and cost.

Component Quantity Cost/Unit

Resistor 10kΩ 1 .05

Resistor 1kΩ 3 .05

Resistor 150Ω 1 .05

Capacitor 4.7µF 2 .05

Capacitor 1µF 1 .05 Table 3.3.2.3-a Part Selection for General Circuit Components

3.3.3 Smartphone System

After doing some background research on Bluetooth and different mobile platforms, specific parts

that meet the requirements of the system can be compared and contrasted to determine which part

or software will be the best fit for the project. In addition, different map navigation software must

have researched and compared to determine which one will be used to provide turn-by-turn

navigation instructions for the project.

University of Central Florida Page 38 EEL 4915

Electrical Engineering Department

3.3.3.1 Bluetooth System

Bluetooth is an important part of this project. It is needed in order to transfer data between the

EASI device and a smartphone with the EASI app. The data transfer capability allows the EASI

device to receive turn-by-turn navigation instructions from the user’s smartphone which will be

communicated to the user through EASI’s tactile feedback system.

Potential Bluetooth devices were selected based on the developers’ knowledge of Bluetooth and

what Bluetooth module would best serve the needs of the EASI project.

HM-13

The HM-13 is a Bluetooth 4.0 BLE dual mode module. This means that it can be used as either an

enhanced data rate(EDR) Bluetooth 4.0 device or a Bluetooth BLE device allowing the module to

support both older Bluetooth versions through the backwards compatibility feature of Bluetooth

4.0 and the newer, more energy efficient BLE. Using both Bluetooth 4.0 and BLE would allow the

EASI device to be able to communicate with virtually every smartphone regardless of what version

Bluetooth the smartphone supports.

The HM-13 implements the Serial Port Profile(SPP) to offer a data transmission size of up to 90

bytes per packet using Bluetooth 4.0. The HM-13 is also able to receive data transmissions of up

to 20 bytes per packet using BLE. For the requirements of the project, 20 bytes per packet of data

throughput should be more than enough. The major difference between using the Bluetooth 4.0

mode over the BLE mode on the HM-13 module is that in Bluetooth 4.0 mode the power

consumption is 13.5mA, but while in BLE mode the power consumption is only 9.5mA, as shown

below in Figure 3.3.3.1 -a. However, because SPP is specifically designed to facilitate easy

implementation of serial communication, in the end, it may be more beneficial to use Bluetooth

4.0 over BLE.

The flexibility to use either Bluetooth 4.0 or BLE is definitely one of the major benefits of using

the HM-13 Bluetooth module. It gives the designers the freedom to choose whether they want to

use the Bluetooth 4.0 mode for the ease of implementation and backwards compatibility, the BLE

mode for the power consumption savings, or both to utilize the best that both modes have to offer.

University of Central Florida Page 39 EEL 4915

Electrical Engineering Department

Figure 3.3.3.1-a HM-13 Features (Permission Pending see Appendix A)

Adafruit Bluefruit LE UART Friend – BLE

The Adafruit Bluefruit LE UART Friend – BLE is strictly a BLE Bluetooth module. It was

specifically designed by Adafruit to easily connect to Arduino and other microcontrollers, but can

also add BLE connectivity to anything with a hardware or software serial port. The Bluefruit comes

with a standard Nordic UART RX/TX connection profile which allows it to serve as a data pipe

between the device it is installed on and any BLE capable IOS or Android device. The technical

details of the device are shown in Figure 3.3.3.1-b.

One of the major benefits of using the Adafruit Bluefruit LE UART Friend – BLE is that it is well

documented and has numerous tutorials available to help facilitate its rapid implementation into

the project. Also, Adafruit offers excellent product support for the Bluefruit. If there were ever a

problem with the Bluefruit firmware, Adafruit states they would be able to rapidly push a fix out

for the problem. UART connection capabilities comes standard with the Bluefruit. As soon as the

Bluefruit has been properly connected to a hardware or software serial port it is able to begin

communicating with any BLE capable IOS or Android device that has the nRF UART application

installed on it. This would give the developers a good starting point to test the capabilities of the

Bluefruit device and would allow them to eventually fine tune the EASI app to implement similar

capabilities.

The ease of implementation and readily available datasheet and tutorials are one of the major

advantages to choosing the Adafruit Bluefruit LE UART Friend – BLE. These resources would

make it easier for the developers to integrate the Bluefruit into the EASI device and develop the

EASI app’s ability to communicate with the EASI device via Bluetooth. The Bluefruit might also

offer a decreased implementation time for the Bluetooth aspect of the project since it comes with

a profile that allows serial communication to occur between the Bluetooth module and a paired

device.

University of Central Florida Page 40 EEL 4915

Electrical Engineering Department

Figure 3.3.3.1-b Adafruit Bluefruit LE UART Friend (Permission Pending see Appendix A)

Final Bluetooth Part Selection

Both the HM-13 and Adafruit Bluefruit LE UART Friend – BLE Bluetooth modules would satisfy

the requirements for the Bluetooth system for the project. Both modules allow the equivalent of

serial communication over wireless Bluetooth transmission. Both modules are also able to utilize

the newest, most power efficient version of Bluetooth, BLE.

# Description Cost/Unit

Final Adafruit Bluefruit LE UART Friend – BLE $17.50 Table 3.3.3.1-c Part Selection for Bluetooth Module

However, for this project, the Adafruit Bluefruit LE UART Friend – BLE was selected as first

Bluetooth module as shown in Table 3.3.3.1.c. Adafruit provides a software library that makes

integrating the Bluefruit into projects extremely simple. There are numerous examples programs

available from Adafruit that demonstrate the functionality of the Bluefruit Bluetooth module and

give programmers a starting point to integrating the module into their projects. One such example

program was modified to implement Bluetooth into our own project. The ease of implementation

was ultimately the reason why the Adafruit Bluefruit LE UART Friend was chosen as the

Bluetooth module for the EASI project.

3.3.3.2 Navigation System

Initially, our group was planning on implementing the navigational aspect of our project design on

board the device. What is meant by this is that turn-by-turn navigational directions would be able

to be obtained by the EASI device independent of any other system. After our group had a meeting

with our advising professor, we decided to implement navigation by pairing our device to a

smartphone using Bluetooth.

On-Board Navigation

In order to accomplish this, we wanted to download the map files for the entire United States to an

SD card which could be accessed at any time by our device. The EASI device would have to have

some way to get updates for the downloaded maps so that they don’t become outdated. One way

University of Central Florida Page 41 EEL 4915

Electrical Engineering Department

to do this would be to have the device automatically search for map updates as soon as it is plugged

into a computer to charge. The implementation of the automatic map updating feature would add

additional complexity to the project.

Google Maps

At first, we thought that the best existing map API to use would be Google Maps API, but after

further research, we discovered that the size of the map you can download for offline use is limited

to 120,000 square kilometers. This might sound like a large area, but considering more than half

of the states in the United States are larger than 120,000 square kilometers, it would not satisfy our

objectives.

In addition to the limited offline map area issue, it is also against Google Maps API’s privacy

policy to use their API to implement a turn-by-turn navigation function. From Google Maps API

privacy policy: “No navigation. You will not use the Service or Content for or in connection with

(a) real-time navigation or route guidance; or (b) automatic or autonomous vehicle control.” Seeing

as our primary use of a map API would be for real-time navigation, we are not allowed to use

Google Maps API for the purposes of our project.

HERE Maps

Another option for navigational API is HERE Maps API. It also is fairly popular in the world of

map/navigation software. However, unlike Google Maps, it allows users to download the map

information for as many states/regions as they can fit on their device. Here Maps also provides

excellent documentation, which would help to reduce the implementation time of the navigation

system.

Smartphone Navigation

The user would pair the EASI device to their smartphone and then open up the EASI app. Inside

the app, the user will be able to input the destination. Implementing turn-by-turn navigation

directions in this way would have a number of benefits. One benefit is the task of navigational

routing could be offloaded onto the processing power of a smartphone allowing a microcontroller

with a less powerful processor to be chosen, making our device more power efficient. Additionally,

the EASI device would not need to have an on-board GPS module since the GPS navigation would

be done on the paired smartphone. This would save some space on the device, but ultimately,

instead of a GPS module, a Bluetooth module would still be needed.

In order for the EASI app to get turn-by-turn navigation directions from another smartphone app,

it would need to make a startActivityForResult() call. This call would open the app that provides

turn-by-turn navigation directions and allow the user to use the app as they normally would. Once

the app gets the turn-by-turn navigation directions to the destination specified by the user, the app

would return that result to the EASI app so that it could be relayed to the EASI device.

Another option would be for the EASI app to use a maps API to make the request for turn-by-turn

navigation directions directly from the EASI app. This method of implementing navigation would

University of Central Florida Page 42 EEL 4915

Electrical Engineering Department

add additional complexity to the project. This method would only be used if it is discovered that

making a call to a navigation app does not satisfy all our navigation objectives, since making a call

to a navigation app would probably be easier to implement,

Google Maps

Google Maps is one of the most, if not the most, widely used smartphone navigation apps in the

world. As such, it would seem like a logical choice to provide turn-by-turn navigation directions

to the EASI device since it is highly likely that the user would already have this app installed on

their smartphone. Unfortunately, Google Maps does not support the startActivityForResult() call,

so the EASI app would be unable to get any turn-by-turn navigation data back from the Google

Maps app.

As mentioned previously, using Google Maps API to make a request for turn-by-turn navigation

directions is expressly against Google Maps API’s privacy policy. This effectively eliminates any

possibility for our project to use Google Maps for any part of our project since the only objective

of our navigation system is for it to provide turn-by-turn navigation directions to the user.

HERE Maps

HERE maps API is very well documented. They provide numerous example programs and

tutorials on their website which would be invaluable in the implementation of the EASI project’s

navigation system. There are also detailed explanations of how to implement various features into

your application. For example, Figure 3.3.3.2-a below shows an example of calculating a walking

route which would be important to know how to do for the navigation system requirements of the

project.

Figure 3.3.3.2-a Walking Route Request Example (Permission Pending see Appendix A)

It is developer friendly in the sense that it doesn’t restrict the developers from doing certain things

with it. This is beneficial for the EASI project because our application requires the use of

pedestrian turn-by-turn navigation which a number of other map APIs prohibit the implementation

University of Central Florida Page 43 EEL 4915

Electrical Engineering Department

of. HERE maps offers accurate maps and provides excellent map coverage of many countries and

regions.

HERE maps API offer a number of plans for the use of their API. These plans range from $0 a

month for the Basic, $59 a month for the Starter, $149 a month for the Standard, and $399 a month

for the advanced plan. These plans differ in the amount of transactions, or requests, they allow you

to make per month as well in the number of features available for you to use. The Basic plan offers

Car & Pedestrian Routing as well as a few other features which satisfy the requirements for our

project. It also limits the number of transactions per month to less than 50,000, which should be

more than enough for our testing and demonstration purposes.

Skobbler SDK

Skobbler offers a SDK instead of an API like HERE map and Google Maps offer. A SDK, or

software development kit, is a set of software development tools that are used to develop a software

application for a specific platform. On the other hand, an API, or application programming

interface, an interface that allows software to interact with other software. A SDK might be more

challenging to implement in the project than an API, but it also offers more design freedom and

the possibility to add more features.

Skobbler SDK meets most of the mandatory requirements of the project’s navigation system. It is

developer friendly. On their website, they offer a quick start guide as well as numerous how to

guides to implement specific features into your application. Also, very importantly, Skobbler SDK

offers turn-by-turn navigation directions which is the primary objective of the project’s navigation

system.

Skobbler SDK also offers some additional features that would be nice to have, but are not

necessarily requirements of the EASI project. Skobbler SDK makes it possible to implement

offline turn-by-turn navigation which would come in handy for users who have a limited or no

data plan on the smartphone or if the user was operating their EASI device in a region without

reliable cell phone network coverage. Skobbler also verifies navigation condition updates from

users so that their routing function can take into account new navigation conditions such as road

blockages, road closures, or the opening of a new road. In addition, Skobbler SDK is free to use

up to a certain amount of usage. For the purposes of the EASI project, the significant restriction is

that the first one million map sessions are free. One map session is defined as unlimited usage of

a map by one user for up to 10 minutes, which includes up to 10 calls to the routing/search servers.

One million map sessions should be more than enough for the purposes of testing and

demonstration of the project.

Final Navigation Map Suite Selection

The first decision that had to be made about the navigation system is where the software will reside.

It could be implemented on the EASI device which would allow the device to function In

conclusion, the comparison of the simulated results agrees with each variation thus verifying the

experiment. In doing this, we gained a further basic understanding of the theory of Single Op-Amp

University of Central Florida Page 44 EEL 4915

Electrical Engineering Department

Band Pass Filters. independently of any other devices. It could also be implemented on the user’s

smartphone through the development of a smartphone app for the EASI project.

Ultimately, the developers chose to move the navigation software off the physical EASI device

and on to the user’s smartphone in the form of the EASI app. This moves the processing burden

of calculating a route from the microcontroller to the user’s smartphone. As a result, the power

draw of the microcontroller should be reduced, consequently increasing the battery life of the EASI

device. Realizing the navigation system through a smartphone app would also decrease the

implementation complexity of the system. Interfacing navigation software with a smartphone app

has much better documentation than interfacing navigation software with other devices.

After immediately ruling out arguably the most popular smartphone navigation software, Google

Maps, due to its privacy policy, the choice of navigation system software falls between HERE

Maps and Skobbler. Both options offer turn-by-turn navigation, developer friendly guides, and are

effectively free to use for the requirements of our project. Also, both HERE Maps and Skobbler

could satisfy the requirements of the navigation system in our project.

# Description Cost/Unit

Final HERE Maps 0.00 Table 3.3.3.2-b Part Selection for Bluetooth Module

However, for the project, HERE maps was selected as the first map navigation software to be used

as shown in Table 3.3.3.2-b. What separates HERE Maps and Skobbler is the ease of

implementation of each of them. Since Skobbler offers a SDK, there would be more parts for the

developers to get working in order to satisfy the requirements of the navigation system. The

increase in implementation time might not be significant, but since more things would have to be

implemented it would open up more opportunities for problems to arise. On the other hand, HERE

Maps offers an API which would require less work from the developers to implement.

3.3.3.3 Mobile Application

Windows Mobile user base is very limited so app developers tend not to create apps for Windows

first, they develop for Android and IOS then will develop for Windows if time and budget allow

them to. IOS and Android are both very equally in terms of quality, user base, popularities. But

there are a few things that separate them like the price of the devices, IOS devices have more

premium price than Android devices. IOS is not compatible with many audio and video formats

like Android, make it difficult for many users to convert from one format to another. Last thing is

the open sources of Android; Android is much easier and more convenience to create apps than

IOS, apps creating software can be obtaining for free. IOS for not being open source force

developers to develop apps on Apple devices only. And for this device, all the engineers in the

group do not have Apple computers hence having no experience in IOS systems, and more

comfortable programming in non-Apple computers. With the limited time to complete the device,

none of the engineer will have time to get familiar with IOS development so it is decided to use

Android platforms (Table 3.3.3.3-a below) for the mobile application of the device.

University of Central Florida Page 45 EEL 4915

Electrical Engineering Department

# Description Reason Cost

Final Android

• Open source

• Multitasking

• App market size

• Diverse phones

• Formats

0.00

Table 3.3.3.3-a Part Selection for Mobile Application

3.3.4 Tactile Feedback Subsystem

The process by which I compared and selected the relevant peripheral devices and ICs for the

Tactile Feedback System is shown below. The three main components I had to select were a

solenoid actuator, an ERM vibration motor, and a haptic driver IC. It is worth noting that our initial

designs will not incorporate the haptic driver, however we felt it prudent to select and order one

so that it would be on hand in case it became clear we would need one.

3.3.4.1 Solenoid Actuators

There are many parameters which we can use to narrow down our component choice. The first and

most obvious requirement is that we select a “push-type” solenoid. Solenoids can be either push

type or pull type, which corresponds to how the plunger moves when energized. A pull type

solenoid’s plunger is initially extended and retracts when energized, while a push type is initially

retracted and extends when energized. Clearly, our application calls for a push-type, as it would

be impractical and power inefficient to have all of the retracted actuators consuming power.

The other absolute requirements are size and rated voltage. To fit several of these in a handheld

device, we will need to choose from the smallest varieties available. Similarly, since the system

will be powered by a USB rechargeable battery, the main supplied voltage will be on the order of

~5V, so we should choose a solenoid which actuates at a similar voltage to minimize how much it

needs to be stepped up. It would be completely out of bounds of our requirements to choose

solenoids that are larger in size, and would be more expensive and power inefficient to select a

device rated at too high a voltage.

As it turns out, filtering by these criteria alone was sufficient to filter out all but one or two potential

candidates. It turns out there are very few 5 to 6 volt solenoids that are not pull-type. Searching

many vendors, I could find two: a delta electronics DSMS-0730-05 open frame 5V device sold by

DigiKey, and the ZH0-0420S-05A4.5, also 5V open frame, sold by SparkFun. Both are rated for

a pulsed duty cycle for heat dissipation, so unfortunately there simply is not the option to choose

a continuous duty cycle solenoid. If I wanted a broader selection of push type solenoids,

particularly any rated for a continuous duty cycle, I would need to go up to 12 volts input, and start

seriously pushing the envelope on our size constraints. Therefore, I must select from these two.

Below is a table of the relevant parameters of these two devices:

University of Central Florida Page 46 EEL 4915

Electrical Engineering Department

ZH0-0420S-05A4.5 DSMS-0730-05

Rated Voltage (V) 5 5

Rated Current (A) 1.1 5.9

DC Resistance (Ω) 4.5 0.85

Duty Cycle 25% (1 sec on) 2% (45 ms on)

DC Power (W) 5.5 30

Average Power (W) 1.375 0.6

Dimensions (mm) 11 x 12 x 29.1 14 x 16 x 43.9

Cost/Unit 4.95 20.16 Table 3.3.4.1-a Spec Comparison for Solenoid Actuators

The DC power refers to the power consumption listed on the respective datasheets and is simply

the 𝐼2 ∗ 𝑅 power consumed if the actuator is left energized continuously. The average power, on

the other hand, is calculated by multiplying the duty cycle by the DC power, and refers to the

power which is consumed while the solenoids are left actuated while operating at the

recommended duty cycle. The actual total power the actuators will consume in our device will be

even less than this, as they will obviously not all be actuated all the time. For the sake of comparing

the two devices however, this average power gives a much better idea of how much power one

will consume relative to the other.

The DSMS-0730-05 shows much more promise with respect to average power consumption,

however it is a fair bit larger and quite a lot more expensive than the ZH0-0420S-05A4.5.

Additionally, during the time that it is energized, it would draw much more current, which will put

more demand on components upstream. Overall, we believe the ZH0-0420S-05A4.5 to be the safer

choice, particularly due to its cost. We may need to explore additional methods of power/heat

dissipation to offset the difference in its power consumption.

# Description Cost/Unit

1 5V Solenoid - DSMS-0730-05 20.16

Final 5V Solenoid - ZH0-0420S-05A4.5 4.95 Table 3.3.4.1-b Part Selection for Solenoid Actuators

3.3.4.2 ERMs

Unlike with solenoids, there is a vast array of ERM vibration motors from which to choose. Their

operating voltages all generally range from 2V to 5V, with a maximum current draw on the order

of ~100mA. In addition, they all vibrate in a range of about 7000rpm to 15000rpm. There is also

not a large range of price variation, and since we will only require 2 in our design these variations

mean even less. As far as form factors go, there are cylindrical, rectangular, and coin, for

rectangular and cylindrical you can choose between an exposed mass and a fully enclosed system.

Finally, we much choose whether we wish to PCB mount the motor. Below are some examples of

the varieties of ERM:

University of Central Florida Page 47 EEL 4915

Electrical Engineering Department

Figure 3.3.4.2-a – Example ERM form factors. Left: Seed Tech. coin motor; Middle: Jinlong Inc. PCB

mounted exposed mass cylindrical motor; Right: Parallax Inc. fully enclosed cylindrical motor

After reviewing these options, we narrowed our selection down to the following. First, we decided

that we would not be choosing a PCB mounted motor. The device will have two motors and their

actuation must be distinguishable from one another, so we will need them separated by as much

space as possible and likely mounted directly to the case. We also chose to go with a fully enclosed

model to avoid complications or malfunctions caused by exposed moving parts. Finally, we

decided to choose a coin form factor to allow for as much flexibility as possible in mounting the

unit. In the end, we narrowed it down to three units, whose specifications are compared below:

KOTL-

S07161

B1034.FL45-00-

015

Adafruit Vibrating Mini Motor

Disc, ID: 1201

Rated Voltage (V) 3 ± 0.3 3 ± 0.6 2-5

Rated Current (mA) 80 60 40-100

Speed (RPM) 9000 13000±3000 11000 Max

DC Power (W) 0.24 0.18 0.08 – 0.5

Dimensions (mm) 10 x 3.4 10 x 3.4 10 x 2.7

Cost/Unit 3.32 4.95 1.95 Table 3.3.4.1-a Spec Comparison for Vibration Motors

Each of these units had very similar specifications. In the end, we decided to go with the Sparkfun

B1034.FL45-00-015 because of its good power performance relative to its speed, and because this

both it and the solenoids would be shipped from the same vendor, saving on shipping expenses.

For this same reason, we also ordered some of the Adafruit motors as a backup, since they are so

inexpensive and since we already had an order from that vendor.

After receiving the Sparkfun Vibration motor, it became immediately apparent that it would not

be a powerful enough motor to meet our needs, since it both needed to be large enough to feel

through the walls of our case, and since we are interested in more signal variety than simple on-

off. So, rather than relying on datasheets, we decided to order several varieties of motor so that we

could handle them and decide by touch which would be the lowest power solution that would meet

our needs. Additionally, since more powerful motors are not available from standard vendors like

Sparkfun, Adafruit, and Digikey, we ordered this second set from the specialized UK-based retailer

Precision Microdrives. Below is a table comparing the different motor models we purchased from

them.

University of Central Florida Page 48 EEL 4915

Electrical Engineering Department

Model C10-000 LRA 306-109 307-002 308-104.001

Rated Voltage (V) 2 (RMS) 3 1.5 3

Rated Current (mA) 75 75 305 220

Speed (RPM) N/A 12800 13000 8250

Vib. Amplitude (G) 1.7 3.65 6.4 10

Dimensions (mm) 10 x 3.1 6 x 12.2 7 x 16.6 8 x 14.5

Cost/Unit 8.08 8.08 5.22 11.93 Table 3.3.4.1-b Spec Comparison for Vibration Motors, p2

After testing, we determined that the 306-109 was a powerful enough motor, without the hefty

current requirement of 220 or 305 mA.

# Description Cost/Unit

1 Coin Vibration Motor - B1034.FL45-00-015 4.95

2 Adafruit Vibrating Mini Motor Disc, ID: 1201 1.95

3 PM C10-000 LRA 8.08

4 PM 307-002 5.22

5 PM 308-104.001 11.93

Final PM 306-109 8.08 Table 3.3.4.2-c – Part Selection for ERMs

3.3.4.3 Vibration Motor Driver IC

Our primary concern when choosing this IC was simplicity, both in implementation and

capabilities. We wanted to find something that had plenty of documentation and example

implementations, as well as ideally software control libraries that can be easily implemented on

Arduino. To meet all of these goals, we chose to use the DRV2605 Haptic Driver from TI. Since

it is a TI chip, we can request a sample for no cost at all. In addition, Adafruit sells this chip

mounted on a breakout, and has a very thorough tutorial on wiring and common use cases [10].

The Arduino libraries are also readily available on GitHub.

Since we will be driving two vibration motors in our design, we will require two DRV2605 chips.

And since these chips unfortunately have a static I2C address, we require an I2C multiplexer.

Adafruit also offers such a multiplexer, the TCA9548A [11], mounted on a breakout, and since it

is also a TI chip, we can request a sample of it as well. It is an 8 channel multiplexer, so with it we

will have plenty of room for extra vibration motors, should we find we need them.

# Description Cost/Unit

Final Adafruit TCA9548A I2C Multiplexer 6.95

Final TI TCA9548ARGER I2C Multiplexer 0.00

Final Adafruit DRV2605L Haptic Driver Breakout 7.95

Final TI DRV2605 Haptic Driver Sample 0.00 Table 3.3.4.3-a – Part Selection for Haptic Driver Chips

University of Central Florida Page 49 EEL 4915

Electrical Engineering Department

3.3.5 Microcontroller Subsystem

For the microcontroller’s final part selection, the Arduino Zero has been selected. [7] See Table

3.3.5-a below for a part specification and cost. The Zero has a clock of 48MHz which will be

enough processing power to run and process the big amount of software to communicate between

many components at a high speed to give users fast feedback on the functionalities. The 256KB

amount of flash memory the Zero can hold would be plenty for the software size that the device

need to have, however, efficient algorithm will be utilizing and optimizing to make the calculations

faster. The 38 general I/O pins would be more than enough to connect all the components to the

microcontroller, there would be extra pins that will not be used, but they can be serve as extra for

future if any new components need to be add to give the device new features. One of the feature

of this microcontroller that will be best for this project device is the low active power of 10.3mA.

Because this device is going to be handheld and will be used for hours, low consumption

components are a must, they will give the device maximum operation time. If low power

consumption components were not considered, the device will not have a long operating time and

the users will not be able to use it. Another advantage from using the Zero is that the Arduino IDE

is very user friendly and the tutorial is clear to understand so it would be the best for beginner

programmers like all the members in the group. Also, Arduino is very popular to a lot of people

so there are a lot of projects and forum based on Arduino product, so there will be a lot of

information and help to help beginner programmers on their projects.

# Description Specifications Project Requirements Cost

Final

Arduino

Zero

Clock Frequency (MHz) 48 >20

54.99

Voltage (V) 3.3 >3.3

Flash (KB) 256 >256

SRAM (B) 32 >16

Bits 32 >16

GIOP 38 >20

Active Power

Consumption

10.3mA <30mA

Timer Counter 3 YES

Real-Time Counter Yes YES

Table 3.3.5-a Part Selection for Microcontroller (Permission Pending see Appendix A)

3.4 Part Selection Summary

Table 3.4-a of Part Selection Summary below basically showing all the final parts selected for the

device. There are final parts selected in each of the part selection section above, but to make it

easier to look at the table below to quickly see how many and what parts are used in the device

instead of reading through all the pages and write down the parts selected. Any details about each

of the part will be in sections above with datasheet summaries and other initial part researches.

University of Central Florida Page 50 EEL 4915

Electrical Engineering Department

# Description Cost/Unit

Distance Sensors

1 Ultrasonic Range Finder - LV-MaxSonar-EZ1 29.99

2 Ultrasonic Range Finder - LV-MaxSonar-EZ4 29.99

Servos

3 DRS-0101 Herkulex Smart Servo 30

Battery

4 AT: Tenergy LiPo 7.4V 6000mAh Battery Pack 47.99

Battery Controller

5 MCP73213 – Battery Management Controller 1.79

Buck Regulators

6 Mini DC/DC Step-Down Converter 3.3V 14.95

7 Mini DC/DC Step-Down Converter 5V 14.95

Bluetooth

8 Adafruit Bluefruit LE UART Friend – BLE 17.50

Navigation Systems

9 HERE Maps 0.00

Mobile Applications

10 Android 0.00

Solenoid

11 5V Solenoid - ZH0-0420S-05A4.5 4.95

Vibration Motor

12 PM 306-109 8.08

Vibration Motor Driver ICs

13 Adafruit DRV2605L Haptic Driver 7.95

14 Adafruit TCA9548A I2C Multiplexer 6.95

Microcontrollers

15 Arduino Zero 49.99 Table 3.4-a– Part Selections Summary

Figure 3.4-b below is a picture of all the parts included in the Table 3.4-a and details in the section

3 above, the parts in the picture are labeled according to the Table 3.4-a for easy referencing

University of Central Florida Page 51 EEL 4915

Electrical Engineering Department

Figure 3.4-b Part Selections Summary

University of Central Florida Page 52 EEL 4915

Electrical Engineering Department

4. Related Standards and Realistic Design Constraints

Discussing related standards and the realistic design constraints of the project allow the designers

to be aware of the ways in which the project are affected by outside sources. By adhering to related

standards, the project designers ensure compatibility with other products and services. Also,

discussing the realistic design constraints allows the designers to be aware of the potential

problems and setbacks that could arise and by doing so they can prepare in case one occurs. The

below sections detail the standards related to the project and the realistic design constraints that

are placed on the project.

4.1 Standards

Standards are critical in the development of a product because they ensure that it will be compatible

with other products and operates in a safe and efficient way. The sections below involve the related

standards for each subsystem. Each section includes how the relevant standards impact the design

and development of the product and a table containing the name of each relevant standard and a

brief description of it.

4.1.1 Distance Sensing Subsystem Related Standards

The standards that directly relate to project EASI’s distance sensing subsystem are listed in the

table below (Table 4.1.1-a) along with a brief description of each.

ANSI Z80.9-2010 (R2015) specifies test methods for optical and electro-optical devices for use

by visually impaired persons. Since EASI is designed to be used by visually impaired people, test

methods specified by the standard will be taken into account when creating tests and actually

testing the effectiveness of the distance sensing subsystem.

Standard Description

ANSI Z80.9-2010 (R2015) Applies to optical and electro-optical devices specified by

the manufacturer for use by visually impaired persons as

low-vision devices. Specifies optical and mechanical

requirements and test methods. Includes devices with optical

and/or electrical and/or electronic components used for

image capture or display. Table 4.1.1-a Distance Sensing Subsystem Related Standards (Permission Pending see Appendix A)

4.1.2 Power Subsystem Related Standards

The standards that directly relate to project EASI’s power subsystem are listed in the table below

(Table 4.1.2-a) along with a brief description of each.

IEC 62281 will affect the acquisition of lithium cell batteries for our project. Due to these

standard’s safety requirements for the transport of lithium cell batteries, any lithium batteries that

University of Central Florida Page 53 EEL 4915

Electrical Engineering Department

are ordered for the project may take additional shipping time. As a result, the designers will have

to order any lithium cell batteries that are needed earlier so that the additional shipping time

required will not delay the project. Also, IEC 62281 will affect how the finished EASI product is

transported to the consumer.

Although, not immediately pertinent to our project, IEC 62281 compliance when shipping finished

EASI devices is something that will have to be taken into account if commercial sales of the device

are pursued. IEC 62133 will impact how the lithium batteries are used in the design and ensure the

safety of users under intended use of EASI as well as reasonably foreseeable misuse.

IEC 62680-1-1, IEC 62680-2-1, and IEC 62680-2-2 will all need to be considered if the developers

decide to move forward with plans to use USB to charge the device. IEC 62680-1-1 would

specifically impact the way in which USB 2.0 is used to charge the device. IEC 62680-2-1 would

require the developers to check to see if any USB connectors that are purchased to install on the

device are compliant with this standard. Doing this will ensure that the USB connectors on the

device would be compatible with other USB compliant connectors. IEC 62680-2-2 would require

the developers to check to see if any Micro-USB connectors that are purchased to install on the

device are compliant with this standard. Doing this will ensure that the Micro-USB connectors on

the device would be compatible with other Micro-USB compliant connectors.

Standard Description

IEC 62281 Ed. 2.0 b:2012 States requirements for primary and secondary

(rechargeable) lithium cells and batters to ensure their safety

during transport other than for recycling or disposal.

IEC 62133 Ed. 2.0 b:2012 States requirements and tests for the safe operation of

portable sealed secondary cells and batteries (other than

button) containing alkaline or other non-acid electrolyte,

under intended use and reasonably foreseeable misuse.

IEC 62680-1-1 Ed. 1.0 en:2015

States requirements that define limits as well as detection,

control and reporting mechanisms to permit devices to draw

current in excess of the USB 2.0 specification for charging

and/or powering up from dedicated chargers, hosts, hubs and

charging downstream ports.

IEC 62680-2-1 Ed. 1.0 en:2015 Defines an industry-standard USB. The specification

describes the bus attributes, the protocol definition, types of

transactions, bus management, and the programming

interface required to design and build systems and

peripherals that are compliant with this standard.

IEC 62680-2-2 Ed. 1.0 en:2015 States requirements and features of a Micro-USB connector

that will meet the current and future needs of the Cell Phone

and Portable Devices markets, while conforming to the USB

2.0 specification for performance, physical size and shape of

the Micro-USB interconnect. Table 4.1.2-a Power Subsystem Related Standards (Permission Pending see Appendix A)

University of Central Florida Page 54 EEL 4915

Electrical Engineering Department

4.1.3 Smartphone Subsystem Related Standards

The standards that directly relate to project EASI’s smartphone subsystem are listed in the table

below (Table 4.1.3-a) along with a brief description of each.

The Bluetooth Core Specification 4.0 dictates how Bluetooth communication is implemented so

that intercommunication among Bluetooth Core Specification 4.0 compliant devices can be

achieved. Since Bluetooth is the sole means of communication between the EASI device and the

EASI app, it is important that the EASI device be able to connect to the user’s smartphone. To

ensure this, the developers will select a Bluetooth module for the project that meets the Bluetooth

Core Specification 4.0.

The Americans with Disabilities Act (ADA) is relevant to the project because a mobile app is

going to be developed to interact with our device which is required to be compliant with this act.

In addition, the target users for our device and app are people with disabilities, specifically people

who are visually impaired. The developers will attempt to adhere to this policy by minimizing

required user input to the smartphone app. Ideally, all user input would be done through two large

buttons so that the user just has to press somewhere on the top half of the phone to press one button

and somewhere on the bottom half of the phone to press the other button.

Android Development Guidelines instruct Android developers on best practices when developing

an app. Although not required, these guidelines will advise the developers in their creation of the

EASI app to improve its efficiency, user interface, and many more categories.

Standard Description

Bluetooth Core Specification

4.0

Defines the way in which Bluetooth modules should be

constructed so that uniform communication between

Bluetooth devices can be achieved.

Americans with Disabilities

Act (ADA)

States requirements for accessibility of mobile apps for

people with disabilities.

Android Development

Guidelines

Android developer’s guide contains a list of guidelines for

android developers to consider when creating their app. Table 4.1.3-a Smartphone Subsystem Related Standards

4.1.4 Tactile Feedback Subsystem Related Standards

The standards that directly relate to project EASI’s tactile feedback subsystem are listed in the

table below (Table 4.1.4-a) along with a brief description of each.

The standards that directly relate to project EASI’s tactile feedback subsystem are listed in the

table below (Table 4.1.4-a) along with a brief description of each. SAE AS 40401-2000 will ensure

compliant solenoid actuators will behave in a uniform way. Since solenoid actuators will provide

one of the methods of tactile feedback in our tactile feedback subsystem, the developers will have

to look for SAE AS 40401-2000 compliance before purchasing solenoid actuators for use in the

project.

University of Central Florida Page 55 EEL 4915

Electrical Engineering Department

Standard Description

SAE AS 40401-2000 This specification covers the general requirements for

electrical solenoids used to actuate various devices through

the conversion of electrical signals into mechanical motion.

These solenoids are of the axial stroke type and the rotary

stroke type. Table 4.1.4-a Tactile Feedback Subsystem Related Standards (Permission Pending see Appendix A)

4.1.5 Microcontroller Subsystem Related Standards

To facilitate communication between a microcontroller and IC, I2C (Inter-Integrated Circuit) is a

standard clocked bus developed in the 1980’s by Philips “to allow easy communication between

components which reside on the same circuit board” [12]. It is an invaluable tool to use when

developing embedded devices, as it facilitates multiple master and multiple slave devices all

connected on the same clock (SCL) and data line (SDA). Every device on the bus is either a master

device or a slave device.

The standard includes arbitration logic to and busy bus detection to coordinate and avoid collisions

between multiple master devices, and 7 address bits to allow for roughly 128 unique slave devices

sharing the same bus. Each I2C compatible IC has either a single or a user-configurable range of

addresses set by the manufacturer, and no two slave devices on the I2C bus may share the same

address. If two ICs do have the same address, an I2C multiplexer must be used.

Standard Description

UM10204 - I2C-bus

specification

This specification catalogues the electrical characteristics, as

well as arbitration, data transfer, and handshake protocols of

the I2C bus. It also specifies the various operating modes,

which select between various data transfer speeds (up to

3.4Mbps bidirectional or 5Mbps unidirectional), and how to

configure multiple-master and single-master systems.

Finally, it describes how the serial data is synchronized and

how bytes are packaged in the transmission.

4.1.6 General Project Related Standards

The standards that do not directly relate to any specific subsystem of project EASI, but will be

useful for the project in general are listed in the table below (Table 4.1.6-a) along with a brief

description of each.

The coding standards chosen to be used on the project are: descriptive variable names, comments

above functions, and the Allman bracket style. The chosen coding standards will make any

software that is written for the project look more uniform and be easier for other people to

understand. These standards will ultimately have little impact on the project because, for the most

part, they are common practice when writing computer software.

University of Central Florida Page 56 EEL 4915

Electrical Engineering Department

Standard Description

Descriptive Variable Names Requires variables used to have names which help describe

what the role of the variable is in the code.

Comments Above Functions Requires that all in-code comments be written above each

function declaration so that they will be easier find and

understand.

Allman Bracket Style Requires that opening braces go underneath the opening

block statement. Table 4.1.6-a General Project Related Standards

4.2 Realistic Design Constraints

In a project, constraint is a restriction that limit a project goals, specifications, and requirements.

Economic constraint is about the budget that funds the project. Time constraint is about the limited

time period that the project needs to be finished. Environmental constraint is to comparing to any

other project that are already on the market. Social constraint showing how the people and users

react to the functionalities of the device in real life use.

The constraints are to be mutually exclusive, changing or modifying one constraint might affect

others. Sometimes, it is hard to resolved all the constraints, like quality, inexpensive and fast

delivered, a project can be deliver fast and inexpensive but the quality will decrease.

4.2.1 Economic and Time constraints

The economic constraint of the project is the limited budget. Due to this budget, the final product

might not achieve the best goal and quality. Some of the components for the device can be purchase

at different prices depend on the quality and functionality of it. Distance sensors can range from

ten dollars to two hundred fifty dollars based on their detecting distance, field of range, signal

travel time and the quality, and can be ultrasonic or laser type. This can be address by starting to

get the ten dollars’ range sensors early in the process and test them so see if the data can match

with the device specifications, if not, then there will be time to pick and choose another sensor that

can be better fit and might be more expensive. Microcontroller prices rely on the clock speed, add-

ons like Bluetooth and Wi-Fi module included, and the number of I/O ports available. All the other

parts must be chosen before getting the right microcontroller, so specifications for the

microcontroller can comfortably handle the power and I/O ports needed for the parts. Another

economic constraint is to make the final product affordable to many people that need it. To achieve

this, the device must have components that are quality and low cost. Many tests and trials on the

components to find out which parts can be obtaining at the lowest cost without compromising the

specification requirements. Buying the components in large quantities to mass produce the device

will also lower the total cost of the device to the customers. One optional approach to low cost is

to introduce the device to the insurance companies as a must device to help the special needs users.

With the help with insurance companies, the cost of the device would reduce to little or to no-cost

for the buyers. One down side if going with the insurance company is that the cost of the device

will get reduce by a big margin amount to the company, because to be able for insurance company

to give equipment at a great discount to the users, they have to also get a great discount from the

manufacture company. This will decrease company’s margin and might not make as much money

University of Central Florida Page 57 EEL 4915

Electrical Engineering Department

back as it supposed to. Introducing to other tech companies might help to introduce the device to

more customers but this will cost money to the company as well. Also, getting the parts in large

quantity will reduce the cost of each component resulting lower the cost of the final products.

Prices of any current similar products on market will also impact on the economics of the project.

Price of the final product must be similar or lower than the competition products or else it won’t

sell. With the price set in, each unit cost and profit must be carefully calculated to support the

company, components and assembly cost have to be optimal to both low cost and quality. Quality

components will lead to quality final products and lead to low maintenance cost to the users that

use the device every day. Quality components would help low the cost in the long run by reusing

old used parts from different devices. A lot of times when some devices that are out of service or

been updated with newer version, companies try to sell those devices in very large quantity for

parts that can be reuse or even just selling the reusable parts in bulk to recoup some of the money

invested. Buying those reusable parts would save a lot of money in the long term, those parts will

be check and test very carefully to maintain the specifications and quality. As the new version of

the project device will be available in the future, old and used devices will be taken back and reuse

most of the components to make new updated version devices, and of course every part would get

tested before going to the new systems.

The time constraint is the total amount of time to finish the device. Start from the beginning to the

end are only about forty weeks for researching, choosing parts, testing, implementing, put all

together and final product testing. If there are any problems troubleshooting, testing the parts and

turn out that the part is not working or not compatible with other parts, new part must be purchase;

more money and time to add because of shipping period, testing and implementing the parts again.

Milestone is enforced to give deadline to all the progresses. Up to a certain date, certain progress

must be finish like parts must be chosen and ordered, parts testing must be done, certain number

of the user manual has to be written and so forth… Without the milestone, work will not get divided

equally throughout forty weeks and might have too much to do toward the end of the period and

final product will not be finish on time. With the limited time, the project planning, design

detailing, design tests and prototypes tests, all must be done in a very short period of time for each

stage resulting not the best quality for final device. And at any of the stages, if major problems

happen and must be delay, all the stages after that would also be delay costing more time and

money, might even costing the whole project not finish on time or not finish at all. With the safety

requirements on transporting the lithium battery mention above on standard section, the shipping

time for the battery will be extended, and this will affect the total time to finish the project

4.2.2 Environmental, Social constraints

Environmental constraint includes many important factors. We must watch the actions of

competitors if have any, device cannot use similar technologies to any of the device in the market

that are meant to solve the same problem, to prevent any lawsuits. This device might be able to

solve the same problem with any other companies with the same device technology, but this device

project has to be able to solve the same problem but in a different way, ways that can improve on

the solutions and still have different design specifications with other devices. Coming up with

ideas to solve existing problem but in a new way will not be easy, a lot of times, engineers have

good ideas but because of the limitations of current technology, the ideas cannot become reality.

Legal requirements involving to have good protections for the device components and

University of Central Florida Page 58 EEL 4915

Electrical Engineering Department

functionalities against anyone try to copy the design. So, patents need to have on the design to

protect it for a long period while the device is in the market. There will be moving parts in the

device, so one of the constraints is the noise and vibration that might happen and cost

uncomfortable to the users and surrounding people. To address this problem, more expensive parts

need to be bought to obtain and give minimal amount of noise and vibrations, this will also lead to

high budget. Product casing with noise deduction layers could be implemented to decrease noise,

but this results in higher cost of productions, higher risk of overheating due to less air flow, and

more weight to the device would cause inconvenience to users if used for too long. Environmental

constraints on the manufacturing side would be about waste collection and processing. Any wastes

created while manufacturing the components need to be properly collect and processing according

to the local laws and standards to minimize and eliminate the uncontrolled disposed waste material

into the environment causing ecological and biological harm. Social constraint affects the buying

patterns and the taste. The discreet looks of the device will help the users to freely use the device

without exposing the fact that they are using it. The small device design will help users holding in

their hand and using it without any bulky looks, the tactile functions can let users detect objects

by their feelings on the hands, and directions can be alert to the users through the help of Bluetooth

headsets. Small and discreet device will lead to small components inside and lead to higher cost

due to the size and will become the project’s economic constraint. Buyers will always try to look

for newer technology with more advance

4.2.3 Functional and Aesthetic constraints

Functional constraint is the overall functions of the device. The overall geometry of the device like

size and width must be carefully study and measure. All the space inside the device should be

utilized fully, the components need to be arranged to minimize the size of the device. But the space

must provide enough space between components for any heat disbursement and for any short to

the electrical that might happen during use. The size of the device has to fit into the user hands, so

that they can comfortably using it for a long period of time. The constraint of this is the sizes of

the components, for a handheld device, the components not only have to utilize space using, they

have to be in small sizes to be able to have all the parts with different functionalities the device

required. Another constraint is the casing material to be use for the device, to have best protection

against elements, accidental drops and bumps, user’s error, the casing should be made from steel

alloy or even carbon fiber. But steel alloy would be very heavy for the users to hold the device on

their hands for hours, and carbon fiber is light weight and durable and would be very expensive to

produce. The casing then must be made from plastics for the lightweight and inexpensive,

however, would be more prone to accidental drops and hitting other objects. Follow the safety

requirement for transporting the lithium battery in the standards section 4.1.2, the casing interior

has to be design and tested the functional of the battery while the user is holding and use the device

while transporting on the street. Designing the casing for this purpose will create more time for all

the testing to ensure the safety is meet.

4.2.4 Quality and Safety constraints

The main factors to the quality constraint are the limited time and budget set for this device project.

The limited time give the project completion schedule not much time to fully test for components

quality. Components were bought depend on the budget, many were compared and lower quality

University of Central Florida Page 59 EEL 4915

Electrical Engineering Department

parts were chosen based on the maximum that can be spend on that specifics part. Would there

have been more time and budget on the project, more quality components would be chosen,

maximum testing time could be done. With better quality parts and more testing time, the reliability

of the device would increase. The device life would be much longer, have less failures and more

worry-free to users. Quality constraint also include the quality assurance. Regulations and codes

cannot be follow much because there is only enough time to design and develop the device follow

the standards and requirements. Although, some regulations and codes will be follow like power

and battery charging to make it safe for the users to operate the device daily. Standards like energy

star, Bluetooth, battery, USB and audio will be meet to make sure all the functionalities meet with

the requirements that were set for the device.

Safety constraint included direct and indirect operational to the users. Indirect would be due to the

limit of testing time on the device, the limited budget, the components quality is decrease might

result in malfunctioning. Malfunctioning like short circuits, heat can happen at any time during

use or charging, and can indirectly cause troubles or even injure users. Overuse the faulty battery

pack in the device can cause it to overheat and causing other components to overheat and might

even ignite fire, burn the device and can cause injure to the users. Direct will be the malfunctioning

of the sensors systems or the tactile systems that fail to communicate with the users and will cause

users to run into objects in the front mean fail to operate the core functionalities that was set that

the device have to do which is to guide disable users to avoid objects in walking path. Safety of

people around the users also need to worry about, the device needs to work like it supposed to, and

without any error to avoid users bump into others in the walk way. Another problem is that the

Bluetooth signal from the device to the user’s Bluetooth headset might get distort and lose

connections or breaking up the connections making it hard for the users to navigate with the

navigation prompt, or the users might not be able to listen to the device objects in the front due to

broken communications and will cause accidents from running into objects in the front of them.

Due to the safety requirements for transporting lithium in the standard section 4.1.2 above, battery

placement inside the device will have to be carefully study and testing to meet the safety standard

for the users to carry the device.

4.2.5 Manufacturability and Sustainability constraints

Manufacturability constraint would fall into the ability to manufacture the components.

Manufacturing companies have to be research and compare to figure out if any with limitations to

produce the components correct and exact to specifications and requirements the device need. The

means of production from companies to be able to produce parts fast and good quality. What kind

of waste would be produce and how to safely disposed? For the components that can be purchase,

quality control need to be check regularly for the reliability on a large number of parts being

purchase. Also there will be assembly factories to assemble all the parts gotten from manufacture

companies to a complete final device, quality control need to be check on final products as well.

Then final product will be boxed and transport to the buyers, transporting container material and

proper padding would help to ensure the buyers to receive the device with full functionalities and

no damage from shipping. In the designing and prototyping process, parts and components are

being bought pre-made with manufacture’s specifications, errors will be more prone to happen. At

least until the device is complete and fully functioning, then components can be manufacture

according to device’s specifications.

University of Central Florida Page 60 EEL 4915

Electrical Engineering Department

Sustainability constraint would focus on the manufacture companies able to sustain the number of

products being produce and the same quality throughout. Also there has to be enough principle to

cover the manufacturing cost to sustain producing the product. The life span of the device would

have to be reasonable of at least one to two years of under normal operation conditions, this will

be the warranty period. Under extreme environmental factors like extreme temperature, corrosive

fluid, abrasive air, how much of that can the device handle? With the limited designing time, there

would not be enough to test the device under all these conditions. All devices produced must have

similar life span to give durability and quality that users can trust and use every day.

University of Central Florida Page 61 EEL 4915

Electrical Engineering Department

5. Project Hardware and Software Design Details

This section describes in detail the scope and function of each subsystem. The focus of this section

includes the theory of operation of each system, as in how the technology and components work

in the real-world and in our design. In this section as things get more detailed the programming

aspect of our design has been separated into their own sections as programming and user feedback

will be central to the function of our design.

5.1 Hardware Architecture

Our design is composed of several different hardware systems, Sections 5.2 and 5.3 focus heavily

on the hardware design and system functionality. Shown below is a high-level block diagram

outlining the hardware and the connections within our design. Below there will also be a legend

designating which subsystem each hardware falls under. The details of each of these sections will

be described in the sections below.

Figure 5.1-a High Level Hardware Block Diagram

Sensor

University of Central Florida Page 62 EEL 4915

Electrical Engineering Department

5.2 Initial Design Architectures and Related Diagrams

As stated above the purpose of this section is to describe in detail the purpose and function of each

subsystem. This section will include all related diagram and overview of each subsystem. As the

following section will describe in detail its operation and function calling upon these diagrams and

structure.

5.2.1 Distance Sensing Subsystem

The section below consists of our initial design thoughts and diagrams related to the general

overview of our design. These diagrams will be at times called on to explain our design concepts

below.

5.2.1.1 Linear Sensor System

The Linear Sensor System is responsible for detecting in a straight line from the end of a device

much like a laser tape measure or a stick would sense the proximity of an object. Below are the

initial design thoughts and any related diagrams for this system.

Initial Design

Our initial design thoughts for the linear sensor were vastly different than the current design. We

initially wanted to utilize an accurate laser to measure the linear distance to an object directly in

front of the user but this proved not feasible. Due to the speed of light that a laser travels it is

capable of extremely fast and accurate proximity sensing but for this reason there is usually a

significant dead zone range near the sensor. These dead zones were commonly a meter in length

for most products. Due to the nature of our device we need to relay if a wall or person is directly

in front of the user so minimizing the dead zone is important. Our current design has a dead zone

of 15cm or about 6 inches.

Another factor in the changing of our initial thoughts was the cost and accuracy. Lasers are very

accurate but they are costly to our design team and the user. Though often quite inexpensive for

the amount of precision that a laser offers as we designed our tactile feedback system, we realized

that we could never convey that much detail. Our current sensors have a 1inch resolution which is

quite large compared to the .001mm resolution some lasers offer but even with this resolution we

still may not be able to convey such accurate measuring detail.

Related Diagrams

Figure 5.2.1.1-a below shows the pins and profile of the LV-MaxSonar ultrasonic sensor. The two

sensors are identical in pin configuration and size. The only difference is the beam width and range.

This diagram will be explained more in section 5.3.1.

University of Central Florida Page 63 EEL 4915

Electrical Engineering Department

Figure 5.2.1.1-a Ultrasonic Sensor Diagram (Permission Pending see Appendix A)

5.2.1.2 Radar Sensor System

The Radar Sensor System is responsible for detecting the proximity of the objects in the area. This

radar system is mostly focused on to the left and right of the user but will sense all values. Below

are the initial design thoughts and any related diagrams for this system.

Initial Design

Originally we first thought of sensing the proximity of objects using one sensor and like magic it

would work. Upon further research we found that a sensor can only detect distance off of one

object at a time. We then thought to utilize a camera that takes constant images and then by

processing these images we can detect objects much like an eye. Though as stated in greater detail

above such technology requires a lot of processing power and is proprietary for our budget and

size constraints.

The second option was to utilize a scanning laser sensor which is an all in one sensor that sweeps

a signal back and forth creating a map of the objects in front of the user much like a radar. However,

the drawback to this design is the extraordinary cost associated with it. At over a minimum of 1000

dollars for the sensor alone we thought that this was too extreme for a college project budget. In

response to this we decided to utilize a less expensive ultrasonic sensor in conjunction with a smart

servo that can provide feedback on position to create a radar of our own. This radar however is

crude and we fear that the noise of the servo will be quite annoying to the user but given our cost

constraints this seems to be the most logical implementable solution.

University of Central Florida Page 64 EEL 4915

Electrical Engineering Department

Related Diagrams

Figure 5.2.1.2-a below shows the pins and profile of the DRS-0101 Herkulex smart servo. This

diagram will be explained more in section 5.3.1.2. Upon further testing this was not used due to

sensor interference.

Figure 5.2.1.2-a Smart Servo Diagram (Permission Pending see Appendix A)

5.2.2 Power Subsystem

The Section below consists of our initial design thoughts and diagrams related to the general

overview of our design. These diagrams will be at times called on to explain our design concepts

below.

Initial Design

The initial design for our power system was a bit idealistic. We originally planned for simply using

a small standard smartphone type battery that could be charged via a USB. The initial voltages and

current requirements were all guesses based on the requirements of a traditional smartphone. The

ideal design which given enough time and resources is still the ultimate goal of this design; to

make something small enough and portable enough to be handheld and easily stowed away in a

purse or in a pocket. Given our resources however we do not foresee us realizing this ultimate

ideal as our research into the parts required and the actual voltage requirements are currently far

greater than a traditional smartphone. For comparison a traditional smartphone such as the iPhone

6 uses roughly 12 Watts per hour with a battery voltage of approximately 3.82 volts. [13] Our

design looks to require nearly 3 times that in terms of Watts per hour with everything functioning.

This level of requirement is mainly due to the need of actuators and servos which require

mechanical operation and though they are less power hungry options they currently exceed our

capability as college students to develop within our time constraints. Our initial design also did

University of Central Florida Page 65 EEL 4915

Electrical Engineering Department

not take into account the need for voltage regulation or load sharing when charging. The need for

a battery management controller was also not considered especially due to the vast differences of

battery chemistries

Based on our current knowledge of the design it’s looking like the charging circuit will be far more

sophisticated with the use of a battery controller IC to help manage our use of a lithium polymer

based battery chemistry. The circuit will now have load sharing capabilities and utilize DC-DC

conversion and regulators to add 3 different levels of a power bus for use within our design.

Initially we thought that each of the circuits the battery circuit and the power regulation circuit

would be the different. For simplicity and reduction of components we combined the circuit to

both charge and supply regulated power all in one. A more detailed explanation on the general

theory of how this will work and then relate to our design can be found in section 5.3.2 below.

Related Diagrams

This section will include any power system related diagrams that will be used in section 5.3.2.2.

The diagram below shown in Figure 5.2.2.2-a is the typical application for the MCP73213 Battery

management controller. It is from this typical circuit that will be the start of our battery charging

design.

Figure 5.2.2.2-a MCP73213 Typical Application Schematic (Permission Pending see Appendix A)

The diagram below shown in Figure 5.3.2.2-b is an example of how the load sharing circuit will

function. Though the MCP battery management chip is different from our design this is from the

same manufacturer so makes it simpler to convey the load sharing circuit.

University of Central Florida Page 66 EEL 4915

Electrical Engineering Department

Figure 5.2.2.2-b Typical Load Sharing Schematic (Permission Pending see Appendix A)

5.2.3 Smartphone Subsystem

The Section below consists of our initial design thoughts and diagrams related to the general

overview of our design. These diagrams will be at times called on to explain our design concepts

below.

5.2.3.1 Mobile Application

Below are the initial design thoughts and any related diagrams for the mobile application system.

Initial Design

Since this project device is for sight impair users, the mobile application has to be as simple as

possible but still have all the functions needed for the users to communicate and control the device

without seeing the applications. The initially button design is to have button for each of the modes

and to turn modes on and off, users just have to press on the mode button selection. But having

button for each of the modes will result in too many buttons and each one would be a lot smaller

and will cause problem for users trying to tap the right mode to turn it on and off. Then next initial

design for the mobile application would have two buttons of equal sizes that take up the whole

space of the mobile device screen. The button on top would function as to turn modes on and off,

once users choose which modes they want to change, on and off can be switch with the button on

the top. To change the modes, there will be another button on the bottom that the main function

would be cycling through all the modes when pressed. Once get to the mode users want to switch

on and off, top button can be press.

Initially, there were more modes in the design for the application, but as more research and testing

progress, the application is going to have important modes. Important modes were decided by the

easiness, most convenient to the users. With many modes, the users will spend much more time

try to cycle between the modes to get to where they want to make the selections. With less modes,

users can make their selection much faster and with only a fewer modes, users will not get confused

on which modes is which and what it does.

University of Central Florida Page 67 EEL 4915

Electrical Engineering Department

The graphical user interface for the application will be created for Android mobile devices by

Android Studio software. The software will help create and modified how the application would

look, and how it will communicate with the device through software developments.

Related Diagrams

Figure 5.2.3.1-a below showing how the initial design of the graphical user interface is going to

function. One function will be the top button to turn the modes on and off when pressed. The other

button on the bottom will be to cycle the modes around when pressed. And at the mode that users

want to select, modes can be switch on/off with the top button.

Figure 5.2.3.1-a Mobile Application Graphical User Interface Chart

5.2.4 Tactile Feedback Subsystem

This section will detail the process we underwent, from initial conceptions to concrete

implementations, of the tactile feedback system. This system will take as input control signals

from the system microcontroller, in order to use the vibration motors and actuators selected in

section 3 to communicate navigation instructions and meaningful information about the

surroundings to a visually impaired end-user.

Initial Design

In conceiving of this design, we began by listing ways in which tactile information and signals can

be generated. The most obvious of these was the vibration motor, as these are found in countless

consumer and handheld devices. Typically, these signals are either used for only relatively simple

binary signaling, or in conjunction with other sensory cues to communicate more complex

information. We therefore felt that a secondary tactile system would be needed to meet our

requirements for information granularity.

The idea to use actuators stemmed from some initial ideas about this secondary system. We were

inspired primarily by refreshable braille displays [14], a technology developed in the 1990’s which

uses screen-reading software to map text on a computer display to a series of pins which raised

and lowered to spell out braille which the user could read. Our idea was to create a grid of pins

similar to these displays which, rather than displaying braille, would create a two-dimensional

projection of the device’s field of view, and generate something like a topographical map of the

obstacles detected in that area which updates in real time. Unfortunately, the displays themselves

are prohibitively expensive (thousands of dollars per unit), and the technology they and similar

University of Central Florida Page 68 EEL 4915

Electrical Engineering Department

devices use requires precision manufacturing. So, we took this concept, and scaled it down so that

we could develop it with inexpensive and readily available components at a level of complexity

compatible with the scope of this project.

Related Diagrams

Below is a system level diagram of the tactile subsystems, and how they will interface with the

microcontroller.

Figure 5.2.4-a Tactile Feedback System Interface Diagram

The actuators will require 7 digital outputs from the microcontroller, one pin for each of the

solenoids. The vibration motors would require two more digital pins if the microcontroller directly

controlled them, however the haptic IC that will control them uses an I2C bus to communicate with

the microcontroller. Since microcontrollers have dedicated I2C pins, this will have the added

benefit of reducing the total number of digital pins the tactile system will need.

5.2.4.1 Solenoid Control System

The following section details the two design iterations considered for the solenoid actuator

subsystem and an in depth description of how each individual solenoid will be controlled.

Initial Design

The first iteration of this system was going to be a 3x3 grid of actuators, as shown in Figure

5.2.4.1-a below.

Figure 5.2.4.1-a Initial Solenoid Configuration

Haptic IC

& motor

Haptic IC

& motor 7-bit Digital

I2C

Solenoid Actuators

& Control

Microcontroller

1 2 3

8

5

9

6

7

4

University of Central Florida Page 69 EEL 4915

Electrical Engineering Department

Each one of these actuators would map to a region within the sensor system’s field of view. For

example, say the sensors could detect obstacles in a three-square meter area in front of the device.

If an obstacle was detected between two and three meters in front of and two and three meters to

the right of the device, solenoid #3 would actuate. Similarly, if an obstacle was detected between

zero and one meters in front of and two and three meters to the left of the device, solenoid #7

would actuate.

Unfortunately, this design would have put a serious strain on the device’s available power. Seeing

as this configuration would require 11 total actuators (2 more for navigation), we could use the

solenoid specs to estimate the system’s total worst case power consumption. Using the power

consumption shown in Table 3.3.4.1-a, and assuming all 11 actuators stay energized continuously,

the total power they would consume is shown below:

1.375 𝑊 ∗ 11 = 15.125 𝑊

From Table 3.3.2.2-a, we can calculate the total watt-hours of our system’s battery:

6𝐴ℎ ∗ 7.4𝑉 = 44.4 𝑊ℎ

Finally, the number of hours the battery would be able to supply this much power is found as

follows: 44.4 𝑊ℎ

15.125 𝑊≅ 3 ℎ𝑜𝑢𝑟𝑠

Even though this is worst case, and in no practical scenario would all 11 solenoids be active at

once for that long, that level of power consumption was too concerning to keep, particularly since

there are several other systems which also require power. This implementation would also require

11 digital pins from the microcontroller, when it only has ~18 in total.

Thus, we adjusted our design to accommodate these restrictions. The refactored arrangement can

be seen in Figure 5.2.5.2-a. Solenoids 6 and 7 will be used exclusively for navigation instructions.

The center column of solenoids will behave the same as in the initial arrangement, raising and

lowering based on detected obstacles within a relatively narrow field directly in front of the device,

however now solenoids 4 and 5 will actuate if an obstacle is detected anywhere in the left or right

portions of the field of view. The implication of this is that for the user to get an accurate read on

how far away an obstacle to the left or right is, they must point the device in the direction indicated

by these two actuators.

Now, in the absolute worst case, using the same method of calculation shown above, the battery

would be able to power this system for 5 hours instead of 3. In addition, the nature of this

arrangement should guarantee that only 4 solenoids are raised at once (solenoids 6 or 7 will never

both be raised, and only 1 of solenoids 1, 2, or 3 will ever be raised at a given time), so a more

realistic calculation of worst case power consumption would yield 8 hours of power. Even though

this is still a significant amount of power consumption, it is much more likely to fall in line with

our engineering requirements.

University of Central Florida Page 70 EEL 4915

Electrical Engineering Department

Related Diagrams

A digital PWM signal from the microcontroller will directly control each individual solenoid in

the circuit. This signal will open a transistor, which will allow current to flow through the actuator.

The diagram below shows an example of one of these control circuits.

Figure 5.2.4.1-b Example Solenoid Control Circuit [15] (Permission Pending see Appendix A)

Since a solenoid is an inductive load, with a conductor moving within a magnetic field, the act of

stopping and starting the solenoid produces spikes of back-EMF which can damage a transistor or

microcontroller connected to it. The flywheel diode in this circuit is in place to protect the transistor

from that negative voltage.

5.2.4.2 Vibration Motor Control System

The section below details the initial conceptions and final implementations of the vibration motor

control system.

Initial Design

Our initial inclination was to control the vibration motors directly, in a similar manner to how the

actuators are controlled. As ERMs are DC powered inductive devices, the control circuit would

look nearly identical to the one used for the solenoids. All that would need to change would be the

supply voltage, resistor values and potentially the model of transistor used. As performance metrics

were fleshed out, it became clear that having the capability to generate more complex vibration

patterns would likely be very useful. This method of control makes such signaling very

challenging, as it would require the embedded programmers to generate complex waveforms on

the microcontroller for each desired signal.

Fortunately, due to the abundance of vibration motors in haptic applications, many ICs have been

developed specifically to drive this kind of device and streamline complex signal generation. The

IC we chose in section 3.3.4.3 can access a library of over 100 different haptic signal patterns, all

accessible via function call in the embedded software.

University of Central Florida Page 71 EEL 4915

Electrical Engineering Department

Each IC controls a single vibration motor; hence two are be required. I2C supports multiple slaves

sharing the same SCL and SDA lines, given that each slave has a unique hardware address (See

section 4.1.5 for more detail on this standard). Unfortunately, the address of the DRV2605 haptic

driver is static and unconfigurable, so two of these chips cannot share the I2C bus without

multiplexing. Fortunately, I2C multiplexing chips are also commonplace. The TCA9548A chip

from TI is an 8-channel multiplexer, which would allow us to connect up to eight I2C devices with

the same address.

Related Diagrams

Below is a reference design for how a direct PWM controlled vibration motor circuit would be

constructed:

Figure 5.2.4.2-a Example Vibration Motor Control Circuit [16] (Permission Pending see Appendix A)

Identical to the solenoid control circuit, this too requires a diode across the motor terminals to

block back-EMF from an inductive load from damaging the transistor. In addition to that though,

a capacitor is also required. This is because unlike a solenoid, a vibration motor oscillates at a high

frequency, it will in turn generate high frequency electromagnetic noise in the circuit. This

capacitor is therefore used as a filter against that noise.

Interfacing the I2C controllers and multiplexer requires a different approach from the above. The

two DRV2605 chips’ SDA and SCL lines must each be connected to one of the MUX outputs, the

main I2C bus connected to the microcontroller must connect to the MUX inputs. The MUX has a

base address of 0x700, and the lines A0-A2 allow the user to vary that address up to 0x707 (in the

case that another device on the I2C bus is already using address 0x700). A device is selected by

calling a function tcaselect(n) in software, where n is the MUX output the device is connected to

(in the case below it would either be 3 or 7). Below is a mockup of how each component would be

connected. Images are of the chips mounted on breakouts, and can be found at Adafruit.com [10]

[11]).

University of Central Florida Page 72 EEL 4915

Electrical Engineering Department

Figure 5.2.4.2-b Haptic IC - controlled vibration motor diagram

5.2.5 Microcontroller Subsystem

The Microcontroller Subsystem is responsible for gathering data from the sensors and Bluetooth,

interpreting that data into something meaningful to the user, and then controlling the devices that

provide feedback to the user. Below are the initial design thoughts and any related diagrams for

this system.

Initial Design

At first we were debating whether to use a microcontroller or a single-board computer such as a

raspberry pi for our data processing and input/output controlling needs. After doing some research,

we learned that if the raspberry pi is improperly powered down, data on it could be corrupted.

Since our device is running on battery power, it is entirely possible for it to power down without

warning once the battery runs out of charge. It would be possible to overcome this obstacle, but

we chose to forgo the additional complexity of solving this problem and instead pursue the use of

a microcontroller which did not have the same problem.

Our initial design for the microcontroller subsystem assumed the input to the microcontroller from

the sensors was going to be a number which represented the distance in millimeters to the detected

object. After finding out that this was not the case, our microcontroller subsystem design had to

be altered to include a conversion to millimeters. This could be accomplished in one of two ways.

Either using a time calculated from the start and end time of a pulse received from the sensor

multiplied by a value provided in the sensor documentation to get the distance in inches which

could then be converted to whatever unit of distance that the project required. Another option is to

get a voltage input from the sensor, the value of which could also be multiplied by a value provided

in the sensor documentation to again get the distance in inches.

VDD

M

M

I2C Bus

University of Central Florida Page 73 EEL 4915

Electrical Engineering Department

Related Diagrams

The below figure (Figure 5.2.5.2-a) displays the relative placement of solenoids to other solenoids,

the names assigned to each solenoid, and the very brief description of the function of each solenoid.

The assigned names are not necessarily the way the solenoids will be referenced in the code

programmed on the microcontroller, they are merely assigned so that individual solenoids can be

referenced in the 5.5.2 Microcontroller Software Design section.

Figure 5.2.5.2-a Solenoid Configuration

The below figure (Figure 5.2.5.2-b) displays the flowchart for the distance sensing input to the

microcontroller. The solenoid labels are based off the configuration and naming scheme shown in

Figure 5.2.5.2-a.

Figure 5.2.5.2-b Distance Sensing Input to the Microcontroller Flowchart

Sole4

Left

Detect

Sole1

Dist

Detect

Sole5

Right

Detect

Sole6

Left

Nav Sole3

Dist

Detect

Sole7

Right

Nav

Sole2

Dist

Detect

University of Central Florida Page 74 EEL 4915

Electrical Engineering Department

The below figure (Figure 5.2.5.2-c) displays the flowchart for the Bluetooth input to the

microcontroller. The solenoid labels are based off the configuration and naming scheme shown in

Figure 5.2.5.2-a.

Figure 5.2.5.2-c Bluetooth Input to Microcontroller Flowchart

The below figure (Figure 5.2.5.2-d) displays the flowchart for the Bluetooth input to the

microcontroller. The start point comes from the “Calculate distance to object” processing block

from the flowchart of the distance sensing input to the microcontroller shown in Figure 5.2.5.2-b.

Figure 5.2.5.2-d Bluetooth Output from Microcontroller Flowchart

University of Central Florida Page 75 EEL 4915

Electrical Engineering Department

The below figure (Figure 5.2.5.2-e) displays the flowchart for the direction sensing input to the

microcontroller. The solenoid labels are based off the configuration and naming scheme shown in

Figure 5.2.5.2-a.

Figure 5.2.5.2-e Direction Sensing Input to Microcontroller Flowchart

5.3 Device Subsystem Details

The Section below discusses the system details of each subsystem. Each section will start with the

general theory of operation followed by our design specific details.

5.3.1 Distance Sensing Subsystem

The Section below consists of our details the general operation of sensors and servos and how they

will relate to our design. This section will refer at times to section 5.1.1 for related diagrams.

5.3.1.1 Linear Sensor System

The Linear Sensor System is responsible for detecting in a straight line from the end of a device

much like a laser tape measure or a stick would sense the proximity of an object. Described below

is the general theory of how a linear Sensing system works and then the design specific details

General Theory of Operation

The ultrasonic sensor dates back to 1790 when Lazzaro Spallanzani first discovered bats

maneuvered in flight using their hearing rather than sight. [17] Bats are amazing creatures who

can precisely distinguish even small objects in full flight, a vision that far surpasses that of a human

all while being blind. Bats utilize a technique known as echolocation or ultrasonic ranging. The

University of Central Florida Page 76 EEL 4915

Electrical Engineering Department

ultrasonic sensor is our way of simulating this technique. The use of these techniques is commonly

referred to as Sonar or sound navigation and ranging. Historically used mainly in water, Sonar was

developed in 1912 to detect icebergs which was prompted by the Titanic disaster of 1912. [17] A

few years later during World War I sonar was reconfigured to detect submarines. This technology

continued to improve over the course of World War 2. Today there are many uses of sonar from

detecting people to small objects. The sensors being used in our design use active sonar to function.

Active sonar uses a sound transmitter and a receiver. When the two are fixed in the same place, as

in our design it is considered monostatic operation which is the most common type of sonar. Active

sonar creates a pulse of sound and then listens for the sounds reflections or echoes. [18] This sound

signal is electronically generated using a signal generator, amplifier and electro-acoustic

transducer. The sound is concentrated to a certain beam width and then transmitted. [18] The

measurements of object distances are done by measuring the time from transmission of the pulse

to its reception. Using the known speed of sound this time is converted into a range. The concept

of converting time and known speeds into range is often referred to as Time of Flight. [18] In order

to avoid false positives, the sound pulse created by the receiver is often a constant frequency much

higher than ordinary objects will produce. [18] The factors effecting the performance of ultrasonic

sensors will be discussed below. Figure 5.3.1.1-a gives a visual interpretation of how active sonar

works. The red wave pattern is the originating sound wave, while the green wave pattern is the

reflected sound wave. The range distance r is calculated by using the known speed of sound (v)

which is approximately 343m/s multiplied by the time of flight (t) of the pulse signal divided by

two as the range distance is doubled. [18] This of course assumes no loss of signal or interference

which is unlikely unless in a vacuum. This equation is shown below: [18]

𝑅𝑎𝑛𝑔𝑒 =𝑣 ∗ t

2

Figure 5.3.1.1-a Sonar Principle Diagram [18]

Performance factors

There are several factors that can affect the accuracy of an ultrasonic sensor and though accuracy

is not a major concern for our design it is important to understand that they are present. By

understanding they are present it can allow us to be able to consider these issues later during

University of Central Florida Page 77 EEL 4915

Electrical Engineering Department

breadboard and more importantly field testing when outside factors are more apparent. The major

factors that contribute to performance are reflection angle, reflection surface, crosstalk and field

conditions such as temperature and air density.

The first factor is reflection angle which relates to the reflection surface. This angle is the angle of

the surface that reflects back the transmitted pulse back to the source. The ideal angle for a

reflective surface is a flat surface perpendicular to the ultrasonic beam; this will reflect most of the

transmitted pulse back to its source. But this ideal is rarely seen in the field. Most of the time even

if we are considering the ground surface which is mostly flat it is rarely completely even. Cracks,

dirt, debris as well as the surface type will also diminish the reflected signal which can alter its

accuracy. The combination of an angled surface that absorbs sounds waves can cause significant

degradation of our sensors accuracy. This factor will be monitored quite closely as we will

predominately be dealing with humans who have an irregular shape so the reflection angle will not

be ideal and clothes that are a softer material will dampen our sound signal. [18]

Crosstalk is an issue that occurs when multiple ultrasonic sensors or close proximity of objects can

degrade the signal accuracy by inducing extra noise into the system. In the case of an object within

the minimum distance of the sensor, the transmitted pulse and the reflected signal back interfere

with each other for they are so close. The sensor can only transmit, read and process so fast. Now

this is normally done in microseconds the speed of sound is actually quite fast and the time from

transmission to reception can exceed the read time at certain minimum distances. Thus the

reflecting beams are not fully processed. Combining this with the fact that a sound beam does not

diminish completely on one cycle of reflection there can be multiple reflected sound pulses within

this minimum zone. With each beam influencing the other this cause a great deal of noise that can

degrade the accuracy or cause no output or completely erroneous readings. These factors are also

found when 2 or more sensors are transmitted in the same area. The combination of two sensors

talking can create added noise as the receiver is picking up on possibly two transmitted pulse

signals. [18]

The final factor which can degrade the performance of our sensor system is the fields conditions.

The sensors will provide a time signal based on the time of flight from transmission to reception.

Ideally the calculation for range will simply be Time times Velocity divided by 2. However, a

sound wave will be slower or faster in certain mediums or environments. Temperature, air density,

humidity and more will all affect the speed of sound. The ideal equation above will only be possible

in a vacuum where no outside forces can interfere with the speed of light. Though accuracy is not

a huge issue for us, these factors or variables are normally factored into the range equation using

additional sensors. These sensors could include a temperature sensor, a pressure sensor and a

humidity sensor. [19]

System Related Design Details

The system related details described below, give relevant information from the datasheets and how

they relate to our designs. Most of the relevant functional details were discussed in the above

general section. Below we will discuss the pin details and the related sensor specifications of the

hardware. How these pins will be utilized will be discussed in the microcontroller software section.

University of Central Florida Page 78 EEL 4915

Electrical Engineering Department

How each of these specifications will be tested or related to our demo will be discussed in the

testing section below.

Pin details

There are a total of 7 pins related to the LV-MaxSonar sensors we are utilizing these pins are going

to be outlined in Table 5.3.1.1-b below.

Pin Name Description

Pin 1- BW Works in conjunction with the TX pin when this pin is held high Pin 5 will send

a pulse output instead of a serial output which is suitable for low noise situations

Pin 2- PW This pin outputs a Pulse Width representation of the range. The distance can be

calculated using a set scaling factor of 147µS per inch

Pin 3- AN Outputs an analog voltage with a scaling factor of Vcc/512 per inch. This is the

standard used for the datasheet collection.

Pin 4- RX This pin is internally held high, which will allow for continuous ranging. If this

pin is triggered to be low, then the sensor will stop sensing the range.

Pin 5- TX Works in conjunction with pin BW. This outputs a serial RS232 format signal

when BW is low

Pin 6- +5V Operating voltage 2.5-5VDC, Recommended 3mA for 5V and 2mA for 3V

Pin 7- GND Return for the DC power supply. Must be noise free for best operation. Table 5.3.1.1-b Pins for LV-MaxSonar Sensors (Permission Pending see Appendix A)

As you can see above this sensor provides several options for operations. The only pins that are

required are Pin 6 and Pin 7 which is are Vin and Ground. The other pins will be determined by

our design and will be selected based on the software and hardware testing. The timing diagram

below, Figure 5.3.1.1-c, will be referred to in the software section to determine how the range will

be selected per our specifications.

Figure 5.3.1.1-c Ultrasonic Sensor Timing Diagram (Permission Pending see Appendix A)

The sensors minimum distance is 6 inches or 15 cm, below this range the sensor cannot guarantee

100 percent accuracy. This minimum distance is fine for at this min range we will want our user

to be making sure they are not too close to a wall or object. A range that does have us concerned

University of Central Florida Page 79 EEL 4915

Electrical Engineering Department

is the sensor operation from 6inches to 20inches. As cited in the performance factors above within

this range crosstalk is more prevalent increasing inaccuracies of up to 2 inches. This effect becomes

less and less prevalent at larger distances.

5.3.1.2 Directional Sensor System

The Radar Sensor System is responsible for detecting the proximity of the objects in the area. This

radar system is mostly focused on the left and right of the user but will sense all values. Described

below is the general theory of how a linear Sensing system works and then the design specific

details.

General Theory of Operation

The general theory of operation for this sensor is very similar to the above linear sensor system.

The only difference is the addition of a servo which rotates the sensor in a circular motion. As

shown in the figure below. The radar system will operate by sending out linear pulse signals and

based on the time for the signal to return to the source, calculate a range based on the

microcontroller. This range is then calculated and stored. The servo will then move the sensor

along a predetermined arc either left or right repeating this process. Over time this collected stream

of data will paint a picture of the surrounding area allowing us to interrupt the data and determine

if there is an object of significance either left or right of the user. Due to the limitation of our tactile

feedback system we can only determine if a user is left or right of the object and if the user wants

more information he or she can point the device in that direction.

Upon further testing we removed the servo and used a simpler design that used two sensors that

are the same as the linear sensors that will detect an object within 5 feet. This system only has an

issue of detecting multiple objects.

System Related Design Details

The system related details described below just like in the above section gives relevant information

from the datasheets and how they relate to our designs. Below we will discuss the pin details and

the related sensor specifications of the hardware. How these pins will be utilized will be discussed

in the microcontroller software section. How each of these specifications will be tested or related

to our demo will be discussed in the testing section below.

Pin details

There are a total of 7 pins related to the Smart servo. These pins send packets of data to be used in

communication and programming of the servo. The programming and utilization of these

communication protocols will be outlined in the micro controller software section below. Figure

5.3.1.2-a below outlines the range of function for our servo that can be programmed based on our

specifications. The green shows the recommended range which is within our specifications.

Upon further testing this was not used but kept as it was apart of our initial concept and is an ideal

scenario upon further development.

University of Central Florida Page 80 EEL 4915

Electrical Engineering Department

Figure 5.3.1.2 - a Servo Angular Range Diagram (Permission Pending see Appendix A)

5.3.2 Power Subsystem

The Section below consists of the details for the general operation the power subsystem and how

they will relate to our design. This section will refer at times to section 5.2.2 for related diagrams.

5.3.2.1 General Theory of Operation

The history of power systems dates back to the history of electricity itself and though people have

known about the existence of electricity since ancient times, the ability to harness this electricity

was not established until the seventeen and eighteen hundreds. [20] In 1752, Benjamin Franklin

famous kite experiment showed us how little we knew about electricity and it wasn’t until 1831

that we as a people had our first major breakthrough with Michael Faraday. [20] He discovered

the basic principles of power generation building on past experiments such as Franklin and others.

As the saying goes, everything begins with power and ends with power. Electricity is an important

concept for our design and without it our design would be nothing more than a paper weight. The

theory of operation will be broken up into several sections including battery charging,

Battery Charging System

The charging and discharging of the battery has tremendous impact on a design for it depicts

whether a battery needs to be replaced or how long you can go between having to hook your device

to a power source such as a wall outlet. There is a lot that goes into the design of a battery charging

system beginning with the battery itself. Certain battery chemistries are greatly affected by the

charging and discharging cycles. The lithium polymer type batteries that we are using can be

charged or discharged with very little effect on the lifestyle of the battery. However, this advantage

comes at the cost of requiring far more precautions when recharging this type of battery.

Overcharging a lithium polymer battery can result in destroying the battery, causing a fire or even

causing an explosion. For this reason, a charging protection circuit is necessary. Sometimes this

circuit is referred to as a protective circuit board or PCB for short.

University of Central Florida Page 81 EEL 4915

Electrical Engineering Department

Figure 5.3.2.1-a below shows the four stages of charging a li-ion battery. In the first stage, the

battery begins to charge and the voltage increases while the current stays the same. In the second

stage, the voltage has peaked and stays constant while the current decreases till it is less than 3

percent of the rated current. At this point, the current drops off while the voltage starts to decrease;

this is the third stage. And in the fourth and final stage, a topping charge is applied to make sure

the battery stays at a full charge. [21]

Figure 5.3.2.1-a Four Stages of Li-Ion Charging (Permission Approved see Appendix A)

A lithium ion battery as stated above does not need to be fully charged to fully function as this

battery does not have the so called “battery memory”. For this type of battery chemistry, it is

actually ideal to not fully charge this battery as fully charging this battery can put extra stress on

the battery and cause safety issues as stated above. Overcharging and under discharging the battery

can result in reduced battery life cycle. [21]

Lithium ion batteries have the ability to fast charge by using higher current levels sometimes

achieving a full charge in a quarter of the time. However, this type of charging comes at a cost of

lower battery saturation. Using fast charging will only allow the use of 85 percent of the full

capacity of the battery. [21] While normal charging will allow for full use of the battery’s capacity.

The chart below shows the different charging thresholds. As you can see different charging

voltages result in different battery saturations and different charging times. The full use of a lithium

ion battery capacity requires both a constant voltage and a constant current. Often due to the need

for steady current and voltage requirements a battery management IC is necessary. Our current

and voltage levels will be discussed below in the design details section. [21]

University of Central Florida Page 82 EEL 4915

Electrical Engineering Department

Figure 5.3.2.1-b Four Stages of Li-Ion Charging (Permission Approved see Appendix A)

Often in the charging of a battery knowing the current capacity level is important as it can alert the

user how much of the battery is left and approximately when the battery should be charged. There

are 3 types of circuits that can be used to measure this capacity: Closed Circuit Voltage (CCV),

Open Circuit Voltage (OCV) and Coulomb Counting. Closed circuit voltage is simply the potential

difference of the battery while under a load. Coulomb Counting is used by most laptops and other

portable devices by measuring the current into the battery and the current out of the battery. [21]

Open circuit voltage is the same thing without a load. OCV is the most accurate of the methods

but is not practical for it often requires waiting 4 to 24 hours without using the device to get a

proper reading. CCV is the simplest to use but can be inaccurate due to various variables such as

temperature and load conditions. Coulumb counting is actually quite accurate working on the

concept of conservation of energy and the batteries characteristics however it requires a much

more sophisticated circuit and is not always accurate towards the end of a charge cycle. [21]

Power Regulation

As stated above every circuit design requires a supply of power. The design of a power supply to

regulate the power within a circuit is a complicated field branching off into two main types, AC-

DC and DC-DC. DC- AC does exist as a method of power supply design but is far less common

in practice. AC or alternating current is the type of electricity most power plants generate and

transmit to residential and commercial areas. In layman’s terms it is the type of electricity found

in most wall outlets across the world. Many portable devices including our own requires the use

of DC power or direct current. This power most commonly associated with batteries provides a

steady level of voltage potential while AC fluctuates from a positive potential level to a negative

potential level. AC-DC converts AC voltage to a DC voltage. Though it is possible for AC-DC to

change voltage or current characteristics of the output the main purpose is to convert the different

types of power. DC-DC keeps the same type of power but changes the voltage or current

parameters. The conversion and regulation of electrical power is often simply referred to as power

regulation.

There are many different types of power regulation circuits that can be implemented in a power

supply design. There are two main types of voltage regulators, the current popular choice the

switching regulator and the older but still useful linear regulator. Both regulators provide the same

function but differ in terms of the overall design and performance.

Linear regulators operate by using a voltage controlled current source to force a fixed voltage to

appear at the regulator output terminal. As shown in Figure 5.3.2.1-c the control circuitry must

University of Central Florida Page 83 EEL 4915

Electrical Engineering Department

sense the output voltage and then by adjusting the current the output voltage can be regulated as

required by the circuit parameters. As you can see this type of circuit forms a simple feedback

loop. The control circuitry must have a built in compensator to assure for loop stability. Linear

regulators were the first type of regulators introduced and are still available due to their low cost

and simple function. The main disadvantage of the linear regulator is that they must always divide

or lower the voltage coming in to reliably regulate the output voltage and are generally less

efficient than their successor the switching regulator.

Figure 5.3.2.1-c Linear Regulator Functional Diagram

Switching regulators are the successors of the linear regulators. They provide several advantages

over linear regulators such as increased efficiency and accuracy, lower standby current draw, and

do not require external components such as capacitors. The main disadvantage of switching

regulators is their increased size and cost. Switching regulators work by taking small chunks of

energy from the input voltage source and moving them to the output. They are designed and

calibrated to a certain voltage or current parameter and will often keep that parameter within an

accuracy of 2 percent. The regulation or moving of energy bit by bit is accomplished by an

electrical switch and a controller hence the name switching regulator. Because the energy is moved

bit by bit the energy losses are relatively small thus far more efficient than linear regulators. [22]

The most commonly used switching regulators in DC-DC are the Step-Down (Buck) regulator and

the Step-Up (Boost) regulator. Unlike the linear regulators due to the movement of energy its

possible to increase or boost the voltage by a certain degree. This type of regulation or conversion

is simply called a boost regulator. We initially thought to boost the voltage of our battery so we

could use a standard USB charger but to boost the voltage in a circuit is far more inefficient. The

Buck regulator or converter described in more detail below reduces the voltage. [23]

DC-DC Buck

As stated above buck regulators or converters as they are sometimes called are step-down DC-DC

voltage convertors. As this is the type of switching regulator we are using in our system, we will

explain the function of a buck converter in more detail. Figure 5.3.2.1-d below shows the basic

schematic of the Buck regulator.

University of Central Florida Page 84 EEL 4915

Electrical Engineering Department

Figure 5.3.2.1-d Buck Regulator Schematic

The Buck regulator uses a mosfet electrical switch that feeds into an inductor and a capacitor. The

inductor and capacitor form a Low pass filter that provides a steady voltage. As the inductor resists

sudden changes in current and the capacitor resists sudden changes in voltage. The diode stabilizes

the circuit as without the diode in real life your circuit would most likely catch fire as the switch

will continue to cycle adding more and more negative voltage as the current and voltage cannot

immediately change due to the nature of the capacitor and inductor. The diode allows for current

to flow more naturally when the switch is open preventing an unstable loop

5.3.2.2 System Related Design Details

The general theory for how the power system will work was just described in the above section.

This section focuses on the system specific design details. Starting from the beginning as stated

above most power is generated from power plants in the form of AC voltage and delivered to both

residential and commercial areas usually in the form of a wall socket. Due to the nature of our

design we decided that though it is possible to design an AC-DC power supply it was far more

practical to use a store bought power plug that will convert this voltage for us as it will not be

native to our design. Our design calls for 9V DC power to eventually give us the 8.4V regulated

voltage to safely charge our battery pack. We chose 9V as its one of the more common voltages.

This DC power will then be inputted into the MCP73213 battery management controller. This

controller is set to a specific voltage from the manufacturer to deliver a constant 8.4V to a battery

as shown in Figure 5.2.2.2-a above. The PROG pin of this controller set by certain resistances

controls the level of current that the controller outputs this allows you to set possible charging

levels including fast charging. For our application, we are using standard charging of 1A per our

battery’s specifications.

From there the battery controller outputs to the Lithium-polymer battery and if this circuit only

called for charging the battery it would be complete. However, ultimately the battery will supply

voltage to our design thus we require a circuit that will sense when the battery is being charged to

safely charge and discharge the battery. An example of this type of load sharing is shown in Figure

5.2.2.2-b above. The circuit basically demonstrates the working of an electrical switch. When

power is connected to the battery controller the mosfet will sense this voltage and open or close

the load from the battery. This will allow the battery to charge safely without it being under a load.

Though we do not see a normal reason why you would want to use this device when its charging

due to the simplicity of implementation we allowed for the circuit to use the 9V DC power while

the battery is charging.

University of Central Florida Page 85 EEL 4915

Electrical Engineering Department

Either from the battery when the device is unplugged from the wall or when the device is plugged

in our device will be powered by 3 power busses. Due to the fact that the output voltage is different

for either scenario with 7.4V and 9V respectively these busses will be generated through the use

of DC-DC buck switching regulators. We will be utilizing 2 regulators one at 5V and one at 3.3V.

These regulators are quite accurate and efficient and will supply power to most of our design.

However, the smart servo is designed for 7.4V though can work with lower voltages. Ideally the

servo will work straight off the battery or the 9V from the wall which the servo is also rated for.

However, we are also looking into using the servo off the 5V bus though this will limit its speed

and torque while providing safer more reliable power. After the creation of these 3 busses, the

power system has met its purpose of charging the battery from a wall outlet and supplying power

to our design.

5.3.3 Smartphone Subsystem

In this section, the smartphone subsystem will be explaining in more details on how each function

of the application will work and how to application interface will look like.

5.3.3.1 Mobile Application

There will be three buttons to turn on and off three modes: navigations, audio (ping), and audio

(voice). Users can select any modes to turn on/off by their positions, there will be voice prompts

as the buttons are clicked to let the users know that the mode is turning on or off. The application

will be using the directions pulling from HERE Maps API and send the data to the

microcontroller’s Bluetooth module to be send to the tactile system, the directions will then be

given to the users via actuators. The sensor system will send data to the microcontroller and will

be send to the application via Bluetooth, the data will include the distance to the objects. The

application will then send the distance data to the Bluetooth headset telling users the distance with

audio voice and audio ping.

Figure 5.3.3.1-a below is the project initial graphical user interface. As mention above, the

application will be as simple as possible, the top button will be to turn the navigation mode on and

off, the bottom left button will be to turn the voice sound on and off. The bottom right button will

be to turn the ping sound on and off. When the user tap on the application icon on the mobile

device, the application will be open and this screen would appear next and waiting for user’s

selections.

University of Central Florida Page 86 EEL 4915

Electrical Engineering Department

Figure 5.3.3.1-a Mobile Application Graphical User Interface

Mobile Application Summary

The device will be having most of the functionalities that it was designed for the users, the

application will be for helping the users to get more functionalities and to gain access control to

some of them. The three functions on the application can be turn on and off depend on user’s

selections, those functions are navigation mode, audio ping mode, and audio voice mode. The

navigation mode is to get directions and navigate users around with tactile system on the device,

but users will not use this mode all the time so it can be turn off and turn on only when needed.

The next mode is the audio ping, the application will get scanned object’s distance from the sensor

system and alert users in ping pulses for them to know how far the object is in the front, this also

can be turn on and off because the users already get alert from the tactile system on the device.

The last mode will be the audio voice, the application get data from the sensor system on the

positions of the object in the front, to determine if the object is on the left or on the right, and then

send to the Bluetooth headset for voice prompts on the object’s location. Again, this mode can be

turn on and off because the object’s location is already being alerted on the device via actuators.

5.3.4 Tactile Feedback Subsystem

Below is a brief overview of the basic operation of the tactile feedback system, as well as a

description of the techniques and theory used in its implementation and design.

5.3.4.1 General Theory of Operation

Implementing the haptic vibration motors and drivers is fairly straightforward execution of an I2C

interface. For a more detailed description of the I2C standard, refer to section 4.1.4. Given that our

concept only calls for a single master, three slave interface, the implementation considerations are

simple. We need only ensure that a) all I/O pins for each IC are configured as specified by their

University of Central Florida Page 87 EEL 4915

Electrical Engineering Department

datasheets, b) all SDA and SCL nets have a pullup resistor within the acceptable range, and c) the

total I2C bus capacitance does not exceed 400nF.

As discussed in section 5.2.4, the linear actuator subsystem will sink a majority of our device’s

power. Though the fundamental design is based on the model shown in that section (Figure 5.2.4.1-

b), the primary design challenges here were to add to and modify it in order to minimize the power

consumed by these actuators as much as possible. To do this, we took advantage of a few key

principles, the first of which is that it takes much more current to initially actuate a solenoid than

it does to keep it actuated. Therefore, we only need draw high current for the fractions of a second

it takes to move the solenoid plunger. Additionally, though the solenoids are rated to operate at

1.1A (5V, 4.7Ω ESR), they will still actuate with much less current than that, just with less force.

Since our application only calls for signaling and not actually performing work or moving a

physical load, this reduced force is irrelevant. As long as the user can feel the actuator press against

their finger/hand, and as long as it is not too easy to accidentally force the plunger back down, they

have served their purpose.

5.3.4.2 System Related Design Details

As far as implementing these chips, most circuit design involves simply connecting the chips’ I/O pins as specified in their datasheets, and determining the range of acceptable pullup resistance values for our I2C bus. This process is detailed in the I2C standard [12]. The minimum resistance is as follows, where VOL and IOL are the minimum logic low voltage and current levels:

𝑅𝑚𝑖𝑛 = (𝑉𝐶𝐶 − 𝑉𝑂𝐿)/𝐼𝑂𝐿 VOL and typical IOL can be found in the I2C specification, in Table 9. Using these values, we find that 𝑅𝑚𝑖𝑛 = 725Ω ≅ 1𝑘Ω. Our goal is ultimately to maximize the pullup resistance without increasing the signal rise time past what is allowed by the I2C bus speed, to minimize overall current consumption. The maximum pullup value relies on an estimation of our I2C bus capacitance, which is based on the total trace length and the capacitance of each chip in series along the bus:

𝑅𝑚𝑎𝑥 = 𝑡𝑟/(0.8473 ∗ 𝐶𝑏) Where tr is the maximum allowed rise time. Referring to the datasheets for the two I2C slave devices shows a bus capacitance of roughly 20nF per device. Given that two chips will be active at any given time, and a 𝑡𝑟 = 1000𝑛𝑠 for standard mode [12], 𝑅𝑚𝑎𝑥 ≅ 30𝑘Ω. Thus, we chose pullup values of 20𝑘Ω to allow for any excess parasitic capacitance in the traces. With these observations, it is also clear that the total bus capacitance will not exceed the maximum of 400nF, as given the size that the PCB will need to be, there is no way the I2C trace length will come anywhere close to the ~1 meter needed to contribute this much capacitance. To implement the first principle practically, we first tested to determine exactly what the minimum necessary DC voltage was that would A) move the plunger to its actuated position, and B) keep it in position given that it is already actuated. The table below shows the results of this test:

University of Central Florida Page 88 EEL 4915

Electrical Engineering Department

Voltage (V)

Current (mA)

A) Actuation

2.3 489

B) Holding 0.9 191 Fig. 4. Measured actuator characteristics

This observation is what informed our decision to include two 5V regulators: each one is rated for 1A, and our actuator configuration will worst case have four solenoids actuated at a given moment. This means that worst case current draw will be 1.96A, though only for fractions of a second at a time. We attempted two methods for reducing the actuation current from 1.1A. The first and simplest is to simply add a series resistance in line with the solenoid load, which will drop the DC voltage across the solenoid down to the measured 2.3V. The downside to this approach is that a fairly substantial amount of power will inevitably be dissipated through this resistor as heat. Due to its simplicity, we implemented this solution as a backup. The second method avoids this waste by taking advantage of the actuators’ inherent inductance. By pulsing the input voltage at a high enough frequency, the current draw won’t have time to catch up to the change in voltage. As frequency increases, the instantaneous current draw will approach DC, and its magnitude will decrease as the current has less time to rise during the positive voltage cycle. By experimentation, we found a 20kHz, 60% duty cycle pulse adequate for supplying enough current to actuate a solenoid. To generate this waveform, we used an ICM7555 Timer IC configured in astable mode. The reference design we relied on [15] shown below indicates the output frequency and duty cycle of the output signal can be configured as follows:

Fig. 5. 555 Timer Reference Design [15]

𝑓 = 1.44/(𝐶 ∗ (𝑅1 + 2𝑅2)) 𝐷 = (𝑅1 + 𝑅2)/(𝑅1 + 2𝑅2)

The output of this IC drives a power MOSFET, which gates the power signal driving the actuators. To drop current down to the holding level, we use an additional series resistance between the source and ground of the MOSFET connecting the MCU and solenoid. In parallel with this resistor is an additional MOSFET, which when opened will effectively short across that resistor due to the low drain-source resistance (on the order of 10’s of milliohms) and increase the current through the solenoid to the actuation level. To gate this MOSFET, we use an additional 555 timer, this time

University of Central Florida Page 89 EEL 4915

Electrical Engineering Department

in a monostable configuration, which will output a fixed duration pulse, whose width is set by an RC pair across the IC’s discharge and threshold pins in accordance with its datasheet [24]. The duration of this pulse is approximately equal to 𝑇 = 1.1 ∗ 𝑅 ∗ 𝐶. Monostable operation is triggered by a negative/LOW level signal which must be shorter in duration than the output pulse. To generate this trigger, we use a first order RC differentiator, offset from zero by VCC and with the positive spike generated at the negative edge of the input suppressed by a diode. Below is a simulation model of the circuit, as well as its output. A clock generator is used to simulate the GPIO inputs to the MOSFET switch.

Fig. 6. Differential Trigger Simulation & Output

5.3.5 Microcontroller Subsystem

The Microcontroller Subsystem is responsible for gathering data from the sensors and Bluetooth,

interpreting that data into something meaningful to the user, and then controlling the devices that

provide feedback to the user. Described below is the general theory of how a microcontroller works

and then the design specific details.

5.3.5.1 General Theory of Operation

The first microprocessor by built by Intel in 1971. However, the first microcontroller is credited

to Texas Instruments also in 1971. They originally designed their microcontroller to be used in

embedded systems. [25] Microcontrollers contain all the necessary components, which include

processor core, memory, interrupt controller, timer/counter, digital I/O, analog I/O, interfaces,

watchdog timer, and sometimes a debugging unit, for it to operate stand alone all on a single chip.

Today, microcontrollers are everywhere. Billions are made each year. The typical home contains

around three dozen microcontrollers. Microcontrollers are also very affordable, able to be

purchased for under $0.40 if ordered in large quantities, allowing their use in products to be

widespread. [26]

Microcontrollers are small, minimalistic, low cost computers. Like other types of computers, it has

input and output ports which allow it to send and receive data from connected devices and it has a

processor which allows it to perform logic and calculations based on that data. However, unlike a

traditional desktop computer, a Microcontroller can only run one program which is stored in its

ROM. [27]

University of Central Florida Page 90 EEL 4915

Electrical Engineering Department

5.3.5.2 System Related Design Details

The general theory for how the microcontroller will work was just described in the above section.

This section focuses on the system specific design details. How each of these specifications will

be tested or related to our demo will be discussed in the testing section later on.

The program code will be loaded into the ROM of the microcontroller. An endless loop will allow

the microcontroller to continually run the code until it is powered off. The required components of

the project will be connected to the microcontroller’s I/O pins so that they can communicate with

each other. The program code will allow the microcontroller to process input from sensors on the

device and from the Bluetooth module and to communicate relevant feedback to the user.

5.4 Software Architecture

Our design is composed of several different software systems, section 5.5 focuses heavily on the

software design and system functionality. Shown below are high-level block diagrams outlining

the software and the connections within our design. Below there will also be a legend designated

which subsystem each software falls under. The details of each of these sections will be described

in the sections below.

5.4.1 Mobile Application Architecture

5.4.1-a Mobile Application Architecture Diagram

University of Central Florida Page 91 EEL 4915

Electrical Engineering Department

In the diagram 5.4.1-a above showing how the software for mobile application of the project

communicate with each other. The users will have the option to have navigation connected to the

device to help them navigate from their location to the destination. The directions will be received

from the HERE Maps API and then communicate with the microcontroller via Bluetooth,

directions then get to the tactile system of the device to give the users directions. The

microcontroller would get the information from the sensor system, the data will then send out to

the application via Bluetooth. The application will then send the information data to the Bluetooth

headset to let the users know the navigation part with audio voice or audio ping.

5.4.2 Microcontroller Software Architecture

In Figure 5.4.2-a below, the block diagram for the microcontroller software architecture is given.

The direction of the arrows connecting the blocks indicates whether data is being input or output

between blocks. The microcontroller receives input from the direction sensor, servo, and the

distance sensor. It then processes this input and outputs the relevant information the solenoids,

vibrators, and Bluetooth module. The Bluetooth module then sends this data to the smartphone.

The smartphone also sends data to the Bluetooth module which sends it to the microcontroller.

5.4.2-a Microcontroller Software Architecture Block Diagram

5.5 Software Design

In this section, the design of the smartphone software and the microcontroller software will be

presented in more details.

5.5.1 Smartphone Software Design

As stated in section 5.3.3.1 above, the mobile application for this project will include three buttons

for some of the device functions that users can have the settings change, one button will be on top,

University of Central Florida Page 92 EEL 4915

Electrical Engineering Department

and other two will be on the bottom. The functions that users can change will be call modes on the

application, the top button will be for turning the navigation mode on and off once the mode

position is at where users want to change. On the left bottom button, will be for turning the voice

sound mode on and off once the mode position is at where users want to change. On the right

bottom button, will be for turning the ping sound mode on and off once the mode position is at

where users want to change .There will be three modes total that users can change the functions of

the device, the navigation mode, the audio ping mode, and the audio voice mode. Those three

functions can be turn on and off follow the user’s selections, other functions of the device cannot

be turn on or off individually by the users, once the device is on, most of the functions will start to

work right away.

5.5.1.1 Modes

The device will have a lot of components that make up many functions to help the users to navigate,

but most of the functions will not be able to turn on and off individually by the users. The main

functions that make the device work will turn on when the device is on and off when the device is

off. There will be three device functions that the users can turn on and off if they choose to do so,

the navigation, the audio ping, and the audio voice. When the buttons is pressed to turn modes on

or off, the software will then communicate with the device through Bluetooth system to have that

mode turn on or off.

5.5.1.2 Navigation Mode (Top Button)

On the navigation mode of the mobile application, users tap on the top button (refer to Figure

5.3.3.1-a) to turn the mode on or off depend of user’s selections. Using HERE Maps, the

application can navigate the users to their destinations by letting the users know through the tactile

system on the device. HERE Maps API will be providing the directions in data type which the

application only need is left, right directions, and how far to the turn that need to be make. The

application will get the data provided by HERE Maps and push it to the device via Bluetooth

signal. Once the device gets the navigation data from the application, the microcontroller will

process those data and communicate with the actuators in the tactile system to let users know which

direction to take and how far to the turns. In the tactile system, there will be two of the actuators

to be use for left turn and right turn directions. When the microcontroller gets the left turn direction

signal, the left actuator will raise up and let users know to turn left, and same thing works for the

right turn actuator. The distance data will include the distance in feet to every turn, when the users

is at within one feet to the turn, the application will signal the actuators so that users can turn at

the right moment. One optional function that could be implemented is navigation distance get

transfer to the vibration motor on the device, the motor will vibrate depend on the distance to the

turns that users need to make. And with the optional function, the application will not only send

direction data to the device, it will also send the data to the headset via Bluetooth, the voice prompt

will tell users how many more feet to the turns, and when to turn immediately at the turns.

5.5.1.3 Audio Ping Mode (Bottom Left Button)

On the audio ping mode of the mobile application, users tap on the bottom left button (refer to

Figure 5.3.3.1-a) to turn the mode on or off depend of user’s selections. On the device, the sensor

University of Central Florida Page 93 EEL 4915

Electrical Engineering Department

system will sense if there is an object in the front and will send a data signal to the microcontroller

to process, the signal will include the distance in feet to the object in the front. Like mentioned in

section 5.5.2.1, the vibration motor will vibrate at different speed depend on the distance of the

users to the objects. Audio ping mode is the mode that will send to the Bluetooth headset the ping

sound indicating the distance to the objects. The ping sound will be pulsing at the same levels as

the vibration motors on the device. If the distance to the object is between 9ft and 6ft, the ping

pulsing will be at low speed, if the distance to the object is between 6ft and 3ft, the ping pulsing

will be at medium speed, and if the distance to the object is between 3ft and 0ft, the ping pulsing

will be at fast speed. The ping pulsing speed levels will be the same for the whole interval. With

this, the users can also listen to the distance from them to the objects through ping pulses and not

just relying on the actuators on the device. But if at any time, users do not want to have the ping

function to their Bluetooth headset, they can always turn it off with the mobile application.

5.5.1.4 Audio Voice Mode (Bottom Right Button)

On the audio voice mode of the mobile application, users tap on the bottom right button (refer to

Figure 5.3.3.1-a) to turn the mode on or off depend of user’s selections. On the device, the sensor

system will sense if there is an object in the front and will send a data signal to the microcontroller

to process, the signal will include the distance to the objects, and include the position of the objects,

to the left or to the right or straight in the front of the users. The application will use that

information and send it to the Bluetooth headset. There will be voice prompts to alert the users,

the prompt will include “Left”, “Right”, and the distance to that object, “8ft”, “7ft”, “6ft”, “5ft”,

“4ft”, “3ft”, and under 3ft will be prompt "Danger!". Extra optional function that can be included

in the future development of the device is to have the voice prompt for the navigation function.

Users will be alert to “Turn left”, “Turn right”, “X meter to the turn” so that it would be easier and

faster to listen to the voice prompts from the Bluetooth headset. But if at any time, users do not

want to have the ping function to their Bluetooth headset, they can always turn it off with the

mobile application.

5.5.2 Microcontroller Software Design

The microcontroller software design explains what needs to be implemented in the microcontroller

software in order for the project to meet its requirements. This section does not specifically discuss

how to implement different parts of the microcontroller software, but focuses more on what needs

to be implemented.

5.5.2.1 Distance Sensing Input to Microcontroller

The expected input to the microcontroller from the sensor whose task is to detect directly in front

of the EASI device is a digital wave. The shorter the length of time that each wave pulse is high,

the closer the object is to the sensor. Conversely, the longer the length of time that each wave pulse

is high, the further the object is from the sensor. From the inputted digital wave, the microcontroller

will determine the start and end time of each pulse in which the wave is high. The end time will

then be subtracted from the start time of the pulse to get the total time that the pulse was high. In

order to convert this time measurement into a meaningful measure of the distance to the detected

object, the total time of each high pulse must be multiplied by the speed of sound, since that is the

University of Central Florida Page 94 EEL 4915

Electrical Engineering Department

speed at which the sonar pulses travel. After this multiplication, the microcontroller will have the

distance to the detected object in inches.

Once the distance to the detected object has been calculated, the microcontroller needs to convey

this information to the user. That is where the tactile subsystem of the project comes into play. If

the distance to the object is between six and nine feet, Sole1 is raised while Sole2 and Sole3 are

lowered (please refer to Figure 5.2.5.2-a for solenoid configuration, naming convention, and brief

description of function). Also, if the distance is between eight and nine feet, one of the vibrators

will pulse at a slow speed. If the distance is between seven and eight feet, one of the vibrators will

pulse at a medium speed. If the distance is between six and seven feet, one of the vibrators will

pulse at a fast speed.

If the distance to the object is between three and six feet, Sole2 is raised while Sole1 and Sole3 are

lowered. Also, if the distance is between five and six feet, one of the vibrators will pulse at a slow

speed. If the distance is between four and five feet, one of the vibrators will pulse at a medium

speed. If the distance is between three and four, one of the vibrators will pulse at a fast speed.

If the distance to the object is less than three feet, Sole3 while Sole1 and Sole2 are lowered. Also,

if the distance is between two and three feet, one of the vibrators will pulse at a slow speed. If the

distance is between one and two feet, one of the vibrators will pulse at a medium speed. If the

distance is between zero and one feet, one of the vibrators will pulse at a fast speed. Else, if none

of these cases are met, Sole1, Sole2, and Sole3 are all lowered to indicate that no object is detected

within the sensors effective range. For each case, the appropriate solenoid will remain raised until

new data from the distance sensor is processed and the distance no longer falls within the

corresponding distance category. As a visual aid to help understand the flow of logic for this

section, please refer to this section’s corresponding flowchart (Figure 5.2.5.2-b).

Another functionality of the distance sensing input that we considered implementing is an

automatic stand-by mode. This mode would active if the distance sensing input to the

microcontroller does not change for a certain amount of time, say 30 seconds. In stand-by mode,

the device would power down all non-essential components. It would then test the distance sensor

every 30 seconds to see if the distance started to change again. Once the distance again starts

changing, the device is restored to its normal operating state. Ultimately, due to the time constraints

of the project, this functionality was not implemented.

5.5.2.2 Bluetooth Input to Microcontroller

The Bluetooth module of the microcontroller will receive input from the paired smartphone when

turn-by-turn navigation directions are requested. The Bluetooth module is capable of transmitting

and receiving up to 20 bytes of data using BLE. The data that the microcontroller’s Bluetooth

module will receive from the paired smartphone will be two bytes long. The microcontroller will

parse the input to separate the important information in the input.

The first byte will indicate if the next navigation action that the user must perform is a left or right

turn. If the user needs to take a left turn, Sole6 will be raised and Sole7 will be lowered (refer to

Figure 5.2.5.2-a). If the user needs to take a right turn, Sole7 will be raised and Sole6 will be

University of Central Florida Page 95 EEL 4915

Electrical Engineering Department

lowered. The second byte will indicate the distance to the point that the navigation action must be

performed. If the distance to upcoming turn is 250ft, one of the vibrators on the device will pulse

four times. If the distance to the upcoming turn is 100ft, one of the vibrators on the device will

pulse three times. If the distance to the upcoming turn is 50ft, one of the vibrators on the device

will pulse twice. If the user has reached the point at which they need to perform a turn, one of the

vibrators will perform one pulse of a longer duration than the turn distance warning pulses. As a

visual aid to help understand the flow of logic for this section, please refer to this section’s

corresponding flowchart (Figure 5.2.5.2-c).

5.5.2.3 Bluetooth Output from Microcontroller

The microcontroller will also be used to output data to the EASI smartphone app on the paired

smartphone through a connected Bluetooth module. The distance to the detected object calculated

earlier (in section 5.4.2.1) will be sent to the paired smartphone using one byte of data. Only one

byte of data is needed because the calculated distance will be between zero and nine feet which

can be represented in a single character. The microcontroller will send the character corresponding

to the number of feet to the detected object between two and nine feet. Between zero and two feet,

the character ‘0’ will be sent. This will allow the smartphone app to send a single warning for

distances falling within this range. As a visual aid to help understand the flow of logic for this

section, please refer to this section’s corresponding flowchart (Figure 5.2.5.2-d).

5.5.2.4 Direction Sensing Input to Microcontroller

In order to sense approaching objects that are not directly in front of the user, two additional

sensors mounted on top of a servo will be used to detect if there is an object in front of and to the

left of the user or if there is an object in front of and to the right of the user.

If the left direction sensor detects an object to the left of the user within five feet, sole4 will be

raised (refer to Figure 5.2.5.2-a). Otherwise, if an object is detected greater than five feet away

from the user, sole4 will be lowered. If the right direction sensor detects an object to the right of

the user closer than five feet, sole5 will be raised. Otherwise, if an object is detected greater than

five feet away from the user, sole5 will be lowered. For each case, the appropriate solenoid will

remain raised until additional sensor data is received. As a visual aid to help understand the flow

of logic for this section, please refer to this section’s corresponding flowchart (Figure 5.2.5.2-e).

We considered the potential problem of crosstalk between our different sensing systems. Upon

testing, it was determined that there was definitely a problem with crosstalk between the direction

sensing sensors and the distance sensing sensor. To solve this problem, each sensor was only

powered on when it they were needed to get new sensor data. Each sensor took turns being powered

on so that crosstalk between the sensors would be eliminated.

University of Central Florida Page 96 EEL 4915

Electrical Engineering Department

6. Project Prototype Construction and Coding

The project prototype and construction section includes the details of how the electrical schematics

and the final plan for the final PCB construction and assembly. The schematics will include a

visual of the schematic itself and the breadboard assembly. The PCB section will describe the

possible venders and plan for assembly and construction. Included in this section is the final coding

plan which will outline the final planned programming features involved in our design.

6.1 Integrated Schematics

This section includes the various electrical schematics. It is from these schematics that we will

derive the PCB layout. It is also from the schematics that we will test and possibly perform circuit

analysis to determine if there is a better and more efficient way to design the flow of electricity

within our design. These equations will be presented along with the data in the testing section if

they become needed. As with any design the schematics below were first pulled from the

datasheets and then altered to suit our design needs. We will start off with the power system

schematic and with the complete schematic design

6.1.1 Power System Schematics

The power systems schematic is the heart and soul of our design. The initial design for our power

system separated the schematic into two: one being a battery charging schematic and one being a

power regulation schematic. However, as we first designed the battery charging schematic we

realized that only two buck DC-DC converters were necessary to provide the circuit with the

regulated power the circuit required. Due to the limited components and the advantages of

simplifying our design and possibly making a smaller PCB we decided to combine the two

schematics.

Below is the power systems schematic shown in Figure 6.1.1-a and the breadboard construction

shown in Figure 6.1.1-b.

Figure 6.1.1-a Power Systems Schematic

University of Central Florida Page 97 EEL 4915

Electrical Engineering Department

Figure 6.1.1-b Power Systems Bread Board

6.1.2 Tactile Feedback System Schematics

This section details the schematic design process for the tactile feedback system. In it, captures of

the schematics will be included, as well as an explanation of all key elements and features of the

schematic, and a photo of the circuits assembled on a solderless breadboard. In the end, we ended

up having two design versions, with the second ending up in the final prototype. The first version

uses both an astable and monostable timer to generate the timing signals to achieve the behavior

outlined in section 5.3.4. Due to some issues with troubleshooting and deadline constraints, we

opted to use a less power efficient second version, which only uses the monostable pulse and

replaces the pulsed timing signal with a simple current limiting series resistor.

6.1.2.1 Vibration Subsystem Schematics

Designing this subsystem primarily composed of interfacing ICs with one another, and ensuring

proper interface from the microcontroller I/O, and motor outputs. Referencing the datasheets for

the DRV2605 haptic driver and the TCA9548A I2C 8-Channel Switch is crucial for ensuring

proper bus currents and pin configurations. In addition, Adafruit makes their breakout PCB layouts

and schematics open-source [10] [11], which were invaluable as references for standard, best-

practice wiring. Below, the complete schematic created in EagleCAD is shown:

These chips have a wide range of valid VCC values. According to the datasheet for the

ATSAMD21G18 , the ARM microcontroller on the Arduino Zero board, the operating voltage of

the ATSAMD21G18 is 1.62-3.63V, which means we will be using a 3.3V line to power it. For the

sake of convenience, it makes sense to use this same voltage input as VCC to power these two ICs,

since 3.3V is safely within their operating range.

University of Central Florida Page 98 EEL 4915

Electrical Engineering Department

Figure 6.1.2.1-a Vibration Subsystem Schematic

The basic I/O configurations can be inferred from the datasheet sections “Pin Functions”. For the

DRV2605, the on-chip voltage regulator output VREG must be connected to a 1uF capacitor, and

if unused can be tied to ground. The IN/TRIG pin is a multimodal (PWM, edge triggered, or

analog) input, configured via I2C. Since we will be doing all control via I2C, this pin is not used

and therefore must be grounded. EN is an active high device enable signal, so currently since there

is no need to disable these controllers, it can be left high. If we were to implement a device-scale

low-power mode, the microcontroller may instead set this pin to disable these chips in a low-power

state. OUT+ and OUT- are simply the PWM outputs which will power and control the vibration

motor.

For the TCA9548A, the pins A0-A2 are I2C address configuration pins. They allow the designer

to vary the address of the IC between 0x700 and 0x707. This allows up to eight of these

multiplexers on the same bus, and allows avoiding collisions with other slave devices with

addresses in this range. Since we only have one of these on the bus, and since there is no need to

adjust the device address, so according to the datasheet we may connect the pins directly to ground

to leave the address at 0x700. The unused SDA and SCL outputs can be left floating, since they

are output pins. The SCLPU and SDAPU devices shown are solder jumpers, which are pads on

the PCB that can be opened/closed with solder, for the purpose of more rapid prototyping and

circuit modifications after the PCB has been printed. They are present on the Adafruit breakout,

and are likely there in case the microcontroller the board is connected to has internal pullups

University of Central Florida Page 99 EEL 4915

Electrical Engineering Department

enabled. They have been left in the design above, however they may be removed in layout design

if they are found to be not needed.

The capacitors between the VCC and ground pins of the ICs are decoupling capacitors, to isolate

the power bus from ground noise. The datasheets indicate 0.1uF capacitors should be sufficient,

however the values in the design above were the ones used in the Adafruit breakouts. In general,

logic level ICs typically use values between 0.1 and 10uF, so the values used should be sufficient.

Further analysis would be required if high frequency noise was expected in the circuit.

Finally, as shown by the I2C bus specification [12] and the IC’s datasheet, an I2C bus should be

tied to VCC via pullup resistors. Without pullups, the I2C signals’ rise time will be too long, and

thus they will not be able to reach HIGH before the next bit is sent. The Adafruit breakout

schematics use 10kOhm resistors for this purpose, however just to confirm that these values are

within acceptable range, we can again refer to the I2C bus standard for the standard method of

calculating the pullup range. To find the minimum value for Rp, we must know the maximum

output-LOW voltage and current VOL and IOL, as well as the reference voltage VCC. For both the

microcontroller bus and the multiplexer bus, these values are listed in the datasheets as VOL = 0.4V

and IOL = 3mA. Therefore, the minimum pullup resistance RP(min) = 1kOhm. The maximum value

can be calculated from the I2C bus capacitance and Cb and the maximum rise time tr. Both the TI

reference document, and the TCA9548A datasheet, list the maximum bus capacitance (Cb) in

normal mode as 400pF, and the maximum rise time as 1000ns. According to the pullup resistor

calculation, in order to 10kOhm to fall under the maximum, the total bus capacitance of this circuit

must be under 118pF. I could not find the I2C output capacitance in the microcontroller datasheet,

however the TCA9548A and DRV2605 do list theirs, and as they are on the order of 1 to 10 pF,

and since the traces will likely be very short, it is very unlikely that the bus capacitance will exceed

118pF and hence 10kOhm is very likely an acceptable value. Scoping the I2C bus on breadboard

tests to demonstrate an acceptable rise time, or directly measuring the capacitance of the final bus

on breadboard would verify these values are acceptable. Such breadboard tests would in fact

overstate the end bus capacitance, as the wire capacitance on breadboard jumpers is likely much

higher than that of PCB traces.

6.1.2.2 Actuator Subsystem Schematics

The actuator subsystem schematic shown below uses dummy components, however given that we

know the electrical characteristics of both the solenoid and the microcontroller PWM signal, we

can list the parameters by which we will select real components to replace them. In order to do this

selection, we must first determine how to custom components in EagleCAD and what the footprint

of each component must look like. The circuit’s overall structure is based on the model discussed

in section 5.2.4. Additionally, the circuit used for the final PCB layout will contain one of the

shown circuits for each solenoid (seven in total), all connected to the same 5V line.

University of Central Florida Page 100 EEL 4915

Electrical Engineering Department

Figure 6.1.2.2-a Actuator Subsystem & I/O Header Schematic (Rev 2)

The solenoid leads will connect to the +SOL and -SOL solder pads, and the input controlling PWM

signal from the microcontroller will connect to the DIG_IN net. The first two components which

must be selected are the N-Channel MOSFETs, and the flyback diode. In choosing a diode, there

are two primary parameters we need be concerned with: it’s breakdown voltage, and its maximum

forward current. The breakdown voltage simply must exceed the 5V supply voltage by a safe

margin, as in normal operating conditions it will be reverse biased at that voltage. Similarly, the

diode must be able to conduct at least as much forward current as the solenoid’s rated current draw

(for our solenoid, that is 1.1A). Whenever the solenoid actuates, it can produce strong spikes of

negative voltage that would normally damage the MOSFET. The flyback diode will become

forward biased by this negative voltage, giving the current a safe path to loop through it and the

solenoid until it dissipates through the solenoid’s internal resistance.

In choosing a MOSFET, there are a few more parameters to keep in mind. The first and simplest

is its maximum IDS. This is the current that will pass from drain to source when the switch is open.

Since this current will be equal to the current passing through the solenoid, it must be at least as

large as the solenoid’s rated current, 1.1A. Related to this is the maximum drain to source voltage,

VDS. This will be equal to the voltage across the output minus the voltage drop across R3, which

can still be approximated to 5V, as R3 will be small. The final main characteristic we must consider

is the MOSFET’s threshold voltage, VGS(th). This is the voltage at or above which the switch will

open and allow current to flow through the solenoid. It is therefore dependent on the output logic

levels of our microcontroller, the ATSAMD21G18. According to its datasheet, the maximum

output voltage at logic LOW is 0.2 ∗ 𝑉𝐷𝐷 = 0.2 ∗ 3.3 = 0.66𝑉, and the minimum output voltage

at logic HIGH is 0.8 ∗ 𝑉𝐷𝐷 = 0.8 ∗ 3.3 = 2.64𝑉. We must therefore choose a MOSFET which has

University of Central Florida Page 101 EEL 4915

Electrical Engineering Department

a VGS(th) between these two values, rated for the estimated logic LOW leakage current. Finally, we

must consider RDS, which is the resistance across the drain-source terminals when the gate is open.

This will determine how much power the MOSFET will dissipate, so we should keep this value as

small as possible.

Each GPIO input has a small series 150Ω resistor to protect the MCU outputs from current

overdraw in the event of accidental shorts. In addition, there is a 10kΩ pulldown resistor for each

input, to give the FET gate a path to discharge and pull the logic level low. In the first design

version, the 4.7Ω resistor R1 is replaced with a direct connection to the pulsed power signal

generated using the astable 555 timer. The second version, which is the version shown in Figure

6.1.2.2-a, uses a series resistor in place of the pulsed power signal to reduce current at the cost of

increased power consumption.

Figure 6.1.2.2-b Timer Schematic Diagram. Rev. 1

University of Central Florida Page 102 EEL 4915

Electrical Engineering Department

Figure 6.1.2.2-b above shows the first revision of the solenoid control timer circuit. It implements

all of the techniques discussed in section 5.3.4, along with an OR gate ensure the monostable timer

is triggered any time any one of the solenoids is actuated. A MOSFET switch is used at the power

input of the astable timer to disable it when no solenoids are actuated. Upon implementing this

design, we found what appeared to be switching parasitics in the astable output signal, and

unfortunately due to time constraints we were unable to determine a solution using this design.

Therefore, the second revision, shown below, is what we ultimately used in the final prototype.

Figure 6.1.2.2-c Timer Schematic Diagram, Rev. 2

6.1.3 Microcontroller Schematics

The Microcontroller schematic is at its core simple. For the most part the schematic simply has

connections from the various outputs and inputs of our circuit and connecting them to the

microcontroller. Each component is powered separately from the Power System schematic above

as that power system schematic provides a 3.3V, and 5V bus to power our various components

and the microcontroller itself. Below is the are the schematics for the microcontroller: Figure 6.1.3-

a shows MCU 1, Figure 6.1.3-b shows MCU 2, Figure 6.1.3-c shows the Bluetooth portion and

the breadboard construction shown in Figure 6.1.3-d.

University of Central Florida Page 103 EEL 4915

Electrical Engineering Department

Figure 6.1.3-a Microcontroller MCU 1 Schematic

Figure 6.1.3-b Microcontroller MCU 2 Schematic

University of Central Florida Page 104 EEL 4915

Electrical Engineering Department

Figure 6.1.3-c Microcontroller Bluetooth Schematic

Figure 6.1.3-d Microcontroller Bread Board

University of Central Florida Page 105 EEL 4915

Electrical Engineering Department

6.1.4 Complete Schematic Design

This section is the compilation of the 3 above chips for potentially making one fully functional

PCB. As stated above we plan to create 3 individual PCB’s to ensure the working functionality of

each. However, the ultimate goal is to combine them into one design. The advantages of this are

the reduction in size and the ease of assembly of our design. The disadvantage of this is the

possibility of component or PCB failure. An all in one design is ideally the best but requires a lot

more development time to ensure all the circuits work well and fit within the confines of your

PCB. The other issue is the pressure of the deadline to ensure that this prototype works. If a

complete PCB fails, you suffer a complete failure but if you have several working smaller PCB’s

you can make it work on the fly by swapping out damaged sections.

Due to the size of the tactile breadboard we found it easier to simply utilize the working pcb. Below

is the completed construction of the entire circuit.

Figure 6.1.4-a Microcontroller Bread Board

6.2 PCB Vendor and Assembly

We have researched the general process for designing and printing them, what design tools we will

use, what manufacturer service we will use, and what the general structure will look like. We ended

up with three design revisions for our power system PCB, and two for the tactile system PCB.

University of Central Florida Page 106 EEL 4915

Electrical Engineering Department

6.2.1 Structure

The current plan is to have two PCBs in the final product: one which houses the power regulation

and USB charging circuits, and one which houses the tactile feedback system control circuitry. We

are planning on leaving the ATSAMD21G18 mounted on the Arduino Zero development board.

Dedicating design resources to laying out a dedicated PCB for the microcontroller and Bluetooth

module, or expanding the tactile control PCB to house them, would be ideal for power

consumption optimization and substantially reducing the size of the system, however currently we

simply do not feel we have the time or resources to accomplish this. If we are overestimating the

difficulty of this task and end up with design resources to spare, or if we find that our initial plans

would simply be too large and heavy to meet our engineering requirements, then we will adopt

these changes. Especially since it is a handheld device, and it is meant to be discreet, space is an

absolute premium and any size reductions will greatly improve the product’s appeal and

marketability.

Figure 6.2.1-a PCB Physical Interface Diagram

The interface diagram above clearly defines the concrete I/O between each discrete component in

the final product, including the planned I/O through the PCBs. The current plan would have the

Arduino Zero as a drop in for the microcontroller block, however given sufficient design resources

we could also design a custom PCB to fill that role.

6.2.2 Design Plan

University of Central Florida Page 107 EEL 4915

Electrical Engineering Department

To design the PCB, we will be using the EagleCAD PCB design software. We currently have some

of our designs created in the Eagle Schematic editor, and some built in National Instruments

Multisim. Below, all of the specific steps we will need to take to produce final PCBs for test. This

process will be applied to both the power system PCB and the Tactile feedback PCB first, then if

we have design resources to spare we will also apply it to a microcontroller PCB we design. Given

the relative simplicity of our circuits, our current plan is to design for a two-layer PCB.

Additionally, we plan on using Advanced Circuits to print the PCB, as they have very fast turnover

along with good student pricing.

1. We must first complete any breadboard verification tests of these schematic designs

necessary to independently demonstrate individual subsystem circuit functionality.

2. We then will need to do interface testing between any of these circuits that will exist on

the same PCB, so that intra-PCB functionality is verified to the point that any issues

encountered post fabrication can be attributed to layout bugs and not design/schematic

issues

3. We must port all schematics not currently in EagleCAD into its schematic design tool, and

integrate any schematics which will share a PCB into one project.

4. Any dummy/ideal circuit components used in initial designs must be substituted for real

circuit components

5. Once a PCB’s schematic has been unified, we can use Eagle’s Generate/Switch to Board

tool to port all nets and schematic component footprints into Eagle’s board layout editor.

All pin connections between components will be represented by thin, translucent gold lines

known as airwires.

6. From here, the component footprints can be moved into the arrangement they will be in on

the PCB. Below are some heuristics for creating a good component layout:

a. The end goal should be creating a PCB with the smallest possible surface area.

Minimizing overall size is a massive priority for this project, and in general a PCB

is more expensive the larger it is.

b. Minimize intersections between airwires. Since, in the final routing stages, no

traces on the same layer can cross, so the fewer of these intersections there are, the

simpler routing will be. Too tangled a ratsnest can make routing impossible given

a limited number of layers to work with. The Ratsnest tool can be used to force a

recalculation of airwires

c. Leave adequate space between components and pins. Overlapping pins will cause

shorts, and placement too close to exposed copper pads can also lead to shorts.

Additionally, be mindful of any special case placement considerations, such as

keeping decoupling capacitors as close to their IC as possible.

7. Adjust the board dimensions to fit around all of the board components, while minimizing

excess space and being sure to not cut off components at the edge

8. Select either the top or bottom layer, and use the Route tool to begin replacing airwires

with traces, such that they do not cross over any vias or other traces. Vias pass copper

through the substrate to connect traces between layers. Use a trace width calculator to

determine how wide each trace should be given how much current it is expected to have to

pass.

University of Central Florida Page 108 EEL 4915

Electrical Engineering Department

9. If ever unable to find a valid trace path, the Autoroute tool can be used to attempt

algorithmically finding a solution. This will not always work, and may take some time to

complete.

10. Use the Ratsnest tool to verify all required traces have been drawn.

11. The design must now be checked for any broken design rules. Each PCB manufacturer has

their own set of design rules (minimum component spacing, trace widths, hole sizes, etc.)

which must be followed. Eagle has its own design rule check tool, in which the designer

may manually enter rules or read them in from a .DRC file. If no such file is provided, the

manufacturer will often provide their own tool for doing so.

12. Once DRC is passed, all that is left to do is add silkscreen labels to pins, ports, I/O, and

devices.

13. Finally, use Eagle’s CAM processor to generate the required gerber files for

manufacturing. Each vendor will have different specifications for packaging and

formatting the repository. Be sure to comply with them before submitting a design.

6.2.3 Power/MCU/Bluetooth PCB

The power/MCU/Bluetooth PCB was initially all considered separate however due to the issues of

having so many wires in a small space it made sense to try and combine everything. Through the

course of our device development we had 3 revisions of our PCB with the third revision having 2

versions. Each revision will be described in detail below and the issues we had with it.

6.2.3.1 Revision 1

The revision 1 took a very barebones approach. We were initially worried about processing power

so a 2nd MCU was added to help save time in case it was needed. This 2nd MCU was used for the

Bluetooth with lines sent directly to the MCU from the Bluetooth module. This pcb design tried

to remove all components necessary to save on cost and space. Below is the layout and PCB

shown in Figure 6.2.3.1-a and Figure 6.2.3.1-b respectfully

University of Central Florida Page 109 EEL 4915

Electrical Engineering Department

Figure 6.2.3.1-a Revision 1 Layout

Figure 6.2.3.1-b Revision 1 PCB

6.2.3.2 Revision 2

The revision 2 was made after initially trying to program revision 1. We found that though the

power circuit worked perfectly we could not program the MCU. The cause of this problem was

that the MCU did not have a boot loader. Because we took a barebones approach we did not

include the debug pins for the MCU’s. This made it impossible to program. The revision 2

addressed these issues by making it so every pin of each MCU was accessible. This allowed for a

lot more flexibility and would allow us to solder wires on to program it. Below is the layout and

PCB shown in Figure 6.2.3.2-a and Figure 6.2.3.2-b respectfully

Figure 6.2.3.2-a Revision 2 Layout

University of Central Florida Page 110 EEL 4915

Electrical Engineering Department

Figure 6.2.3.2-b Revision 2 PCB

6.2.3.3 Revision 3

Revision 3 was the combination of trying everything we could to produce working PCB’s. Version

2 as we found could be programmed successfully however not matter how we tried to program the

PCB we could not output the program to the pins. We never determined if it was hardware or

software but due to time constraints as group leader I decided to sacrifice my work for the sake of

improving other areas of the project allowing for a more finished product by the deadline. Version

A however focused on trying to tweak the crystal circuit and make less sharp corners for the digital

pins. It also made the programing pins more accessible while removing things like usb and

Bluetooth. We removed Bluetooth as it was easier to upgrade the firmware as a standalone. By

removing these things we also cut the cost of the PCB board significantly. Only a single MCU

was used as through software optimization we found we only needed one MCU for our design’s

function. Version B is a pcb with only power in mind. The power circuit worked on all versions

of the PCB and was needed to power the tactile actuators. This Version was the one used in our

final design as despite efforts and a lack of time we could never program the MCU to output to the

pins. Below is the layout and PCB of version A shown in Figure 6.2.3.3-a and Figure 6.2.3.3-b

respectfully. Figure 6.2.3.3-c and Figure 6.2.3.3-d show the layout and PCB of version B

Figure 6.2.3.3-a Revision 3a Layout

University of Central Florida Page 111 EEL 4915

Electrical Engineering Department

Figure 6.2.3.3-b Revision 3a PCB

Figure 6.2.3.3-c Revision 3b Layout

Figure 6.2.3.3-d Revision 3b PCB

University of Central Florida Page 112 EEL 4915

Electrical Engineering Department

6.2.4 Tactile Feedback System PCB

As discussed in section 6.1.2, we went through two revisions of tactile feedback system design.

The PCB layout and assembled board for the first revision can be seen below:

Figure 6.2.4-a Revision 1 Layout and PCB

University of Central Florida Page 113 EEL 4915

Electrical Engineering Department

This 2.59 x 2.5-inch board has two layers and uses all surface mounted components. The second

board, shown below, was 2.6 x 2.35-inches, and additionally had some of its components mounted

on the bottom layer to make routing easier. As previously stated, this board is the one in the final

prototype.

Figure 6.2.4-b Revision 2 Layout and PCB

University of Central Florida Page 114 EEL 4915

Electrical Engineering Department

6.3 Final Coding Plan

Sections below are final combine flowcharts for mobile application and microcontroller software

including detail explanations of each flowchart.

6.3.1 Final Coding Plan Smartphone

The final coding plan for the mobile application software combine all the functions described in

section 5.5.1. These functions are: navigation mode, audio ping mode and audio voice mode. Since

the program code for the mobile application software must be a single program stored in the mobile

device, each of these functions must be combined in a way that allows the code to be continuously

run. How this combination will be achieved is discussed below and is illustrated in the figure

further below (Figure 6.3.1-a).

The software program will first check to see if there is and data received from the microcontroller.

If there is any data, next block of the diagram will check to see if it is object’s left position data, if

the left position is received, the program will then check to see if the audio voice mode of the

application is on or off. The data will then process into voice prompt and get to send over to the

Bluetooth headset to alert the users. If the data from the microcontroller is not the object’s left

position, then it will check to see if it is object’s right position. Voice mode on/off will then get

check and if the mode is on, the data will then process into voice prompt and get to send over to

the Bluetooth headset to alert the users. If the microcontroller data is not the left or right position

of the objects and then would be the distance to that object. Then the program will check if the

audio ping mode of the application is in on or off position, if the mode is on, the program will

check for the distance data. The distance data will be check in three groups, distance between two

meters and three meters, between two meters and one meter, and less than one meter. At each

group of distance, program will then check for another sublevel of distance groups; for the two

meters to three meters’ group example, if it is between 2.666 meters and 3 meters, the pulse ping

in the Bluetooth headset will be at slow speed; if it is between 2.333 meters and 2.666 meters, the

pulse ping will be at medium speed; if it is between 2 meters and 2.333 meters, the pulse ping will

be at high speed. The program will check for the same thing in one to two meters’ group, and less

than one meter and pulse the same ping level according to the distance level like in other groups

to the users Bluetooth headset. If it is not the object’s distance data sent to the application or the

audio ping mode is not on, the software will continue to wait for data and process the data from

the beginning.

If there are no data received from the microcontroller, the program will then check to see if any

data received from the HERE Maps API. The HERE Maps API will consist of the direction

navigations to the destination that the users selected, the program will only process the left turns,

right turns, and distances to each of the turn. Those data will then get send to the tactile system of

the device to guild users to their destinations. If there are no data received from the HERE Maps

API, the program will continue to cycle back and wait for data and process them from the

beginning.

University of Central Florida Page 115 EEL 4915

Electrical Engineering Department

Figure 6.3.1-a Mobile Application Flowchart

University of Central Florida Page 116 EEL 4915

Electrical Engineering Department

6.3.2 Final Coding Plan Microcontroller

The final coding plan for the microcontroller subsystem combines all the functions described in

section 5.5.2. These functions are: distance sensing input to microcontroller, Bluetooth input to

microcontroller, Bluetooth output from microcontroller, and direction sensing input to

microcontroller. Since the program code for the microcontroller must be a single program stored

in the microcontroller’s ROM, each of these functions must be combined in a way that allows the

code to be continuously run until the device is powered off. How this combination will be achieved

is discussed below and a rough coding flowchart is illustrated in the figure further below (Figure

6.3.2-a).

The program first gets new data from the left direction sensor. If the calculated distance to the

object detected is less than five feet, the left direction solenoid is raised and Bluetooth module is

instructed to transmit a symbol indicating an object is to the left to the paired smartphone.

Otherwise, the left direction solenoid is lowered. Once the left direction sensor input to the

microcontroller code block has been completed, execution of the next code block begins.

Next, the program gets new data from the right direction sensor. If the calculated distance to the

object detected is less than five feet, the right direction solenoid is raised and Bluetooth module is

instructed to transmit a symbol indicating an object is to the right to the paired smartphone.

Otherwise, the right direction solenoid is lowered. Once the right direction sensor input to the

microcontroller code block has been completed, execution of the next code block begins.

After that, the program gets new data from the distance sensor. The program then calculates the

distance to the object and instructs the Bluetooth module to transmit that distance in feet to the

paired smartphone. Next, the distance is used to determine which of the three distance sensing

solenoids or if any should be raised and how fast to pulse one of the vibrators. The process for

determining this is described in greater detail in section 5.5.2.1. Once the combined distance

sensing input to the microcontroller and Bluetooth output from the microcontroller code block has

been completed, execution of the next code block begins.

The final code block of the program begins by determining if new data has been received from the

Bluetooth module. If no new data was received, this block of code is skipped and the program

immediately begins execution of another loop of the code. If new data was received, the program

then parses that data to get the next navigation action and distance until that action needs to be

performed. The two navigation solenoids are raised or lowered depending on if the next navigation

action is a left or right turn. Also, one of the vibrators is pulsed according to the distance until the

action needs to be performed. The process for determining which solenoids are raised and lowered

and how many times the vibrator is pulsed is described in greater detail in section 5.5.2.2. Once

the Bluetooth input to the microcontroller code black has completed, execution then loops back to

the beginning of the program so that the program can run continuously on the microcontroller until

it is powered off.

University of Central Florida Page 117 EEL 4915

Electrical Engineering Department

Figure 6.3.2-a Microcontroller Combined Flowchart

University of Central Florida Page 118 EEL 4915

Electrical Engineering Department

7. Project Prototype Testing Plan

Section 7 will be about many different testing plans, testing environments and testing cases for

hardware and software components of the projects.

7.1 Hardware Test Environment

The approach we will be taking in verifying basic system functionality and validating specification

compliance will be a bottom-up approach. In general, we will strive to isolate the smallest possible

system units which can be independently breadboarded and stimulated, use lab equipment to

simulate expected interface inputs to that unit, then monitor output signals and behavior to verify

that they behave as expected.

7.2 Hardware Testing

The section below consists of the systematic tests of hardware. Though each component

was tested on their own, the PCB’s designed by us were each tested in similar fashion. Though

this process was important it was done in a basic way, ensuring that there are no shorts and that

each circuit board line is correct. This testing was done with a multimeter first testing resistance

and then with DC voltage to ensure both was correct before connecting it to our components.

7.2.1 Sensor Testing

The sensor testing was done to compare each type of sensor and how it would effect our

design. Each sensor regardless of beam had a range that far exceeded what our project needed.

However, upon testing we found that the narrow beam sensor could not sense people beyond 5

feet. The wider beam sensor detected people between 7-9 feet, this data was supported by

recommended applications for each sensor found in the data sheet. In Figure 7.2.1-a, our results

for testing each sensor at varying distance

Figure 7.2.1-a Sensor Testing Data

Cork Board 132 132 132

Cork Board 108 108 108

Cork Board 84 84 84

Cork Board 60 60 60

Cork Board 48 48 48

Cork Board 36 36 36

Cork Board 24 24 24

Cork Board 12 12 12

2x2 Vertical 132 134 132 36

2x2 Vertical 108 107 12 107 36

2x2 Vertical 84 83 12 83 48

2x2 Vertical 60 60 12 59 36

2x2 Vertical 48 48 8 48 36

2x2 Vertical 36 36 12 35 24

2x2 Vertical 24 23 12 23 24

2x2 Vertical 12 12 6 11 10

Object

MaxSonar EZ4 MaxSonar EZ1

Actual

Distance

Detected

Distance

Detection

Spread

Detected

Distance

Detection

Spread

University of Central Florida Page 119 EEL 4915

Electrical Engineering Department

7.2.2 Power Testing

The battery was tested using a cycling program that turned each actuator on and off in succession.

This was done over a period of 12hrs measuring the voltage of the battery every 30min. The results

of this was just shy of 12 hours but this was with heavy usage. On the charging side, it was easier

we waited for the battery to fully die and then we charged it. Due to our battery manager, we could

simply monitor the charging status light. Once the light went out the battery was fully charged.

After several attempts the average charge time was 6-6.5 hours.

Figure 7.2.1-a Battery Testing Data

7.2.3 Tactile System Testing

Most testing for this system took place on breadboard. The first stage, as mentioned in section

5.3.4, was to connect the actuators to a DC power supply and experimentally determine their

actuation and holding current. After conceiving the design, we built the circuit on a breadboard

(shown below) to ensure it functioned as expected, and to tweak timer configurations for optimal

power consumption. Below is a picture of the final breadboard setup used to test a single actuator:

University of Central Florida Page 120 EEL 4915

Electrical Engineering Department

Figure 7.2.3-a Actuator Breadboard Setup

The topmost rail is connected to 5VDC and the rail below it is connected to 3V3DC. The

pushbuttons in the center are used to simulate GPIO inputs, and could be readily swapped for

actual GPIO from an MCU for software testing. Beyond breadboard testing, the assembled PCBs

had to be tested to ensure no soldering or assembly errors had been made. After all ICs were

mounted to the boards, each adjacent pair of pins were probed with an ohmmeter to ensure they

hadn’t been shorted together, and similarly probed across all resistors to ensure they were the

correct value. From here, the timers could be independently powered, and their outputs probed.

This stage is what ultimately revealed the issue with the first revision board, which lead to the

development of the second revision. Given the timers work without issue, the actuators are then

connected and further testing is only done if they do not behave as intended.

While there is electrical testing that can be done to troubleshoot an I2C implementation, it was not

necessary for us. After connecting to the MCU, simple code can be run which will detect all I2C

devices on the bus and stimulate them. Given that this testing functioned as-intended, there was

no need to delve deeper.

7.3 Software Test Environment

In this section will be about the software testing environments of the mobile applications and

microcontroller.

University of Central Florida Page 121 EEL 4915

Electrical Engineering Department

7.3.1 Mobile application testing environment

In the testing environment, many devices with different age and different versions of Android are

included, to give the testing more accurate on how the application would perform. Testing the

application on different phone’s age and Android versions would give the developers more insights

on how the application would runs and performs with the impact of the technology limitations

from older devices or older software versions. Different device manufacturers are also a key factor

in testing environment, manufactures use different hardware designs and component quality in

their phones and that can have the application react differently. Testing for different kinds of inputs

and outputs will also be done, inputs and outputs communications between the application to the

device and back to the application to make sure that all the data is transmitted and received. Each

testing cases will be focus on how each of the function of one specifics component, on how

information is send and receive when the software is running. The inputs and outputs information

has to be received in full or nearly complete for the applications and the device to function

correctly.

The main testers that will be using are mainly the developers first, there are different phone

manufactures, and Android versions among the developers to create enough test cases. Once

further testing is required between the different types of hardware and software, alpha and beta

testers from group of friends and family, and even more bigger testing group of random selections

of people from different cities or even countries with a bigger variety of phone manufactures and

Android version will be chosen to further test the software functionalities. Going for large scale

test groups will required a lot of budgets and it will available and doable until the device is more

known and need to scale bigger to cover more users across countries and continents. Different

people in different backgrounds are using their phones different ways, testing on different groups

of people will give better feedback on how the application is being use and will be study to develop

better version of the application. The software will be tested within the same testing environment

in which the it is being developed and operated on, then it will be expected to branch out and test

on mobile hardware that might or might not be in the same testing environment.

7.3.2 Microcontroller testing environment

The tests for the microcontroller will be tested once inside a building in a large open room and

again outside in an open area. The tests will be conducted in this two different environments to

simulate potential usage of the device and to ensure that everything runs as expected despite

differing lighting conditions. Also, the tests will be conducted one at a time so that each test

independent of each other to ensure that the results are accurate.

7.4 Software Specific Testing

Every project, hardware or software only or both, will have a testing phase in the developing

process, the software testing is design to sort out problems found in the software that can cause the

system to stop working potentially. Verifying and validating through the testing cases will help to

University of Central Florida Page 122 EEL 4915

Electrical Engineering Department

ensure that the software works as planned and meet all the software requirements. Software testing

is to confirm the software functionality performances with little to no errors.

7.4.1 Smartphone

The software testing is done when the software has reached a certain stage of mature development,

means that the software is testable. Most of the features of the software application has been

created and with under certain environments and conditions to test for functionalities. When

software testing, it is important to document steps and re-production rate of the bug, so developers

can recreate the bugs for more testing and debugging. This will include all possible detail of why

a bug happen, and to recreate the steps that caused the bug and following steps to fix it, with

following the document of all bugs found, bugs can be fixed easily by the developers beside a fatal

bug is found. If a fatal bug is found, it will be put on high priority than other bugs and will get

fixing immediately or else further testing will not be done.

The testing procedure will have document type reporting system where tickets will have priority,

steps to recreate the bugs, pictures, and tips on how the bug can be fix. When critical bugs are

found, testing will be stopped to get the bugs fix so more testing can be done on other areas. Once

a feature has been created in the software, testing will be done and will get documented if the bug

is found. It is important to set up timelines and testing criteria before the software is delivered, this

will include testing time to fix the found bugs. This type of testing allow the developers to keep

working on the software and having the option to fix the bugs by looking at the document whenever

possible. If no bugs are found during testing does not mean that the software is completely free of

errors. It is impossible for software to be bug free with the amounts of software and hardware

available today. Software needs to work as planned for the different amount of hardware in the

market, to do this, about ten test cases running on different systems will decide if the software is

good for the current market. It is important that the software is working and performing as planned

before delivering it to the users.

Description of Individual Test Cases

1) Android OS software test (Physical Environment)

• Test Objective: The software should run on Android operating systems without

any error. This test will see if Android is working with different types of

hardware.

• Test Description: This test will determine if the software is able to run in the

Android operating system. Users will be able to open the application and control

the functions to communicate with the device. For testing the software, each

operation must be check, like pressing any button is able to run without crashing

the application. A data file is not needed because the test will rely on the

function of each feature in the software.

• Test Conditions: The Android software is being tested using different kinds of

hardware, old phones with older hardware might not be able to operate to

application. Newer phones should be able to run the software without any error.

University of Central Florida Page 123 EEL 4915

Electrical Engineering Department

• Expected Results: The software is running properly. This test case is to see if

the hardware running Android operating system have any problems with the

software. The result of this test is whether the application is able to open and

run all the functionalities normally.

2) Main screen user interface test (User and Human Factors)

• Test Objective: This test is to determine that the main screen interface is

appearing without any error, simple and easy to use.

• Test Description: The users will be interacting with the software interface, so

it has to be working at all times, for example, the buttons should work properly

when pressed and communicate with the device to change the options. The data

to test the interface will rely on whether the buttons work and the correct

information is show on the screen, and voice prompt will let users know what

position the button is on through the Bluetooth headset. The test will rely on

physically testing the software and see if each button works properly.

• Test Conditions: Every time the users press on any of the buttons, the correct

options will be displayed, and voice prompt will alert users.

• Expected Results: For the main screen interface, it is required that when users

press on any of the buttons, the correct information of the button position is

display and voice prompt will happen to let users know. It is all about whether

the right options are displayed based on the user inputs. If nothing shows up

and changes, there is a problem that need to be address and fix, if a button is

pressed, something should happen.

3) Navigation mode button test (Functionality)

• Test Objective: This test is to determine if the navigation mode is being turn

on or off when pressed.

• Test Description: The users will be interacting with the navigation on/off

button of the software. When users press the button, navigation mode will be

turn on and off and voice prompt will alert the users that the modes have been

turn on or off depend on user’s intentions. Data will be check to see if being

sent successfully to communicate with the device to turn the functions on and

off. Voice prompt will also be check to see if users are being alert every time

the button is pressed.

• Test Conditions: Every time the users press the button, the mode will get turn

on and off, and voice prompt will alert.

• Expected Results: For the on/off button, navigation mode will get to turn on

and off whenever the users press the button. The functions of that specific mode

will get to turn on and off and voice prompt will alert the users that the modes

is on or off. When the button is pressed, something will happen and if nothing

happens, then the button is not working properly.

4) Audio Voice mode button test (Functionality)

• Test Objective: This test is to determine if the audio voice mode button is

pressed.

University of Central Florida Page 124 EEL 4915

Electrical Engineering Department

• Test Description: The users will be interacting with the audio voice on/off

button of the software. When users press the button, audio voice mode will be

turn on and off and voice prompt will alert the users that the modes have been

turn on or off depend on user’s intentions. Data will be check to see if being

sent successfully to communicate with the device to turn the functions on and

off. Voice prompt will also be check to see if users are being alert every time

the button is pressed.

• Test Conditions: Every time the users press the button, the mode will get turn

on and off, voice prompt will alert.

• Expected Results: For the on/off button, audio voice mode will get to turn on

and off whenever the users press the button. The functions of that specific mode

will get to turn on and off and voice prompt will alert the users that the modes

is on or off. When the button is pressed, something will happen and if nothing

happens, then the button is not working properly.

5) Audio Ping mode button test (Functionality) • Test Objective: This test is to determine if the audio ping mode button is

pressed.

• Test Description: The users will be interacting with the audio ping on/off

button of the software. When users press the button, audio ping mode will be

turn on and off and voice prompt will alert the users that the modes have been

turn on or off depend on user’s intentions. Data will be check to see if being

sent successfully to communicate with the device to turn the functions on and

off. Voice prompt will also be check to see if users are being alert every time

the button is pressed.

• Test Conditions: Every time the users press the button, the mode will get turn

on and off, voice prompt will alert.

• Expected Results: For the on/off button, audio ping mode will get to turn on

and off whenever the users press the button. The functions of that specific mode

will get to turn on and off and voice prompt will alert the users that the modes

is on or off. When the button is pressed, something will happen and if nothing

happens, then the button is not working properly.

6) Navigation mode test (Functionality)

• Test Objective: This test is to check whether the navigation modes get to turn

on and off when top button is pressed.

• Test Description: If the users wish to, they have the option to turn the

navigation function of the device on and off. In this test, when the users want

to turn this mode on or off, they must press the top button to get the mode and

voice prompt alert users that the audio ping mode is ready to be turn on or off

depend on the user’s selection. Voice prompt will alert the users that the audio

ping mode has turned on or off.

• Test Conditions: After navigation mode button is pressed, the mode selection

will get to turn on or off.

• Expected Results: Based on the user’s selection, the navigation mode will get

turn on or off after button is being press, voice prompt will alert users that the

audio ping mode is on or off, and the audio ping function on the headphone is

University of Central Florida Page 125 EEL 4915

Electrical Engineering Department

on or off. When the buttons are pressed, the navigation will get to turn on or

off, if nothing happen then the software need to be recheck. 7) Audio ping mode test (Functionality)

• Test Objective: This test is to check whether the audio ping modes get to turn

on and off when top button is pressed.

• Test Description: If the users wish to, they have the option to turn the audio

ping function of the device on and off. In this test, when the users want to turn

this mode on or off, they must press the bottom right button to get the mode and

voice prompt alert users that the audio ping mode is ready to be turn on or off

depend on the user’s selection. Voice prompt will alert the users that the audio

ping mode has turned on or off.

• Test Conditions: After audio ping mode button is pressed, the mode selection

will get to turn on or off.

Expected Results: Based on the user’s selection, the audio ping mode will get

turn on or off after button is being press, voice prompt will alert users that the

audio ping mode is on or off, and the audio ping function on the headphone is

on or off. When the buttons are pressed, the audio ping will get to turn on or

off, if nothing happen then the software need to be recheck.

8) Audio voice mode test (Functionality)

• Test Objective: This test is to check whether the audio voice modes get to turn

on and off when top button is pressed.

• Test Description: If the users wish to, they have the option to turn the audio

voice function of the device on and off. In this test, when the users want to turn

this mode on or off, they must press the bottom left button to get the mode and

voice prompt alert users that the audio voice mode is ready to be turn on or off

depend on the user’s selection. Voice prompt will alert the users that the audio

ping mode has turned on or off.

• Test Conditions: After audio voice mode button is pressed, the mode selection

will get to turn on or off.

Expected Results: Based on the user’s selection, the audio voice mode will get

turn on or off after button is being press, voice prompt will alert users that the

audio ping mode is on or off, and the audio voice function on the headphone is

on or off. When the buttons are pressed, the audio voice will get to turn on or

off, if nothing happen then the software need to be recheck.

9) Application Bluetooth connection status (Quality Assurance)

• Test Objective: This test is to determine if the Bluetooth connection is good

between the software application and the device.

• Test Description: When the application is turned on, it will automatically

connect with the device wirelessly via Bluetooth connection. A voice prompt

will alert the users after they open the applications that Bluetooth connection

has been established. If the connection having trouble and cannot get connected,

then an error voice prompt will alert the users and keep trying to establish the

connection.

University of Central Florida Page 126 EEL 4915

Electrical Engineering Department

• Test Conditions: The application will connect automatically with the device

once turned on.

• Expected Results: The application will connect to the device after turning on,

and voice prompt will alert the users that connection is successful. If connection

is unsuccessful, voice prompt will alert users and keep trying to connect. If

Bluetooth connection cannot be established after many tries, or the applications

failed to alert the users, then the software need to be recheck.

10) Application upkeep (Quality Assurance)

• Test Objective: This test will determine if the application is functioning the

way it supposed to be, and to see if it needs any improvement.

• Test Description: Application upkeep will make sure that it is running and

functioning the way it was design to do. Many tests will be applied like pressing

buttons, cycling modes, turning modes on and off, checking for voice prompts,

and Bluetooth connection status to see if any error appear, or to see if there are

any improvements can be made to make the application work better and look

better.

• Test Conditions: All buttons need to work the way they supposed to work with

no errors occur.

• Expected Results: All the buttons work, modes can be cycle and turn on and

off following the inputs with no errors, Bluetooth connections is established

every time the application is open. If any functions are not working the way it

is supposed to, then software need to be recheck. Any improvement suggestions

can be made on the application need to be documented and review to make the

adjustments.

7.4.2 Microcontroller

The tests specified below will attempt to test all of the functionalities of the microcontroller

discussed in detail in section 5.5.2. The tests will be thorough and will be repeated until consistent

conclusive results are obtained.

Description of Individual Test Cases

1) Bluetooth transmission test (Functionality)

• Test Objective: This test is to determine if the microcontroller can successfully

instruct the connected Bluetooth module to send data to the paired smartphone.

• Test Description: A specific software program will be written with the sole

purpose of testing the Bluetooth transmission functionality. The Bluetooth

module will be instructed to send specific packets of data to the connected

smartphone.

• Test Conditions: Data is able to be transmitted from the Bluetooth module

connected to the microcontroller to the paired smartphone.

• Expected Results: After the data is sent from the Bluetooth module connected

to the microcontroller, the tester should be able to consult the paired smartphone

and ensure that the original data sent matches the data received.

University of Central Florida Page 127 EEL 4915

Electrical Engineering Department

2) Bluetooth receiving test (Functionality)

• Test Objective: This test is to determine if the microcontroller can successfully

receive data from the connected Bluetooth module that was transmitted to it

from a paired smartphone.

• Test Description: A specific software program will be written with the sole

purpose of testing the Bluetooth receiving functionality. The paired smartphone

will send specific packets of data to the Bluetooth module connected to the

microcontroller. The microcontroller will then receive the packets and parse the

data to obtain the expected input.

• Test Conditions: Data is able to be received from the Bluetooth module

connected to the microcontroller from the paired smartphone.

• Expected Results: After the data is sent from the smartphone paired to the

Bluetooth module connected to the microcontroller, the microcontroller will

process the received data and will raise a specified solenoid to indicate that the

test was successful.

3) Bluetooth receiving left turn action test (Functionality)

• Test Objective: This test is to determine if the microcontroller can successfully

receive a parse a left turn action from the connected Bluetooth module that was

transmitted to it from a paired smartphone.

• Test Description: Data that indicates a left turn action needs to be taken will

be sent from the paired smartphone to the Bluetooth module connected to the

microcontroller. The microcontroller will then receive the data and parse the

data to determine that and left turn action needs to be taken. The feedback

provided to the user will be recorded.

• Test Conditions: The appropriate solenoids should be raised and lowered.

• Expected Results: After the data is sent from the smartphone paired to the

Bluetooth module connected to the microcontroller, the microcontroller will

process the received data and will determine that a left turn action needs to be

taken. The microcontroller will then indicate this to the user by raising sole6

and lowering sole7.

4) Bluetooth receiving right turn action test (Functionality)

• Test Objective: This test is to determine if the microcontroller can successfully

receive and parse a right turn action from the connected Bluetooth module that

was transmitted to it from a paired smartphone.

• Test Description: Data that indicates a right turn action needs to be taken will

be sent from the paired smartphone to the Bluetooth module connected to the

microcontroller. The microcontroller will then receive the data and parse the

data to determine that a right turn action needs to be taken. The feedback

provided to the user will be recorded.

• Test Conditions: The appropriate solenoids should be raised and lowered.

• Expected Results: After the data is sent from the smartphone paired to the

Bluetooth module connected to the microcontroller, the microcontroller will

process the received data and will determine that a right turn action needs to be

taken. The microcontroller will then indicate this to the user by raising sole7

and lowering sole6.

5) Bluetooth receiving distance to action test (Functionality)

University of Central Florida Page 128 EEL 4915

Electrical Engineering Department

• Test Objective: This test is to determine if the microcontroller can successfully

receive and parse a left turn action and the distance to the action from the

connected Bluetooth module that was transmitted to it from a paired

smartphone.

• Test Description: Data that indicates a left turn action needs to be taken in

100ft will be sent from the paired smartphone to the Bluetooth module

connected to the microcontroller. The microcontroller will then receive the data

and parse the data to determine that a left turn action needs to be taken in 100ft.

The feedback provided to the user will be recorded.

• Test Conditions: The appropriate solenoids should be raised and lowered and

one of the vibrators should pulse the correct number of times.

• Expected Results: After the data is sent from the smartphone paired to the

Bluetooth module connected to the microcontroller, the microcontroller will

process the received data and will determine that a left turn action needs to be

taken in 100ft. The microcontroller will then indicate this to the user by raising

sole6 and lowering sole7 and pulsing the vibrator three times.

6) Distance sensing test 6 to 9 feet range test (Functionality)

• Test Objective: This test is to ensure that an object is detected when straight in

front of the distance sensor at a distance between 6 and 9 feet. It will also test

whether the correct solenoids are raised and lowered and the vibrators pulse

with the correct speed.

• Test Description: Objects will be placed and tested one at a time at measured

distances of 8.5, 7.5, and 6.5 feet. This will test all possible solenoid

state/vibration speed combinations for the 6 to 9 feet distance range. The

distance sensor will be pointed at the object, and the feedback provided to the

user will be recorded.

• Test Conditions: The appropriate solenoids should be raised and lowered and

the vibrator should pulse at the correct speed.

• Expected Results: When each of the three distances is tested, sole1 should be

raised, while sole2 and sole3 should be lowered. With the object at 8.5 feet, the

vibrator should pulse at a slow speed. With the object at 7.5 feet, the vibrator

should pulse at a medium speed. With the object at 6.5 feet, the vibrator should

pulse at a fast speed. Also, the user should be able to easily differentiate

between the different speeds of the vibrator.

7) Distance sensing test 3 to 6 feet range test (Functionality)

• Test Objective: This test is to ensure that an object is detected when straight in

front of the distance sensor at a distance between 3 and 6 feet. It will also test

whether the correct solenoids are raised and lowered and the vibrators pulse

with the correct speed.

• Test Description: Objects will be placed and tested one at a time at measured

distances of 5.5, 4.5, and 3.5 feet. This will test all possible solenoid

state/vibration speed combinations for the 3 to 6 feet distance range. The

distance sensor will be pointed at the object, and the feedback provided to the

user will be recorded.

• Test Conditions: The appropriate solenoids should be raised and lowered and

the vibrator should pulse at the correct speed.

University of Central Florida Page 129 EEL 4915

Electrical Engineering Department

• Expected Results: When each of the three distances is tested, sole2 should be

raised, while sole1 and sole3 should be lowered. With the object at 5.5 feet, the

vibrator should pulse at a slow speed. With the object at 4.5 feet, the vibrator

should pulse at a medium speed. With the object at 3.5 feet, the vibrator should

pulse at a fast speed. Also, the user should be able to easily differentiate

between the different speeds of the vibrator.

8) Distance sensing test 0 to 3 feet range test (Functionality)

• Test Objective: This test is to ensure that an object is detected when straight in

front of the distance sensor at a distance between 0 and 3 feet. It will also test

whether the correct solenoids are raised and lowered and the vibrators pulse

with the correct speed.

• Test Description: Objects will be placed and tested one at a time at measured

distances of 2.5 feet, 1.5 feet, and 0.5 feet. This will test all possible solenoid

state/vibration speed combinations for the 0 to 3 feet distance range. The

distance sensor will be pointed at the object, and the feedback provided to the

user will be recorded.

• Test Conditions: The appropriate solenoids should be raised and lowered and

the vibrator should pulse at the correct speed.

• Expected Results: When each of the three distances is tested, sole3 should be

raised, while sole1 and sole2 should be lowered. With the object at 2.5 feet, the

vibrator should pulse at a slow speed. With the object at 1.5 feet, the vibrator

should pulse at a medium speed. With the object at 0.5 feet, the vibrator should

pulse at a fast speed. Also, the user should be able to easily differentiate

between the different speeds of the vibrator.

9) Distance sensing when no object detected (Functionality)

• Test Objective: This test is to ensure that no object can be detected and an

object outside the feedback range, but still within the sensor’s range can be

detected. It will also test whether the correct tactile feedback is provided to the

user.

• Test Description: An object will be placed and tested at a measured distance

of 9.5 feet. This distance is outside the sensor’s effective range in the project.

The distance sensor will be pointed at the object, and the feedback provided to

the user will be recorded. Also, the device will be pointed straight up into the

air so that the distance sensor has no way of detecting an object and the feedback

provided to the user will be recorded.

• Test Conditions: No distance solenoids should be raised and no vibration

pulses should be made.

• Expected Results: When each of the two cases is tested sole1, sole2, and sole3

should all be lowered. When the object is at 9.5 feet and also when the device

is pointed up at the sky so that no object can be detected no vibration pulses

should be felt by the user.

10) Direction sensing object to user’s left test (Functionality)

• Test Objective: This test is to ensure that an object is detected when placed

within the left direction sensor’s distance range and within the direction range

that indicates it is to the left of the user. It will also test whether the correct

solenoids are raised and lowered.

University of Central Florida Page 130 EEL 4915

Electrical Engineering Department

• Test Description: An object will be placed at a 45-degree angle to the left of

where the EASI device is pointing at 1 meter1. The left direction sensor will be

pointed at the object. The sensor will detect the object and send data to the

microcontroller. The microcontroller will then determine if the object is within

five feet of the user and raise and lower the appropriate solenoids.

• Test Conditions: The appropriate solenoids should be raised and lowered.

• Expected Results: When the test is conducted, sole4 should be raised after the

microcontroller receives the data from the direction sensor indication an object

is to the user’s left.

11) Direction sensing object to user’s right test (Functionality)

• Test Objective: This test is to ensure that an object is detected when placed

within the right direction sensor’s distance range and within the direction range

that indicates it is to the right of the user. It will also test whether the correct

solenoids are raised and lowered.

• Test Description: An object will be placed at a 45-degree angle to the right of

where the EASI device is pointing at 1 meter1. The right direction sensor will

be pointed at the object. The sensor will detect the object and send data to the

microcontroller. The microcontroller will then determine if the object is within

five feetof the user and raise and lower the appropriate solenoids.

• Test Conditions: The appropriate solenoids should be raised and lowered.

• Expected Results: When the test is conducted, sole5 should be raised after the

microcontroller receives the data from the direction sensor indication an object

is to the user’s right.

7.4.3 Software Specific Testing Summary

Verifying and validating are important factors in software testing, when testing a software,

different inputs need to be try to get the correct, intended outputs. Many test cases needed to test

the application functions to perform correctly as intended. The application need to be turn on when

the users press the icon on mobile device, main screen of the application then displayed. Users will

have the selections to cycle through the modes (navigation, audio ping, and audio voice modes)

with the bottom button and turn modes on and off with the top button. There will be voice prompt

alerting users the positions of the modes, modes have been turn on and off, and when the Bluetooth

connection is successful. When the navigation mode is turn off, the application will stop

connecting to the HERE Maps, voice prompt direction will stop, and directions from the device’s

tactile system will stop also. Audio ping mode will turn off the ping sound that represent the

distance from the objects to the device that is being alerted through headsets. Audio voice mode

will turn off all voice prompt function being sent to the headsets. Many test cases also needed to

test the microcontroller software functions to perform correctly as intended. When the device is

turn on, the microcontroller software need to send signal to all the components connected to it and

make them run as they were supposed to in the software coding design for each of them. The

sensors should send back data to the microcontroller if there is object in the scanning zone and the

distance to it. Then the microcontroller needs to send data signal to the tactile system on the device

and the headset via Bluetooth to alert the users of objects in the front and the distance to the users.

The actuators need to be moving up and down according to the object position, and the vibration

motors need to vibrate to determine if the object is getting closer to the users or not to show that

the microcontroller is working properly on getting signal from the sensor system, process it, and

University of Central Florida Page 131 EEL 4915

Electrical Engineering Department

transfer it to the tactile system. The connection between the application and the microcontroller

via Bluetooth will also need to be test, navigation mode on the application can be turn on and off

many times to see if the actuators for navigation on the device working or not. The actuators will

move up and down for left and right turns and many different testing times, and if they all function

the way they are supposed to, then the Bluetooth connection is good. The criteria for when to stop

the software testing to deliver it includes, but not limited to, time constraints, budget constraints,

faulty in critical modules, and bugs. Budget constraints in necessary because the project is under

a very specific and limited budget, time constraints will be depending on the due date of the final

device which is by the end of second semester. It is important to the number of bugs found in the

software and whether the main functions of the application software can perform without any

errors. If there are bugs found in the software, developers need to determine if the bug is related

to the critical part of the software and making the software not working as planned, then need to

spend more time for further development. Otherwise, the software would pass the testing and get

delivered to the users. But this does not mean that the software will be totally bug free, it should

work as intended with few minor bugs.

7.4.3.1 Software Final Conclusion

After testing the mobile application extensively with many test cases, all the functionalities and

buttons work, except for the navigation function of the device. For the purpose of this device,

navigation need to be added to help the seeing impaired users to navigate their way around and to

their destination. The navigations need to be accurate for pedestrians as the users of this device

will be walking around most of the time. Through many testing of the HERE Maps API, the GPS

location is not accurate enough for users to navigate around, the destination coordinates are most

of the times were off by forty to fifty feet, means that the users were around that far off of the test

coordinates. With this results, HERE Maps API will not be used in the final prototype.

One solution to this is to add a GPS module to the device to generate its own location, and adding

local map to the mobile application to communicate with the GPS module to create turn by turn

navigations. This solution is also adding another possible problem to the device. The GPS module

will be adding higher power consumption to the device, hence, lower the total usage time

throughout the day for the users.

University of Central Florida Page 132 EEL 4915

Electrical Engineering Department

8. Administrative Content

The following sections discuss the administrative content of the project which includes milestones

and budget and finance. These discussions are important in the creation of a project because they

ensure that all group members are on the same page as far as when certain aspects of the project

need to be completed and also how much can be money can be afforded to spend on specific parts.

8.1 Milestone Discussion

Figure 8.1-a Milestones

In Figure 8.1-a, we have listed all goals and deadlines we will attempt to meet for both semesters.

It includes both official course deliverables and deadlines we set for ourselves to keep things on

# Task Start End Status Primary Secondary

1 Ideas Completed Group 35

2 Project Selection Completed Group 35

3 Initial Document 8/29/2016 9/9/2016 Completed Group 35

4 Table of Contents 10/28/2016 11/4/2016 Completed Group 35

5 First Draft 11/4/2016 11/11/2016 Completed Group 35

6 Final Document 11/20/2016 12/6/2016 Completed Group 35

7 Initial Layout 9/9/2016 9/16/2016 Completed Group 35

8 Schematics 9/16/2016 9/23/2016 Completed Group 35

9 Microcontroller 9/16/2016 9/30/2016 Completed Heath Hung

10 Power Supply 9/16/2016 10/14/2016 Completed Stephen Patrick

11 Packaging 9/16/2016 10/21/2016 Designing Group 35

12 Distance Systems 9/16/2016 10/28/2016 Completed Patrick Stephen

13 Tactile Systems 9/16/2016 12/2/2016 Designing Stephen Patrick

14 Project ID Meeting 9/21/2016 Completed Group 35

15 PCB Layout/Schematics 9/30/2016 10/7/2016 Researching Stephen Patrick

16 Audio System 10/7/2016 11/11/2016 Completed Hung Heath

17 Programming Suite 10/7/2016 11/11/2016 Completed Hung Group 35

18 Navigation System 10/7/2016 11/11/2016 Completed Heath Hung

19 Voice Sensing System 10/7/2016 11/11/2016 Completed Hung Heath

20 Order & Test Parts 11/11/2016 12/2/2016 Completed Group 35

21 Draft Discussion Meeting 11/16/2016 Completed Group 35

22 Build Prototype 12/12/2016 12/31/2016 Group 35

23 Testing & Redesign TBA TBA Group 35

24 Finalize Prototype TBA TBA Group 35

25 Peer Presentation TBA TBA Group 35

26 Final Report TBA TBA Group 35

27 Final Presentation TBA TBA Group 35

Research, Documentation & Design

Initial Project Milestones

Senior Design 2 (16Weeks)

Project Report

Senior Design 1

University of Central Florida Page 133 EEL 4915

Electrical Engineering Department

track. This table will be updated internally as we progress through the course. Additionally, we

will add dates to the second semester deadlines as they become more clearly defined.

The only tasks in the Senior Design 1 section that have not yet been completed are packaging,

tactile systems, and PCB layout/schematics. The tactile system design will be completed by the

start of Senior Design 2, so its delay will have minimal impact on the completion of the project.

Besides those three categories, all Senior Design 1 tasks were completed.

We decided to hold off on designing the packaging for our device until during the break in between

Senior Design 1 and Senior Design 2. Our reasoning behind this decision was two-fold. First, our

primary focus thus far has been to complete the design for all of the subsystems of the project. We

felt like having completed designs would be more beneficial to the project than having partially

completed designs and a completed design for the device’s packaging. Second, until a prototype

is constructed, it is very difficult to know what dimensions to make the packaging and where ports

should be located. Since we had not scheduled to complete the first prototype of the device until

the start of Senior Design 2, it didn’t make sense for us to start designing the device’s packaging.

We were instructed by our advising professor that the PCB layout/schematics would be completed

in the first couple of weeks of Senior Design 2. We hope to complete these a week or two ahead

of schedule so that we can send for them to be made at the start of Senior Design 2 and receive

back the PCBs by the second week of class.

Not all of the completed tasks listed in Figure 8.1-a were completed by the time scheduled.

However, it was more important for our team that they were eventually completed despite not

having them completed by when we wanted. This allows us to begin Senior Design 2 next semester

on schedule.

Members of our team were in constant contact with each other over the messaging service Slack.

It allowed us to check up on each other’s progress and to ask/answer questions when they arose.

We also met as a group at least once a week on Thursday from 7:15pm until 9:15pm. Also, after

our the required class times for our Senior Design 1 course were completed, some, if not all of us

also met on Tuesday and Thursday from 1:30pm until 2:45pm. This meetings allowed us to discuss

what direction we wanted to take certain aspects of the project and to further check in on the

progress that each team member was making.

8.2 Budget and Finance Discussion

In this section, the initial budget on how the initial estimations of the components is going to cost,

and the final component selections with the part numbers and more precise on how much each part

is going to cost with the final total cost for the project device.

8.2.1 Initial Budget Estimation

University of Central Florida Page 134 EEL 4915

Electrical Engineering Department

Table 8.2.1-a– Initial Budget Estimation

The items on the list in table 8.2.1-a above are estimates cost of all the parts needed for this

project. As we are still very early in development, these numbers are only rough estimates due to

broad range of part variety, and to uncertainty in choice of specific parts/technologies. As a low-

cost solution is not very high in our design priorities, we have left considerable flexibility in

component costs. Research need to be done to determine more precise the specifications for each

of the components that will be in the device, and follow those specification requirements, choosing

components for those specifications can be made. Then when choosing components after

researching, the cost of each component will be varied depend on the quality of the parts and the

extra functionalities. Higher quality components will result in higher cost of them, decisions then

need to be made to see how high of the quality that the device prototype will need and depend on

the allowed budget. Device prototype will not need very high quality components as the project is

still in the development process, components might need to be change to fit to the specification

process better, so if high quality components with higher price been purchase at the beginning of

the process and get replace later in the process, the budget of the project can be easily exceeded.

Also, components with extra functionalities can add more cost to the project, some might need

those extra functionalities, some might not. Costs of all the parts will be divide evenly among team

members as we do not have any sponsorships. Total max budget allowed for this project will be

$1000.

#Part

NumberDescription Vendor Price/Unit ($) Quantity

1 Microcontroller 15-35 1

2 Distance Senor 15-40 1

3 Battery 15-30 4

4 Bluetooth 8-30 1

5 PCB 40 1

6 Package 50 1

7 Battery Charger 10 1

8 Headphones 20 1

9 Motors 10 10

10 Misc. 200

11 Current total 518 - 645

University of Central Florida Page 135 EEL 4915

Electrical Engineering Department

8.2.2 Final Part Selections Budget

# Description Cost/Unit Quantity Total

Distance Sensors

1 Ultrasonic Range Finder - LV-MaxSonar-EZ4 29.99 3 89.97

Battery

2 AT: Tenergy LiPo 7.4V 600mAh Battery Pack 48 1 48

Battery Controller

3 MCP73213 – Battery Management Controller 1.79 1 1.79

Buck Regulators

4 Mini DC/DC Step-Down Converter 3.3V 15 2 30

5 Mini DC/DC Step-Down Converter 5V 15 1 15

Bluetooth

6 HM-13 8.00 1 8

Navigation Systems

7 HERE Maps 0.00 1 0.00

Mobile Applications

8 Android 0.00 1 0.00

Solenoid

9 5V Solenoid – ZH0-0420S-05A4.5 4.95 7 35

Vibration Motors

10 Precision Microdrives 306-109 8.08 2 16.16

Vibration Motor Driver ICs

11 Adafruit DRV2605L Haptic Driver Driver 7.95 1 8

12 TI DRV2605 Haptic Driver Sample 0.00 3 0.00

Microcontrollers

13 Arduino Zero 55 1 55

14 Miscellaneous 170

15 PCB 2 91.50

16 3D Housing 60 1 60

Total 28 623

Table 8.2.2-b– Final Part Selections Budget Summary

Table 8.2-b is about the final selections of the components for the device. After researching for

many components on different requirements and specifications for the device, most of the parts

University of Central Florida Page 136 EEL 4915

Electrical Engineering Department

have been selected and ordered. The final part selection chart budget is much more detail and have

more components than the budget chart (table 8.2-a), prices are exactly corresponding to the

components, include their names and model. Due to the new technology advancing every year,

new parts with new specifications being produced, and manufactures stop making old design and

it will be very hard to find replacements if any of the part failed, most of the components have

been ordered more than one, so there will be extra of the same components in case one of them

fail from manufacture’s production errors or from over testing. One set of components will be used

for breadboard testing for functionalities and the communication with each other’s, one more set

will be used to build the prototype device and final product testing, and at least one set to set as

reserve to be ready to replace any parts that might fail during development and testing period.

Some of the components are more expensive to buy because of their better specifications and

quality. For examples, the ultrasonic sensor and range finder are bought more expensive than the

regular ones that only cost a few dollars, because of they can sense objects at a further distance

with a bigger field of view and more sensitive, also they have less I/O pins needed to connect to

the microcontroller. The smart servo was bought instead of the cheaper ones because of its smart

function, it can calculate the angles which combine with the sensors will let users know the object

is on the left or right of the device. The expensive battery pack is chosen due to its higher voltage

supply needed to run the components and higher capacity which will give users more operating

time. The microcontroller price is based on its clock speed, low power consumption, and high

number of I/O ports available. Lower prices can be available for the microcontroller but the trade

of can be lower clock speed which might results in slower processing speed and slower respond

time to the users, higher power consumption can lead to lower battery life and less operating time,

and low number of I/O ports will make it very hard to connect all the components to the

microcontroller for communications. It is very important in the researching process to research

carefully for the components for their requirements and specifications so that many components

can be purchase at the same time to save on the shipping cost overall. If every part is ordered

separately, shipping cost alone can be as much as the cost of one components. It is also important

to keep quality in mind when researching for components, better quality parts generally more

expensive to buy than others, if the budget is limited, different part categories need to be prioritize

to see which parts need to be bought with better quality to avoid major setback from critical part

fail making the device not working properly. So, it is good to get better quality components for the

durability and a piece of mind when building and developing a new device. With the current

components ordered, the total spent is still under the budget of one thousand dollars, any more

miscellaneous will be added as appear.

8.2.2.1 Final Budget Conclusion

After completing the project E.A.S.I. prototype, the total budget for the whole team came to be

around $2400. This high budget due to the hardware plan changed, and we no longer needed the

servo and using more sensors. Also, through creating custom PCB boards for testing, new

problems showed and the team needed to fix the problem and ordering new PCB. The team went

through three versions of MCU PCB and two versions of tactile PCB, these version each adding a

lot of cost to the final budget overall, each new version of PCB need to have new parts like

resistors, capacitors.... to be complete. But in the end, the prototype is working and we had enough

parts for a full device and a breadboard version of the device.

University of Central Florida Page 137 EEL 4915

Electrical Engineering Department

9. Conclusion

The proposed project will seek to achieve a meaningful improvement to society. A noble goal

many people who join engineering wish to achieve. For this device can improve the quality of life

of the legally blind, using modern technology to help update or improve technology systems that

are long outdated. EASI will be lightweight and handheld, will use distance sensing elements to

provide tactile and audio feedback to the user. Replacing the current walking cane, this device will

be more discreet and easily portable making it at times far more convenient than current

technologies. The sense of sight is our most vital sense. Without it everything we do though not

impossible becomes extremely difficult and we all have the possibility of losing it. For the millions

currently struggling with this disability every day and for the millions more that could be affected

in the future we strive to improve their quality of life.

University of Central Florida Page 138 EEL 4915

Electrical Engineering Department

Appendices

Appendix A - Copyright Permissions

University of Central Florida Page 139 EEL 4915

Electrical Engineering Department

University of Central Florida Page 140 EEL 4915

Electrical Engineering Department

University of Central Florida Page 141 EEL 4915

Electrical Engineering Department

University of Central Florida Page 142 EEL 4915

Electrical Engineering Department

University of Central Florida Page 143 EEL 4915

Electrical Engineering Department

University of Central Florida Page 144 EEL 4915

Electrical Engineering Department

University of Central Florida Page 145 EEL 4915

Electrical Engineering Department

University of Central Florida Page 146 EEL 4915

Electrical Engineering Department

University of Central Florida Page 147 EEL 4915

Electrical Engineering Department

Appendix B References

[1] I. G. D. Federation, "History of Guide Dogs," [Online]. Available:

https://www.igdf.org.uk/about-us/facts-and-figures/history-of-guide-dogs/. [Accessed 5

November 2016].

[2] I. G. D. Federation, "Would a guide dog help me?," [Online]. Available:

https://www.igdf.org.uk/about-us/would-a-guide-dog-help-me/. [Accessed 5 November

2016].

[3] P. Strong, "the history of the white cane," [Online]. Available:

http://www.acb.org/tennessee/white_cane_history.html. [Accessed 5 November 2016].

[4] M. Appelgate, S. Belichki, M. Czarniak and N. Heintze. [Online]. Available:

http://www.eecs.ucf.edu/seniordesign/fa2012sp2013/g27/Files/SD2/SD2.pdf. [Accessed 8

November 2016].

[5] Jimb0, "Bluetooth Basics," SparkFun Electronics, [Online]. Available:

https://learn.sparkfun.com/tutorials/bluetooth-basics. [Accessed 23 September 2016].

[6] Bluetooth SIG, Inc., "Bluetooth," Bluetooth SIG, Inc, 2016. [Online]. Available:

https://www.bluetooth.com/. [Accessed 27 September 2016].

[7] "Arduino Board Zero," Arduino, [Online]. Available:

https://www.arduino.cc/en/Main/ArduinoBoardZero. [Accessed 9 10 2016].

[8] "Sparkfun Tennsy 3.6," [Online]. Available: https://www.sparkfun.com/products/14057.

[Accessed 9 10 2016].

[9] "TI MSP430F6766," Texas Instrument, [Online]. Available:

http://www.ti.com/product/MSP430F6766. [Accessed 9 10 2016].

[10] Adafruit Industries, "Adafruit DRV2605 Haptic Controller Breakout," 04 05 2015. [Online].

Available: https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout/overview.

[11] Adafruit Industries, "Adafruit TCA9548A 1-to-8 I2C Multiplexer Breakout," 11 09 2015.

[Online].

[12] NXP Semiconductors, "I2C Bus Specification," 04 04 2014. [Online]. Available:

http://cache.nxp.com/documents/user_manual/UM10204.pdf. [Accessed 07 04 2017].

[13] [Online]. Available: https://www.ifixit.com/Store/iPhone/iPhone-6-Plus-Replacement-

Battery/IF269-002-2. [Accessed 1 Decemember 2016].

[14] American Foundation for the Blind, "Refreshable Braille Displays," [Online]. Available:

http://www.afb.org/prodBrowseCatResults.aspx?CatID=43. [Accessed 12 11 2016].

[15] ElectronicsTutorials, "555 Oscillator Tutorial," 06 12 2016. [Online]. Available:

http://www.electronics-tutorials.ws/waveforms/555_oscillator.html. [Accessed 07 04 2017].

[16] Precision Microdrives, "Linear Resonant Acutators - LRAs," 2016. [Online]. Available:

https://www.precisionmicrodrives.com/vibration-motors/linear-resonant-actuators-lras.

[Accessed September 2016].

[17] A. Thakur. [Online]. Available: http://www.engineersgarage.com/articles/ultrasonic-

sensors. [Accessed 27 November 2016].

[18] [Online]. Available: https://en.wikipedia.org/wiki/Sonar. [Accessed 18 November 2016].

University of Central Florida Page 148 EEL 4915

Electrical Engineering Department

[19] A. M.-F. J. L. A. C. L. B.-R. A. R.-L. Juan Luis Gamarra-Diezma. [Online]. Available:

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4367340/. [Accessed 28 November 2016].

[20] "History of Electricity," 29 August 2014. [Online]. Available:

http://instituteforenergyresearch.org/history-electricity/. [Accessed 30 November 2016].

[21] [Online]. Available:

http://batteryuniversity.com/learn/article/charging_lithium_ion_batteries. [Accessed 30

November 2016].

[22] [Online]. Available: http://www.ti.com/lit/an/snva558/snva558.pdf.

[23] [Online]. Available: https://www.dimensionengineering.com/info/switching-regulators.

[24] Maxim Integrated, "ICM7555/556 General Purpose Timers," 11 1992. [Online]. Available:

http://datasheets.maximintegrated.com/en/ds/ICM7555-ICM7556.pdf. [Accessed 07 04

2017].

[25] G. Gridling and B. Weiss, "Introduction to Microcontrollers," 26 February 2007. [Online].

Available: https://ti.tuwien.ac.at/ecs/teaching/courses/mclu/theory-

material/Microcontroller.pdf. [Accessed 27 November 2016].

[26] Wikipedia, "Microcontroller," Wikipedia, 25 November 2016. [Online]. Available:

https://en.wikipedia.org/wiki/Microcontroller. [Accessed 27 November 2016].

[27] M. Brain, "How Microcontrollers Work," HowStuffWorks.com, 1 April 2000. [Online].

Available: http://electronics.howstuffworks.com/microcontroller1.htm. [Accessed 28

November 2016].

[28] G. P. Gogue, "Voice-coil actuators," [Online]. Available: http://www.consult-

g2.com/papers/paper8/paper.html. [Accessed September 2016].

[29] Precision Microdrives, "AB-001 : Discrete Driver Circuits for Vibration Motors," [Online].

Available: https://www.precisionmicrodrives.com/application-notes/ab-001-discrete-driver-

circuits-for-vibration-motors. [Accessed 24 10 2016].

University of Central Florida Page 149 EEL 4915

Electrical Engineering Department

Pricing References:

Sensors 1. https://www.adafruit.com/categories/57

2. https://www.sparkfun.com/categories/84

3. http://www.digikey.com/product-search/en/sensors-transducers/optical-sensors-distance-

measuring/1967026

Microcontroller 4. https://www.google.com/#q=atmega2560%20microcontroller&safe=off&tbm=shop&rct=

j

5. https://www.adafruit.com/categories/261

Battery 6. http://www.all-battery.com/37vli-polymerandli-ionbatterypacks.aspx

PCB 7. http://www.4pcb.com/

8. http://www.sunstone.com/pcb-products

Bluetooth Module 9. https://www.intorobotics.com/pick-right-bluetooth-module-diy-arduino-project/

GPS Module 10. https://www.sparkfun.com/pages/GPS_Guide

Vibration Motor 11. https://www.precisionmicrodrives.com/product-catalogue/vibration-motor

Appendix C - Datasheets

Adafruit https://cdn-shop.adafruit.com/product-files/2267/MDBT40-P256R.pdf

Arduino Zero ATSAMD21G18 Datasheet: http://www.atmel.com/Images/Atmel-42181-SAM-

D21_Datasheet.pdf

Delta DSMS-0730 Solenoid -

http://www.deltaww.com/filecenter/Products/download/04/0409/DSMS-0730.pdf

HM-13 Datasheet: https://www.itead.cc/wiki/File:Bluetoothdual_en.zip

Herkulex DRS – 0101 http://www.robotshop.com/media/files/pdf/manual-drs-0201.pdf

University of Central Florida Page 150 EEL 4915

Electrical Engineering Department

MCP73213 - http://ww1.microchip.com/downloads/en/DeviceDoc/20002190C.pdf LV-MaxSonar-EZ - http://maxbotix.com/documents/LV-MaxSonar-EZ_Datasheet.pdf

Sparkfun ZH0-0420S-05A4.5 Solenoid –

https://cdn.sparkfun.com/datasheets/Robotics/ZHO-0420S-05A4.5%20SPECIFICATION.pdf

TI DRV2605 Haptic Motor Driver - http://www.ti.com/lit/ds/symlink/drv2605.pdf

TI TCA9548A 8-Channel I2C Switch - http://www.ti.com/lit/ds/symlink/tca9548a.pdf