1. The George Washington University
School of Engineering & Applied Sciences
Department of Biomedical Engineering
Techtiles
A Physiological Measurement System in Clothing
Final Design Review
William Gottschalk | Aamir Husain | Leo Parsons
Prepared for Dr. David Nagel
10 December 2014
ECE 4290W
2. Abstract (WG)
The proposed system, “Techtiles: A Physiological Measurement System in Clothing,” is
a wearable system that will allow for users to record their physiological readings, in an
attempt to monitor their physical well-being. The system will wirelessly monitor the
user’s heart rate, respiratory rate, steps taken, distance traveled, and energy expended.
The heart rate will be determined through the use of an ECG, the respiratory rate using
a stretch resistor, and the distance traveled by using a 3-axis accelerometer. These
analog signals will then be sent to a micro-controller, which will quantize and process
the data. Algorithms will be uploaded onto the micro-controller to perform various
calculations to calibrate, and determine other pertinent user data. Using a bluetooth
module, the processed data will then be sent via a wireless serial connection to the
user’s smartphone. An android application was written to receive the data, and display
it in a presentable manner; both quantitatively and graphically. The user will also be
able to save data and information about their workouts, and store personal information
within the application.
of2 58
3. TABLE OF CONTENTS
Abstract (WG) 2.....................................................................................................................
Introduction (AH, WG: 50%) 6...............................................................................................
Background & Market Justification 6...............................................................................
System Level Requirements and Specifications (AH, WG, LP: 33%) 7................................
Overall System Design (AH, WG, LP: 30%) 8.......................................................................
Theory of Operation 8......................................................................................................
Approach to Overall Design 10.......................................................................................
Current Design 10.....................................................................................................
Evolution of Current Design 10..................................................................................
Module Level Requirements and Specifications 13..............................................................
Sensor Integration Sub-System (AH) 13..........................................................................
Data Processing Sub-System (WG) 14...........................................................................
Wireless Transmission and GUI Sub-System (LP) 16......................................................
Module Design 17.................................................................................................................
Sensor Integration Sub-System (AH) 17..........................................................................
Fabric Technology and Overall Appearance 17........................................................
Detecting Heart Rate 18............................................................................................
Detecting Movement 19............................................................................................
Detecting Respiration 20...........................................................................................
Data Processing Sub-System (WG) 21...........................................................................
Considerations Taken in Micro-Controller Selection 21.............................................
Micro-Controller Selection 21....................................................................................
ECG Data Analysis and Calibration 21......................................................................
Stretch Sensor Data Analysis 22...............................................................................
Accelerometer Data Analysis and Calibration 22......................................................
Distance Traveled Calculation 22..............................................................................
Energy Expenditure Calculation 23...........................................................................
Battery Selection 23...................................................................................................
Wireless Modem Selection 23...................................................................................
Wireless Transmission & User Interface Sub-System (LP) 24.........................................
Mobile Device App 24...............................................................................................
Wireless Connectivity 24...........................................................................................
Data Transmission 25................................................................................................
Data Storage 25.........................................................................................................
Data Display 25.........................................................................................................
Module and System Testing 25.............................................................................................
Overall System Testing 25...............................................................................................
Sensor Integration Sub-System Testing (AH) 26.............................................................
Conductive Fabric 26................................................................................................
Electrocardiogram 26................................................................................................
Accelerometer 26......................................................................................................
Stretch Sensor 26......................................................................................................
of3 58
4. Data Processing Sub-System Testing (WG) 27...............................................................
Algorithm Accuracy 27..............................................................................................
Battery Life 27............................................................................................................
Wireless Serial Data Transmission 27........................................................................
Wireless Transmission & User Interface Sub-System Testing (LP) 28.............................
Bluetooth Connectivity 28..........................................................................................
Data Transmission 28................................................................................................
Data Storage 29.........................................................................................................
Data Display 29.........................................................................................................
Android Application Layout 29..................................................................................
Economic Analysis (AH) 29...................................................................................................
Implementation Plan 30.........................................................................................................
Hardware (AH) 30............................................................................................................
Software (WG) 30............................................................................................................
Summary and Conclusions (AH) 32......................................................................................
Applicable Standards (AH, WG: 50%) 32.............................................................................
Qualifications of Key Personnel 35........................................................................................
Aamir Husain Qualifications (AH) 35...............................................................................
William Gottschalk Qualifications (WG) 35......................................................................
Leo Parsons Qualifications (LP) 35.................................................................................
Intellectual Contributions 35..................................................................................................
Aamir Husain Intellectual Contributions (AH) 35.............................................................
William Gottschalk Intellectual Contributions (WG) 36....................................................
Leo Parsons Intellectual Contributions (LP) 36...............................................................
Teaming Arrangements 36....................................................................................................
Appendix A: Product Data Sheets 37...................................................................................
Appendix B: Economic Analysis 38......................................................................................
Appendix C: Project Timeline & Milestones (AH) 45.............................................................
Appendix D: Module Matrices 47..........................................................................................
Appendix D: System Diagrams 48........................................................................................
Appendix E: Mechanical Drawings (AH) 50..........................................................................
Appendix F: Program Flow Diagrams (WG: 75%, LP: 25%) 52............................................
Appendix G: Component Comparisons and Other Useful Tables 57...................................
References 58.......................................................................................................................
of4 58
5. LIST OF FIGURES
LIST OF TABLES
Figure 1: Sensor Sub-System Signal Flow Diagram 8...............................................................
Figure 2: Data Processing Signal Flow Diagram 9....................................................................
Figure 3: Third Order Low Pass Filter (ECG) 19........................................................................
Figure 4: Two Lead ECG 19......................................................................................................
Figure 5: Stretch Sensor 20.......................................................................................................
Figure 6: Third Order Low Pass Filter (Stretch Sensor) 20........................................................
Figure 7: Actual and Estimated Weekly Burn Rate 41..............................................................
Figure 8: Gantt Chart Part 1 45.................................................................................................
Figure 9: Gantt Chart Part 2 45.................................................................................................
Figure 10: Gantt Chart Part 3 46...............................................................................................
Figure 11: Gantt Chart Part 4 46...............................................................................................
Figure 12: Overall System Design 48........................................................................................
Figure 13: Arduino Pro Mini Schematic 49................................................................................
Figure 14: Housing 3-D Model 50.............................................................................................
Figure 15: Housing Schematic (Bottom Piece) 50....................................................................
Figure 16: Housing Schematic (Top Piece) 51..........................................................................
Figure 17: Mobile Device Flow Diagram 52..............................................................................
Figure 18: Overall Micro-ControllerSoftware Flow Diagram 53.................................................
Figure 19: ECG Software Flowchart 54.....................................................................................
Figure 20: Accelerometer Software Flow Diagram 55...............................................................
Figure 21: Respiration RateSoftware Flowchart 56...................................................................
Table 1: System Level Requirements & Specifications 7..........................................................
Table 2: Sensor Integration Sub-System Requirements & Specifications 13...........................
Table 3: Data Processing Sub-System Requirements & Specifications 15...............................
Table 4: GUI Sub-System Requirements & Specifications 17...................................................
Table 5: Applicable Standards 34.............................................................................................
Table 6: Cost Analysis for Prototype Design 38........................................................................
Table 7: Estimated Labor Hours 38...........................................................................................
Table 8: Large Scale Manufacturing Costs 39..........................................................................
Table 9: Actual and Estimated Weekly Burn Rate 40................................................................
Table 10: Bill of Materials 43.....................................................................................................
Table 11: Software Parts List 44................................................................................................
Table 12: Module Matrix for Sensor Integration Sub-System 47...............................................
Table 13: Module Matrix for Data Processing Sub-System 47..................................................
Table 14: Module Matrix for GUI Design Sub-System 47..........................................................
Table 15: Energy Expenditure Relations 57..............................................................................
Table 16: Battery Selection 57...................................................................................................
Table 17: Wireless Modem Selection 57...................................................................................
of5 58
6. Introduction (AH, WG: 50%)
Background & Market Justification
Physiological monitoring has
become increasingly popular with the
availability of advanced technology.
Biometric devices have a wide range of
applications including, but not limited to,
the military, sports programs, hospitals,
and research laboratories. Soldiers,
astronauts, law-enforcement officers,
miners, deep-sea fisherman, and any
other professions where there is a risk of
bodily harm can benefit from an
unobtrusive physiological measurement
device. Employers who choose to equip
their personnel with these monitors can
keep a close watch on their employees
vitals, as to reduce the potential loss of
life. A subset of biometric devices is
wearable biomedical technology.
“Wearables”, which has become more of a
buzzword in the past few years, are
devices which are directly incorporated
into what the user wears eg. clothing,
headphones, sleeves, glasses, etc. With1
medical technology prices decreasing,
companies have opted to equip their
products with various biometric sensors.
The Motorola Moto 360 wristwatch is just
one of the devices currently on the
market that advertise health monitoring
capabilities. However like the Moto 3602
or the Microsoft Band, another wearable
device, most other wearables on the
market keep track of one or two things:
heart rate and steps. Users who want
more information must look elsewhere
and purchase separate products.
Techtiles, our proposed system, aims to
consolidate sensors which are normally
not found together on one singular
device. The main purpose of this device is
to track a user’s heart activity, breathing
and movement, and process the data to
compute heart rate, respiration rate,
steps taken, distance travelled, and
energy burned. The data will be obtained
by using three sensors embedded in a
moisture-wicking compression shirt and
the information gained from it will be
displayed on a mobile device running an
Android operating system. Unlike many
other devices on the market, Techtiles
also utilizes conductive fiber as a key
component of some of the sensor
integration module of the device.
According to a report conducted
by TechNavio, the global patient
monitoring system market will be worth
an estimated $9.3 billion dollars in 2014.3
“Medical devices purchased by
consumers used to self-monitor health
conditions will account for more than
80% of wireless devices in 2016.”4
Monitoring devices, along with the boom
in wearable technology is creating a large
demand for innovative products which
can do more than just measure heart rate.
Devices similar to our product like the
Moto 360 cost around $200. Other
products currently not on the market
such as Athos and Hexoskin range from
about $200-$400 per unit. Our device will
cost an estimated $285 based on the
economic analysis done in this report.
This day in age, people like to be able
know as much as they can with the
simplest tools available to them.
Techtiles provides this need as it
combines multiple physiological readings
into one device which can be worn
of6 58
7. continuously without getting in the way
of the user’s daily life.
System Level Requirements and Specifications (AH, WG, LP: 33%)
Table 1: System Level Requirements & Specifications
Requirements Specifications
Detect physiological measurands 3 biosensors: ECG, stretch resistor, accelerometer
Display physiological data on mobile device User-friendly GUI with data and data analytics via
graphs and numerical values
Operate at no less than five hours in active mode
(continuous recording)
1000 mAh Lithium Polymer Ion Battery
Conserve power when not in use Low power state activated if device is not active
for more than 5 minutes
Lightweight and comfortable for the user Constructed with cotton/spandex/nylon
compression fabric weighing no more than 2
pounds
Store data locally Data stored as text file on mobile device
Unobtrusive to user Hardware components (excluding the shirt)
occupy no more than 6cm x 6cm x 3cm volume
Mobile OS compatible Runs on Android 4.0 and higher
Must pair with, and transmit data wirelessly to a
personal device
Class 1 Bluetooth 2.4GHz UHF radio waves
of7 58
8. Overall System Design (AH, WG,
LP: 30%)
Theory of Operation
The physiological measurement
system in clothing, also known as
Techtiles, aims to provide a user with
real-time information about their
biological responses. Specifically, this
device is intended to detect heart rate,
breathing and movement and to display
this information via a user-friendly
mobile device application. The data from
these sensors are then used to determine
the user’s beats per minute, respiration
rate, steps taken, distance travelled and
calories burned. The device can be
broken down into three main sub-
systems, each one heavily reliant on the
other two to function properly as a
whole. These sub-systems are described
in greater detail in the following section.
The first sub-system focuses on
building the interface between the user
and the device. This involves the
integration of sensors into a shirt,
creating a “smart fiber,” which are then
connected to a small micro-controller
which manipulates the incoming analog
signals to readable digital outputs. Three
different sensors are used to obtain data:
an electrocardiogram (ECG), a three-axis
accelerometer and a stretch resistor.
Detailed descriptions of each sensor are
described later on in the “Module
Design” section of this report.
A basic ECG consists of electrodes,
a power source, and some kind of filter to
adjust the incoming signal from the
heart. The ECG recognizes and records all
electrical activity created within the
heart. During a single heartbeat, an
electrical impulse is generated at the AV
Figure 1: Sensor Sub-System Signal Flow Diagram
Analog values are transmitted from the body to the
three sensors. The sensors then send analog voltages
to the micro-controller for processing.
node, located at the upper right side of
heart. The signal then travels in a
downward diagonal direction towards the
bottom of the left ventricle, passing
through the AV node and bundle of His.5
The electrodes pick up a distinct, wave-
like signal which is quite small, between
1 - 10 mV, which needs to be amplified
considerably for it to be readable and
digitally representable. This is6
accomplished through high pass and low
pass filters and amplifiers to produce the
familiar PQRST wave of the heart
contraction. Specifically for this device, it
was decided that just two electrodes will
be used to pick up ECG waveforms rather
than other higher lead ECGs. The signal
is amplified with a differential amplifier
and then passed through to the micro
controller for further filtering. The
amplifier itself is described in greater
detail in “Sensor Integration Sub-
System” in the “Module Design” section
of this report.
An accelerometer measures the
vibration or acceleration of motion of an
object. Inside the sensor, any exerted
force moves a piezoelectric metal.
of8 58
9. Depending on the magnitude of the
force, the metal produces a proportional
charge, which is also proportional to the
magnitude of acceleration. The
accelerometer is used to determine the
number of steps taken and it is also used
in tandem with the other sensors in
determining energy expended.
A stretch sensor is an effective
way to monitor respiration in this kind of
device. The rise and fall of the chest can
be measured as a change in resistance as
the sensor stretches and
relaxes, moving its internal
c o m p o n e n t s c l o s e r
together or further apart.
The sensor used in this
device is made entirely of
conductive fabric which can stretch in
one direction. This ensures that user is
more comfortable when using the
product and that it is more durable. The
fabric of the shirt must also be
comfortable for the user. Therefore, it is
mostly composed of a cotton/spandex/
nylon blend, a moisture-wicking
compression fabric. This allows for the
device to be worn tightly on the body
without sacrificing comfort or efficiency.
The data processing sub-system is
tasked with receiving and processing
analog data from the accelerometer,
stretch sensor, and electrocardiogram.
The analog signals are digitized, and then
formatted into usable data so that further
analysis and calculations can be
conducted.
The Arduino Pro Mini micro-
controller is the centerpiece of the
device, equipped with eight analog to
digital channels which will allow it to
quantize the analog data from each
respective sensor.13 The micro-
controller, sensors, and additional
hardware will all be powered using a
Lithium Polymer Ion Battery. Using the
Arduino IDE, the micro-controller is
programmed to format the data into a
usable form, and to perform various
calculations to obtain the user’s steps
taken, distance traveled, heart rate,
respiration rate, and energy expended.
The processed data is then be
transmitted wirelessly via bluetooth to
the user’s mobile device.
Figure 2: Data Processing Signal Flow
Diagram
Analog data from the sensors enters the micro
controller and is converted to a digital signal. This
signal is filtered, analyzed, then sent to a bluetooth
device which transmits the data wirelessly.
The final sub-system will be the
graphic user interface, allowing the user
direct access to the data generated by the
device. The transmitted data is received
wirelessly through an application
designed for Android smartphones. One
of the main motives of Techtiles is for a
final design that is small and mobile. Our
users should be able to use our device
wherever and without restrictions. This
lead to the decision to create our user
interface into a mobile application rather
than on a personal computer. Also a
benefit to designing the GUI for mobile
phones, is the Bluetooth capability that
all modern smartphones are built with.
Furthermore, it was decided that the
application would be designed using the
Android operating system due to it’s
open source platform. The most
of9 58
10. important goal of this sub-system is to
develop an application as intuitive as
possible for the user. When the user open
the application for the first time, they
should know how to navigate menus
without confusion.
Approach to Overall Design
Current Design
The current system design can be
broken into three major components: the
shirt containing sensors, the micro-
controller, and the mobile application.
The first major component contains a
heart rate sensor, a respiration sensor,
and an accelerometer. These sensors are
used to determine values for heart rate,
respiration rate, steps taken, distance
travelled and energy expended. The heart
rate sensor uses electrodes constructed
from silver coated nylon, a highly
conductive fabric. The respiration sensor
is also made of the same material. The
accelerometer, micro-controller, ECG
hardware and the lithium polymer ion
battery are all housed in a 3.49 in x 2 in x
0.35 in casing which is fitted into a
pocket in the back side of the shirt. The
shirt itself is a moisture-wicking fitness
compression shirt which fits snugly on
the body. This ensures a more accurate
reading from the sensors.
The second major component is
the micro-controller. The Arduino Pro
Mini was chosen based upon it’s small
size, low price, and sufficient clock speed.
It digitizes all of the analog data from the
sensors and then filters and calibrates it.
Finally, the micro controller processes
the data, and analyzes it. Two modes of
operation have been programmed into
the micro-controller. In sleep mode, the
micro controller waits for the user to
begin a new session. Once the user
begins a new session, the device enters
active mode, in which it constantly
transmits data wirelessly to a compatible
bluetooth device. This is done through
the use of a bluetooth mate to gain
bluetooth capabilities and allow for a
wireless serial connection.
A mobile device wirelessly
receives the processed data through a
designed application. This data will be
stored and displayed on the user-friendly
application. The GUI is in the form of an
Android App, which is able to display the
data numerically and via graph. The data
files is stored within the internal storage
of the mobile device and be available to
be viewed by the user through the app.
Evolution of Current Design
For the first stages of the device, a
variety of sensors were taken into
consideration to find as many biometric
measurands as possible. Blood pressure
sensors, galvanic skin response, and
thermometers were considered at some
point during the design process. However
some of these sensors were shown to be
unfeasible to implement in a small,
durable form factor for the specified
device, and so they were removed from
the system design plan.
The ECG was originally ordered
from Sparkfun for prototyping. However,
this board was too large for the final
product and had extra features like an
LED and headphone jack which were not
needed in the final design. It was then
decided that a simple two lead ECG
would be build using the AD620
differential amplifier.
of10 58
11. To measure breathing, a strain
gauge was initially chosen as the sensor.
However given that strain gauges are
recommended more for measuring strain
on solid objects like metal beams, a
stretch sensor seemed to be a more
appropriate sensor to use for the device.
Conductive fabric was chosen for its
durability and comfort for this sensor
rather than other bulky hardware.
The housing for the hardware
components was first idealized as being a
small case which would fit into the user’s
pocket. Determining that this led to
possible risk of damaging the connection
between the shirt and the housing, it was
decided that the housing be placed
directly onto the shirt in an unobtrusive
location — the lower back.
Initially, the Arduino due was used
to test the accelerometer. However, it was
quickly ruled out as a result of it’s large
size, and input voltage. In order to meet
the requirements, a smaller micro
controller was necessary, which operated
within the range of the sensor outputs. It
also needed to be able to be powered
wirelessly, have a relatively low current
consumption, and over seven analog to
digital channels. Through process of
elimination, the Arduino Fio and pro
mini were the only two micro controllers
researched that met the specified
requirements. Ultimately, the Arduino
pro mini was selected due to it’s smaller
size, and price.
Initially, the bluetooth bee was
used to demonstrate bluetooth
connectivity for the sub-system demo. To
meet the specified requirements, the
bluetooth bee was eliminated as a result
of it’s cumbersome size, and large current
consumption. As a result, the bluetooth
mate was selected as the best wireless
module for the system.
The app is designed to enable the
phone’s Bluetooth capability and receive
the transmitted data directly to the app,
where it will be stored and displayed. The
app is designed using Android Studio and
coded in Java. User data is also displayed
in an organized and comprehensible
manner. The most recent results as well
as all previously recorded data will be
stored and accessible. The app will
require login credentials that the user
will set during their first interaction with
the app. This is how the app will
recognize which data to pull from the
device’s internal storage when the
history is opened. The app will also be
programmed to remember previous login
and bluetooth pairings after its first
launch, so the user will not have to
repeat this process with each activation.
The initial proposal for the
graphic user interface was to be a
personal computer program, which the
user could run on a laptop or PC. After
researching into this type of GUI verses a
mobile application, it appeared a mobile
app would do much better on the market
due to the growth of the industry. In
addition to this, all modern smartphones
have built in technology, which offers us
direct contact to the device with no third
party needed. This would be imperative
for the data transmission part of our
system. After coming to this decision, it
was important to pick the right operating
system to run our application on. Our
goal is to create an App that we can
design, test, and eventually publish.
Android offers a much better testing and
p u b l i s h i n g p l a t f o r m f o r a p p
development. This decision will avoid
of11 58
12. obstacles that iOS typically encounters
through testing and publication.
of12 58
13. Module Level Requirements and Specifications
Sensor Integration Sub-System (AH)
Table 2: Sensor Integration Sub-System Requirements & Specifications
Module Requirements Specifications
Overall Low voltage input Operating voltage of 3.3 V
Low power consumption All devices together draw 6 mA
Unobtrusive to user All sensors occupy 50 cm2 of shirt
surface
Fabric Lightweight Weighs 10oz per ft2
Provide adequate means of measuring
sensor data while being comfortable to
wear
Tight fitting shirt made with a blend of
moisture wicking cotton/spandex/nylon
ECG Detect PQRST waves Silver coated nylon electrodes with a
resistance of less than 3 Ω
Obtain a useable signal so it can be
processed by micro-controller
2 lead differential amplifier able to detect
input voltages between 0.5 - 5 mV and
have an overall gain between 800-1000
over a frequency of 0.5 - 100 Hz
Low power consumption Current draw of no 250 µA
Filter out noise Remove frequencies below 0.5 Hz and
above 100 Hz
Stretch Sensor Detect respiration Silver coated nylon stretchable fabric
which functions as a resistor
Obtain a useable signal so it can be
processed by micro-controller
Detects between 0.5 - 3 cm of
deformation along lengthwise axis of
resistor
Low power consumption Current draw of 5 mA
Filter out noise Remove frequencies below 0.1 Hz and
above 100Hz
Accelerometer Detect steps taken and magnitude of
acceleration
3 axis accelerometer with range of
detecting +/- 3g
Low power consumption Current draw of 400 µA
Filter out noise High pass filter at 100 Hz
of13 58
14. Data Processing Sub-System (WG)
Module Requirements Specifications
Overall Micro-controller must have
sufficent ADC channels to
quantize all analog data
Eight 10 bit ADC Channels
Dimensions under 3” x 2” x 1” 2.5” x 2” x .7”
Powered wirelessly for up to 5
hours
1000mAh Lithium Polymer Ion
Battery
Transmit data wirelessly to a
personal device
Class 1 Bluetooth, 2.4GHz UHF
radio waves, 11520 baud rate
Arduino Pro Mini Micro-controller Adequate ADC channels to
receive input from all sensors
8 ADC channels
Allow input voltages in the range
of the sensors output voltages
3.35V-12V
Dimensions within 1” x 2” .7” x 1.3”
Must sample analog data at a
sufficent rate to properly
represent the analog data
Sampling Rate ≥ 20 Hz
Low Power consumption 3.3V operating voltage, 8 MHz
clock speed
Lithium Polymer Ion Battery Dimensions within 2” x 1.5” x
0.5”
2” x 1.32” x 0.23”
Must power electrical
components wirelessly for 5
hours
1000mAh Lithium Polymer Ion
Battery
Bluetooth Mate Gold Establish wireless serial
connection to a personal device
at up to 10m
Class 1 Bluetooth Radio Modem,
2.4~2.524GHz UHF radio waves
Operate within operating range
of micro-controller
3.3V-6V
Dimensions under 2” x 1” 1.75” x .65”
Programming Determine the amount of steps
taken by a user
Accurate to within 5% of user
steps
Determine heart rate Accurate to within 5% of the
user's beats per minute
Determine the respiration rate in
breaths per minute
Accurate to within 5% of user
breaths per minute
Determine distance traveled Accurate to within 10% of actual
traversed distance
Module
of14 58
15. Table 3: Data Processing Sub-System Requirements & Specifications
Determine energy expended Accurate to within 10% of
calories burned per hour
Calibrations Alert user when the device is
incorrectly calibrated or
equipped
Error message displayed on
user's device
Requirements SpecificationsModule
of15 58
16. Wireless Transmission and GUI Sub-System (LP)
Module Requirements Specifications
Overall Design a Mobile Smart Phone
Application
Android based using Android
Studio with Java language
Application size must be within
Android restrictions
Size must be less than 50MB
Programmed Capabilities App must be able to enable
phones Bluetooth capabilities
Android Smartphones use
Bluetooth Smart technology
which has a range of roughly 50
Meters
App must receive data being
transmitted
0.27 Mbps Typical Data
Throughput
App must store data Using Android Internal Storage;
1GB of Storage Space
Layout App Home Page Ask for User log in and
password
Log-in Credentials No restrictions on number of
characters; No limit to number of
tries; Must alert user if password
is authorized or denied
App Profile Page Displays instantaneous
numerical value of the distance
traveled (miles), calories burnt,
and steps measured, for the
current day
App Respiratory Sensor Page Respiratory output over time
App Accelerometer Page Number of steps value; distance
traveled (miles); Graph: Peak
Acceleration (y axis) vs Calories
Burnt (x axis)
App Heart Rate Page Graph: Beats per minute (y
axis), Time in minutes; intervals
of 5 (x axis)
History of Results Page List of all received files of data
organized by time recorded;
data size of each file will also be
displayed (kilobytes)
User Capabilities User must be able to input
custom settings
Weight (lbs.); Height (Inches);
Gender (Male/Female)
Module
of16 58
17. Table 4: GUI Sub-System Requirements & Specifications
Module Design
Sensor Integration Sub-System (AH)
This module involves the interface
between the user and the product itself.
Three separate sensors are used to detect
the user’s heart rate, breathing, and
movement. The sensors themselves are
embedded in a moisture wicking fabric
designed specifically for comfort during
heavy activity or just long periods of
general use. The housing for the
hardware components can be found in
Appendix E.
Fabric Technology and Overall
Appearance
The final product consists of a
shirt with a designated integrated band
just below the chest where the sensors
will be located. The fabric itself is
moisture wicking and antimicrobial so
that it can withstand heavy activity and
feel more comfortable to wear. A few
different types of fabric were considered
for the initial design. Normal fabrics
typically fit more loosely on the body, but
for these sensors to work properly and to
reduce the amount of noise as much as
possible, the fabric needed to be tight
fitting yet comfortable. Compression
fabric was the choice material to use as it
meets all of these requirements.
Compression clothing is typically made
with synthetic fibers or a cotton/
spandex/nylon blend, which provides
moisture wicking capability due to its
non-absorbent properties. Perspiration
on the body passes through the inside of
clothing (rather than inside of it) to the
surface, allowing it to evaporate. The
shirt can be constructed out of thin
(approximately 8-9 oz per square foot)7
or thick (approximately 13-14 oz per
square foot) compression fabric,
depending on whether the user would
prefer clothing that would keep them
warmer or cooler. The lighter option was
Access to previously stored data Previously recorded data are
organized by date & time and
called upon when user goes into
the history menu and selects
preferred data
User can manage and delete
stored data
Using the application's delete
function, user will be able to
remove individual files from the
mobile device's internal storage
User can view data in ranges User can view data in real time
of record or can select an
overview of 1 day, 1 week, 1
month, 1 year, or all records
Requirements SpecificationsModule
of17 58
19. "
Figure 3: Third Order Low Pass Filter (ECG)
Cutoff frequency is at 150 Hz. The circuit uses two
single-supply op amps.
The circuit in Figure 4 shows the
setup of the ECG. Two inputs (electrodes)
are required for the amplifier to operate.
The electrodes themselves are stitched
into the compression shirt in such a way
so that they are positioned on opposite
sides of the heart. The signal from the
electrodes passes through the difference
amplifier which then goes for further
filtering. For user protection, the circuit
is isolated by two 5 k# resistors placed
before the inputs of the amplifier. This
ensures the user will be able to safely use
the device.
"
Figure 4: Two Lead ECG
See text for details.
The electrodes are constructed out
of conductive fabric (Silver coated nylon
yarn) which have shown to perform as
well as standard metal ECG electrodes
but are more durable and can handle
being laundered. The Shieldex10
MedTex™ P-180 conductive fabric was
used in this design. It is an affordable yet
high quality fabric with a very low
surface resistance (<5 #). It is made out
of a 78% nylon / 22% elastomer blend
and is stretchable in one direction. More
information on this fabric is given in its
data sheet in Appendix A.
Detecting Movement
This product is designed to observe the
user’s activity by measuring the number
of steps taken and distance travelled
during a recording session. A three axis
accelerometer was chosen because of its
ability to measure acceleration in a
three-dimensional environment. Sudden
changes in the sensor’s orientation in the
x, y and z directions determine in real
time if the user has taken a step. Other
components that are often coupled with
accelerometers such as gyroscopes were
determined unnecessary for this design
since it would provide excess information
and higher power usage. When walking
or running, the average person
experiences between one and three Gs of
force. Therefore it was decided that an11
accelerometer which can detect forces of
up to +/- 3 G was sufficient for this
product rather than other models which
can detect a wider or narrower range of
forces.
This device uses an ADXL335
triple axis accelerometer. It has an
incredibly low power consumption at 320
µA and can be powered by a 3.3 V power
supply. The board has three separate
output pins for the x, y and z directions,
as well as a pin for low power state
activation when the device is not being
used. More information on the ADXL335
can be found in its data sheet in
of19 58
20. Appendix A. Setup of this sensor did not
require any extra components as all
required parts were built into the board.
Detecting Respiration
Breathing is measured with a
simple stretch sensor located on the
sides of the chest. Upon inspiration, a
stretch in the clothing will increase the
separation distance between any two
conductive components in the sensor,
thus decreasing its conductivity and
increasing its total resistance.12
Exhalation restores these components to
their original position and restores its
baseline resistance. Breathing rate can be
calculated by recording the frequency of
the change in resistance. Like the ECG
electrodes, this sensor is also constructed
from layers of stretchy conductive thread
which is stitched directly into the
clothing. Conductive fiber was chosen as
the ideal material for a few reasons. The
first is that it is the most comfortable and
unobtrusive to the user. Second, it can be
almost seamlessly integrated into the
compression fabric as they are both
similar materials. Third, its properties
can be easily modified by altering the
length of the resistor or by modifying the
number of layers. Other pre-made stretch
resistors were either uncomfortable to
wear or were unable to be as properly
integrated into a wearable fabric form.
Stretch resistors in general draw little
current, and so there was not a major
emphasis on finding one that had a
smaller current draw than another,
unless there was a considerable
difference.
"
Figure 5: Stretch Sensor
See text for details.
To increase the sensitivity of the
resistor and to give it a greater overall
resistance, two stretch resistors were
placed in series, one on each side of the
chest. With a basic voltage divider,
respiration can be observed by measuring
the voltage drop across the stretch
resistor. For the circuit in Figure 5, a 1 k#
resistor was used to create the voltage
divider. The sensor is powered by a 3.3 V
power supply. The voltage drop across
the stretch resistor is measured at node
Vout and is sent to the micro controller
for further processing. The signal from
the stretch resistor is passed through a
low pass filter similar to the one used in
the ECG. The only difference is that the
cutoff frequency is at 50 Hz since
respiration occurs at a low rate. Resistor
and capacitor values are given in Figure
6.
"
Figure 6: Third Order Low Pass Filter (Stretch Sensor)
See text for details.
of20 58
21. Data Processing Sub-System (WG)
This sub-system is tasked with
receiving and processing analog data
from a 3-axis accelerometer, stretch
sensor, and an electrocardiogram. The
analog signals will be digitized, and
formatted into usable data so that further
analysis, and calculations can be
conducted. The data will then be
transmitted wirelessly to a bluetooth
compatible device.
Considerations Taken in Micro-Controller
Selection
S e v e r a l p a r a m e t e r s w e r e
considered in determining the micro-
controller to best meet the requirements.
The micro-controller had to be capable of
receiving input voltages within the range
of the output voltages of the sensors. In
order to properly process all of the
analog data, seven ADC channels were
necessary. Another consideration taken
into account, was the size of the micro-
controller. The clock speed was
c o n s i d e r e d i n l i m i t i n g p o w e r
consumption, and providing sufficient
processing power.
Micro-Controller Selection
The Arduino Due, and Uno micro-
controllers were eliminated from
consideration due to their large size,
undesirable input voltage, unnecessary
computing power, and high cost. The Pro
Mini and Fio were relatively similar, both
operating at 3.3V and a clock speed of
8MHz. The Fio had three more ADC
channels than the Pro Mini, but only
seven were needed, a consideration
which both micro-controllers met.
Ultimately, the pro mini’s cost and size
made it the most ideal micro-controller
for the purposes of this project. The Pro
Mini is 39.87% the cost of the Arduino
Fio, and occupies 31.82% of the volume.
Given that the operating conditions were
very comparable between the two micro-
controllers, the Arduino Pro Mini was the
superior choice.
ECG Data Analysis and Calibration
An algorithm was written to
determine a user’s heart rate based upon
their filtered ECG waveform. The
program works through the utilization of
an internal clock, and the incrementing
of a counter every time the algorithm
encounters an R-wave. The R-wave was
utilized because it is the most easily
differentiated from the rest of the PQRST
waveform, due to it’s large amplitude.
The occurrence of an R-wave is
interpreted to be a heartbeat. The filtered
ECG signal is first digitized through the
use of an analog to digital converter. The
algorithm then checks to see if
calibration has been completed. If
uncalibrated, the amplitude of an R-wave
is taken by using the max function, and
then set to be equal to a floating variable.
A threshold is then established a
standardized value below the maximum
R- w a v e e n c o u n t e r e d . O n c e t h e
calibration condition has been met, the
algorithm compares current value to the
threshold value. If the current value is
equal to or greater than the threshold, a
temporary variable is set to a value of
one. In the other case, if the current
value is less than the threshold, and
second temporary variable is set equal to
one, a counter is incremented and the
first temporary variable is set back to
zero. Every six seconds, a variable
of21 58
22. storing the calculated value of BPM is set
equal to the count*10. Count is then set
back to zero, along with the internal
clock. The value of BPM is constantly
printed wirelessly via a bluetooth serial
connection in active mode. The Pan
Tompkins algorithm may be utilized, if
the accuracy and precision of the
analyzed ECG data is undesirable due to
the presence excessive noise.
Stretch Sensor Data Analysis
An algorithm was written to
extrapolate the user’s respiration rate
based upon variations in voltage across a
stretch resistor. The program works by
using an internal clock, and incrementing
a counter every time the user inhales,
and another for every time the user
e x h a l e s . U p o n i n h a l a t i o n , t h e
compression fabric is stretched, and the
resistance increases. This in effect,
increases the voltage drop across the
stretch resistor. The output of the stretch
sensor is filtered through a low pass filter
to omit higher frequencies. The first
derivative of the filtered data is then
taken. Two new variables are declared,
one to hold the previous value of the
stretch sensor derivative, and one to hold
the current value. The previous and
current values are compared, and if the
previous value is positive and the current
value is negative, the inhalation counter
is incremented. The respiration rate is
calculated as the amount of inhalations,
over a minute.
Accelerometer Data Analysis and
Calibration
An algorithm was written to
calibrate the accelerometer, determine
the magnitude of an acceleration vector,
the amount of steps taken by the user,
distance traveled, and energy expended.
Initially the algorithm determines the
overall magnitude of the acceleration
vectors. It then checks to see if the
calibration condition has been met. If
uncalibrated, based upon the max
amplitude of the magnitude vector, a
threshold is set a standardized integer
below the max value. When the user
moves, one step is registered as two
peaks, since the overall magnitude vector
is being utilized. As a result of this, two
other variables must be declared; one to
count the encountered peaks, and one to
check if the current value is over the
threshold. The step counter is only
incremented when two peaks are
counted, and the current value is under
the threshold. The two variables are then
reinitialized to zero after each cycle.
Distance Traveled Calculation
Ideally, if the sensors yielded
p e r f e c t l y a c c u r a t e a n d p r e c i s e
measurements the second derivative of
the calibrated accelerometer data would
yield the position of an object.
Unfortunately, due to the constant
gravity experienced by the accelerometer,
the vector is the sum of the acceleration
data and the gravitational acceleration it
experiences. If one tries to account for
this fact, and subtract the 1G acceleration
due to gravity from the accelerometer
readings then the data will be too noisy
to be useful. Therefore, other parameters
are utilized to calculate the position of
the user. Distance traveled by the user
will be calculated based upon the
accelerometer data, the number of user
steps taken, and the user’s input height.
Based upon the magnitude of the
of22 58
23. accelerometer data, and the rate of steps
taken by the user, the user will be
assumed to be resting, walking, jogging,
or running. For each cadence, a different
step length will be calculated based upon
the input height of the user and the
accelerometer data. Using these
calculations, and the number of steps
taken, a good approximation of the
distance traversed by a user can be
achieved. The calculated traversed
distance will then be cross referenced
with the second derivative of the
accelerometer data, in order to account
for inaccuracy of the sensors. A Kalman
filter was also considered, since it is
considered to be the “theoretically ideal
filter for combining noisy sensors to get
clean, accurate estimates.” It also
accounts for the known physical
properties of the system. Unfortunately,
the algorithm is very labor intensive on
the processor, which does not have the
proper clock speed to implement the
filter and apply it to all of the necessary
data. This is mainly due to it’s use of
large matrices, and mathematical
complexity.
Energy Expenditure Calculation
Energy expended by the user will
be determined by user input data,
including their height and weight, which
will be calculated to yield a good
approximation of their BMI. Based upon
the acceleration data, the number and
frequency of user steps taken, the
metabolic equivalent of the user’s
current activity can be calculated at set
intervals. Depending on the current
m e t a b o l i c a c t i v i t y, t h e e n e r g y
expenditure can be calculated in Calories
per second as a constant, multiplied by
the user’s weight in pounds, and the
metabolic equivalent value.
Energy Expenditure (Calories/Second)=(.
000643)*(User Weight (lbs))*(MET) A13
table of energy values are given in
Appendix G (Table 15).
Battery Selection
S e v e r a l p a r a m e t e r s w e r e
considered in selecting the ideal battery
to meet the requirements. The battery
was required to be under 1.5cm3, and
power all of the electronic components
for at least five hours in active mode. It
had to also output a voltage within the
operating voltage range of the micro-
controller. The upper limit of the device
current consumption was determined to
be 85mA.
Based on the parameters taken
into consideration, the coin cell and
nickel hydride batteries were eliminated.
While the coin cell boasts the smallest
volume, and lowest price, it has the least
amount of capacity and would only
power the device for roughly three hours
in active mode. The nickel hydride
battery has a comparable voltage to the
LiPo. It also has a higher capacity for a
lower price, however, it outputs a
nominal cell voltage of 1.2V which is far
too little to power the device. Ultimately
it became clear that the LiPo battery was
the best choice for the device. A table of
compared batteries is given in Appendix
G (Table 16).
Wireless Modem Selection
A modem is necessary to pair with,
and form a wireless serial connection
between the micro-controller and the
user’s smartphone. The serial connection
of23 58
24. allows for the processed data to be
transmitted wirelessly, so that the data
can be formatted and displayed in the
GUI. Several parameters were considered
in modem selection in order to meet the
requirements. A table of wireless
modems is given in Appendix G (Table
17).
B a s e d o n t h e p a r a m e t e r s
considered, the XBee PCB Antenna -
Series 2 was eliminated. It had a much
higher current consumption than both of
the bluetooth mates by 160%. An
additional dongle would also be needed
to attach the XBee to the Arduino Pro
Mini, therefore encompassing a larger
space than the bluetooth mates. In
determining between the two bluetooth
m a t e s , t h e y h a v e v e r y s i m i l a r
specifications. The two main contrasts
were the price, and transmission range.
The requirement to meet was that, the
device should transmit wirelessly to ones
phone up to 5m, which both modems
met. Therefore the distinguishing
parameter was the price of the modems.
The bluetooth mate silver is ten dollars
cheaper, and as a result, is the selected
modem.
Wireless Transmission & User
Interface Sub-System (LP)
The objective of this sub-system is
to wirelessly receive the processed data
on a mobile device. This data is then
stored and displayed in a user-friendly
graphic user interface. The GUI will be in
the form of an Android App, which will
be able to display the data numerically
and via graph. The app should store the
data and display easy to navigate results.
Mobile Device App
The graphic user interface that
will display the recorded data will be a
mobile Android app. The app will be
designed using the Android Studio and
coded in Java. Android operating system
was chosen over the likes of other
systems, such as iOS, due to it’s open
source platform. This app displays
numerical data as well as graphs
displaying the recorded results. Graphs
show and compare the different readings
from each of the signals. The data will be
displayed in a user-friendly manner, so
the user can read and analyze their own
results. The app will also be able to save a
user’s individual results using the mobile
device’s internal storage, so the data can
be called upon in a later time. The
execution process of the app is displayed
in Figure 17.
Wireless Connectivity
The connection from the remote
unit is done via Bluetooth technology.
This creates a direct connection from the
device straight to the mobile device. With
the current generation of smartphone
mobile devices all containing built in
Bluetooth technology, this is the most
user-friendly and direct way to connect
the two devices. The app will be designed
to enable the smartphone’s Bluetooth
capability and connect to the remote
device. Using the “android.bluetooth”
API in Android Studio, this function is
designed to instantaneously run when
the app is opened. The app will display a
list of the detected bluetooth devices,
and the user selects the Techtiles
Bluetooth device to connect. Once this
connection is made, the application will
return to the main menu and is ready to
of24 58
25. receive the data from the device. An
Android phone uses low energy
Bluetooth technology which allows a
range of roughly 50 meters.
Data Transmission
Doing so via the Bluetooth
connection, the data recorded by the
sensors and processed through the
micro-controller is transmitted to the
mobile device. The app is able to receive
this data using a BluetoothSocket. This
allows the android to open up to
receiving and transmitting data with the
connected device. By using an
InputStream the app will solely receive
the data being transmitted from the
device. The data is then received and
ready to be interpreted within the mobile
app so the application may store and
display the data to the user. The data will
be received at 0.27 Mbps, which is the
standard for Android smartphones.
Data Storage
Once the data is received, the
application will store the data using the
mobile device’s internal storage. Using
the FileOutputStream function the app
will take the data thread created and save
that thread under a filename. Each thread
will be named the date it was recorded, so
it can be placed into the user’s history
and be viewed at any later time. The user
will also have the ability to delete any
individual files if he or she wish from the
app. This function is executed through a
delete function within the app that will
allow files to be removed from the mobile
device’s internal storage. The internal
storage of android will allow the
application up to 1 GB of data. That data
will always be accessible to the user as
long the application remains on their
mobile device.
Data Display
The user will have the option to
view the received data in multiple ways.
The app will consist of different pages for
each sensor. The respiratory output will
display a graph that shows the recording
of respiratory readings over duration of
the time used. The accelerometer page
will display an instantaneous value of the
number of steps as well as the mileage of
distance traveled. Also, a graph will
display the Peak Acceleration versus
Calories Burnt. The Heart Rate page will
consist of a graph analyzing Beats per
minute versus Time. Each page will be
it’s own class and call from the data
stream to be displayed.
Module and System Testing
Overall System Testing
After testing of each sub-system is
complete, testing for the overall system
will consist of making sure all sub-
systems work properly with each other.
The shirt will be worn by a test subject
and begin to take measurements. Heart
rate, respiration rate, steps counted,
distance travelled and energy burned will
all be tracked with other devices or by
observation for reference. The results
displayed on the app for these criteria
should fall within 5% or 10% of the
values calculated for reference,
depending on the parameter.
of25 58
26. Sensor Integration Sub-System
Testing (AH)
Each sensor will undergo multiple
tests to ensure that 1) the proper product
was chosen for the device and 2) the
sensor functioned as intended. All circuit
components will first be built using a
simulation program to make sure the
designed circuit can be realized. Once
properly simulated, the circuits are built
on a breadboard for component testing
and then attached to a permanent board
later on.
Conductive Fabric
The Silver coated Nylon was first
tested to see if it could indeed conduct
electricity properly. This was done by
simply connecting it as a resistor in a
basic circuit with a 3.3 V power supply
and seeing if there is current across the
fabric. Testing showed that the fabric was
indeed conductive as the circuit was
complete and functional. The Silver
coated Nylon fabric was also tested as an
electrode for the ECG. Two swatches of
fabric were cut and placed on a test
subject and checked to see if a proper
ECG waveform can be obtained. The ideal
size for the electrode came to be
approximately 2 in x 3 in.
The stainless steel thread was
tested for conductance by using it as a
switch in a simple circuit. It’s resistance
was also measured to make sure it was
almost negligible (between 0 and 2 ohms)
at longer lengths.
Electrocardiogram
The two-lead ECG will be tested as
a whole as well as by its individual
components. Resistor values were be
checked to make sure they are the same
as the design. The AD620 differential
amplifier was also tested for proper gain
and output. This was determined by first
passing simple sine waves (10 Hz, 20
mVrms & 10 mVrms) as inputs and
observing the resulting output, which
should show a gain of approximately
800-1000. This test was then followed by
applying a simulated heartbeat to the
sensor and observing the output, which
showed the same gain as previously
mentioned. Finally, the ECG will then be
hooked up to a test subject to see if a
proper heart waveform can be acquired.
Accelerometer
The accelerometer was tested by
supplying it with 3.3V and connecting its
X, Y, Z pins to analog pins on a micro-
controller. A simple program was written
to display the raw voltages on a computer
s c r e e n . F u n c t i o n a l i t y o f t h e
accelerometer was then confirmed by
orienting the accelerometer in various
positions and seeing if there is a change
in voltages in the the X, Y and Z
directions. Next, a pedometer program
was written and tested for accuracy.
Results showed that the pedometer was
able to keep track of every simulated step
(a small shake of the board) taken.
Further tests will involve testing the
algorithms developed for calculating the
energy expended and the distance
traveled.
Stretch Sensor
T h e s t r e t c h r e s i s t o r w a s
constructed out of the Silver coated
Nylon fabric and tested for proper
resistance values no less than 50 ohms
when relaxed and no less than 90 ohms
when stretched. Upon testing the fabric,
of26 58
27. resistance values fell in this range when
being stretched. The resistors were then
tested individually and as a complete
circuit, first on the breadboard and then
on the compression shirt. Voltage
readings were observed on the computer
as the resistor was stretched to confirm
proper function while breathing. Further
testing will involve connecting the
sensor to its respective low pass filter
and making sure that high frequencies
are removed from the system.
Data Processing Sub-System Testing
(WG)
Algorithm Accuracy
There are several tests that must be done
to determine the degree of accuracy to
which the algorithm computes various
user data. The calculated data will be
compared to experimental data and a
degree of error will be established. For
each output user data parameter, twenty
ten minute trials will be conducted
experimentally, and compared with
twenty ten minute user sessions
respectively.
The user heart rate output by the
algorithm will be tested through the use
of a simulated ECG waveform. The
calculated heart rate is expected to be
within 5% of the actual BPM output by
the simulated ECG.
The user respiration rate output
by the algorithm will be tested
experimentally, by having an individual
wear the device. The amount of breaths
taken by the user will be recorded and
compared with the computed value. The
value the algorithm outputs is expected
to be within 5% of the experimental
value.
The user steps taken, distance
traversed, and energy expended will be
tested experimentally. To test the user
steps taken, an individual will wear the
device, and the number of steps taken
will be recorded, and compared to the
computed value. The number of
computed user steps taken is expected to
be within 5% of the experimental value.
In order to determine the distance
traversed and energy expended
experimentally, an individual will wear
the device and run on a treadmill at
several different cadences. The values
calculated by the algorithm will then be
compared to the experimental values.
The algorithm is expected to output
values of distance traveled, and energy
e x p e n d e d w i t h i n 1 0 % o f t h e
experimentally determined values.
Battery Life
The battery life of the device will
be tested by leaving the device powered
in active mode. The period of time until
the LiPo battery dies during continuous
use will be determined experimentally,
and compared against the specifications
and theoretically determined values.
Also, the power consumption and current
draw of the micro-controller will be
tested in active mode experimentally, in
order to improve the accuracy of the
theoretical calculation of the battery life.
Wireless Serial Data Transmission
Tests were performed to verify
that the processed data from the micro-
controller can be transmitted wirelessly
via Bluetooth. This was performed by
printing the data to the serial monitor,
while simultaneously outputting the data
to a PC wirelessly using PuTTY, and
of27 58
28. comparing these values. This test will be
done again, but at several intervals of
distances away from the PC, with the use
of a measuring tape as a reference. This is
done to meet the requirement of wireless
transmission up to at least five meters.
Wireless Transmission & User
Interface Sub-System Testing (LP)
Testing of an application comes
with troubleshooting individual classes
throughout the implementation of the
code. Following the design of this sub-
system, several tests are necessary in
chronological order of the design.
Starting with the initial Bluetooth
connection, tests for each module have to
be done throughout the design. The
layout of each page and final design of
the application are imperative as well
and also go through multiple tests. Each
of the following tests need to be done
using the Android Studio and an Android
smartphone. The final phase of testing
will be done by 15 selected participants
to download the app on their personal
Android phones. These users will
navigate through the app, using the
capabilities and features throughout the
design, while recording any bugs or
feedback. The feedback will then be
analyzed to repair all bugs and the
participants will be surveyed to see what
changes would make the app as intuitive
as possible.
Bluetooth Connectivity
Bluetooth connectivity is tested by
using the app to enable and connect the
Android with another device. After
compiling the source code, use Android
Studio to upload the code to an Android
smartphone. Following the structure of
the app design, when launched, the app
should enable and begin a search for
Bluetooth devices. A list of all detected
devices should display and one should be
chosen. Following connection, the app
should return to the main page. The
Bluetooth logo in the top right of the
Android phone will appear if the devices
are paired successfully. To try with
another connection, the user can go into
settings and choose the Bluetooth
option.
Data Transmission
Once the Bluetooth module of the
app is working successfully, the data
transmission can be tested. While paired
t o t h e T e c h t i l e s d e v i c e , t h e
BluetoothSocket should be opened and
data should be being received. For this
test, assure the accelerometer is
functioning and the device is processing
data. Do ensure this, open have the
device plugged into a computer and open
the Arduino Serial Monitor. If the
accelerometer readings are appearing on
the serial monitor, the data is ready to be
received. For the initial part of this code
the writemessage function will process
and display any data received in string
form. Before creating the store function,
this test will simply display a log of the
data being received. This data string will
not appear as the proper form of data,
however demonstrates a successful
transmission of data. Compare the data
from the serial monitor on the computer
to the log of the app to see the similarity
in numbers among the x, y, and z axis to
assure the proper data is being received.
of28 58
29. Data Storage
The step following the successful
implementation of both the bluetooth
connection and data transmission is the
storage. After implementing the storage
m o d u l e , a n d c r e a t i n g t h e
FileOutputStream, the data will now go
directly into file form within the phone’s
internal storage. To test the if the storage
as accessible or not, go to the profile
page and select history. The history page
is designed to list every file of data that is
recorded and received. When a file is
selected, it should open the data that
appears on the serial monitor connected
to the Techtiles device. Furthermore for
this test, disable bluetooth and try
viewing the data within the app. This
assures the data has accessed the internal
storage.
Data Display
This is the final test of the data
being received and processed correctly.
When going through the My Profile page
of the app, pressing Most Recent will
offer the option of choosing which
results to display. When choosing
Respiratory, the graph of the respiratory
output over time should be displayed.
The image should replicate the image
displayed on the serial monitor directly
from the Techtiles device. For the Heart
Rate Page, the data should be displayed
in an ECG of beats per minute vs time.
The time axis should be in minutes and
intervals of 5. The Accelerometer page
will display the figures for number of
steps and distance traveled for that
session. The graph should display peak
acceleration vs. calories burnt. The layout
of these 3 pages is imperative in the
display, and the data must be accurate to
the reading being directly output from
the device. The numerical values from
the serial monitor should be compared
with the app’s display to ensure
consistency over the transmission.
Android Application Layout
The final test of the sub-system is
the layout and proper use of each
function throughout the app design. Each
page and button should be tested to
verify the output is as expected and
described in the table of functions. Each
page should be tested for verification as
well as design layout. While creating the
view’s for each page in Android Studio,
testing the app on an Android phone is
how to test whether the layout of each
button and page is accurate. To assure
the app’s user-friendliness, 15 people will
be asked to download and explore
through the app. A survey will then be
conducted to acquire the feedback and
remarks regarding any bugs in the app, as
well as recommendations.
Economic Analysis (AH)
Costs for each part needed for the
prototype are listed in Table 6 of
Appendix B. An extra $5.00 was charged
for 3-D printing the housing and $10.00
was charged for stitching the sensors into
the shirt. Additionally, a pass through fee
of 5% of the total parts list was added to
the final cost of the prototype. The
resulting total value of the prototype
came out to be $126.92.
Labor positions were split into six
jobs: project manager, design engineer,
of29 58
30. hardware engineer, software engineer,
test engineer and technical writer. The
hours worked by each position was
determined by the how long each process
took in the project Gantt chart in
Appendix C. Salaries and hours worked
are shown in Table 7 in Appendix B.
Along with the base salary value, a
contract cost multiplier of 2.8 was
factored into the salary, resulting in a
total employee payment of $58,408.
Large scale manufacturing costs
are shown in Table 8 in Appendix B. The
cost for producing 1000 units came out to
be $82,370. To find the final price of a
single unit, additional fees like
manufacturing costs, software testing, a
labor multiplier of 2, packaging, an
overhead multiplier of 1.4, and a profit
fee multiplier of 1.2 resulted in a total of
$285.58 for a single unit. A multiplier of
1.2 was added to this cost to determine
the wholesale price of $342.70. Finally,
retail price was determined by adding a
multiplier of 1.5 to the wholesale price,
resulting in a final cost of $514.04 for one
fully finished product.
Detailed information on weekly
expenditures for this system are given in
Table 9 in Appendix B. A graph of the
data can be seen in Figure 7 in Appendix
B. The data of this economic analysis
begins with ECE 3915 all the way to the
first two months of ECE 4925. All costs
and purchases made before the start of
ECE 4920W are given as a lump sum in
week 0. Actual values are shown in green
and estimated expenses are shown in red.
Implementation Plan
Hardware (AH)
There were many hardware
implementations which were determined
by factors other than the requirements of
the device. A sleeveless shirt was chosen
over one with sleeves simply because it
was more cost effective and weighed less.
Silver coated nylon was chosen over
other conductive fabrics for its easy
obtainability as well as its affordable
cost. Resistor and capacitor values for the
filters were determined using a computer
program, and therefore will not be able to
be perfectly repeatable in real life since
certain resistor values do not exist.
However to get as close to the simulated
value as possible. resistors can be added
in series or parallel.
The housing was planned to be
made out of plastic rather than metal or
some other material. Using plastic keeps
the device light, and it offers some circuit
protection for the user when using the
device.
The Arduino Pro mini was chosen
partly in fact because it was 39.87% of
the cost of the Arduino Fio. The pro mini
also occupies 31.82% of the volume,
making implementing it into a smaller
housing more feasible.
Software (WG)
In order to determine the heart
rate, an algorithm was written to detect
the occurrence of R-waves, and
increment a counter accordingly. Then,
over a set interval of time, using an
internal clock, the heart rate could be
determined by knowing the amount of R-
waves that had been encountered, and
the amount of time that had passed. The
algorithm was implemented to count the
R-waves because it is the most easily
of30 58
31. differentiated from the rest of the PQRST
waveform due to its large amplitude. The
occurrence of an R-wave can therefore be
interpreted as a heartbeat. Another
implementation decision was made in
the decision to use a threshold to detect
R-waves. In this manner, the algorithm
compares the current value to the
threshold value, will an R-wave defined
as a reading above the threshold. Due to
this fact, the coded also needed to be
implemented so that the counter would
not increment more than once for a
single R-wave.
In implementing the algorithm to
determine a user’s respiration rate from
the filtered stretch sensor data, a low
pass filter was implemented to omit
undesirable high frequencies. The first
derivative of the filtered data is then
taken, so that the instantaneous slope of
the data can be determined. Two values
were then declared, one to store the
previous value of the slope, and one to
store the instantaneous value. If the
previous value is positive, and the
current value is negative, this
corresponds to the users inhaling. The
opposite is true for exhalation. A counter
is then incremented, for each time an
inhalation is encountered, and then
through the use of an internal clock, the
respiration rate can be determined over a
set interval of time.
One problem in implementing the
accelerometer algorithm is that one step
was displayed as two peaks, as a result of
the overall magnitude vector being
utilized. In order to account for this, two
other variables were declared. One of
which, to count the number of
encountered peaks, and another to
determine if the current value is over the
threshold. Using these two variables, a
set of conditions are established that
allow the step counter to be incremented
only once two peaks are encountered,
and the current value of the magnitude
vector is under the threshold.
In theory, if the sensors yielded
perfectly accurate measurements, the
first derivative of the calibrated
accelerometer data would yield velocity,
and the second derivative would yield
position. This is not the case in reality,
due to imperfect sensor readings, and the
constant gravitational force experienced
by the accelerometer. If one tries to
account for this fact, and subtract the 1G
acceleration due to gravity from the
accelerometer readings then the data will
be too noisy to be useful. As a result o
this fact, other parameters are used to
calculate the position of a user. Based
upon the magnitude of the accelerometer
data, and the rate of steps taken by the
user, the user will be assumed to be
resting, walking, jogging, or running. For
each cadence, a different step length will
be calculated based upon the input
height of the user and the accelerometer
data. Using these calculations, and the
number of steps taken, a good
approximation of the distance traversed
by a user can be achieved. The calculated
traversed distance will also be cross-
referenced with the second derivative of
the accelerometer data, in an attempt to
improve accuracy. A Kalman filter was
considered but ruled out due to its
processing requirements.
Energy expended by the user will
be determined by user input data,
including their height and weight, which
will be calculated to yield a good
approximation of their BMI. Based upon
of31 58
32. the acceleration data, the number and
frequency of user steps taken, the
metabolic equivalent of the user’s
current activity can be calculated at set
intervals. Depending on the current
m e t a b o l i c a c t i v i t y, t h e e n e r g y
expenditure can be calculated in Calories
per second as a constant, multiplied by
the user’s weight in pounds, and the
metabolic equivalent value.
Summary and Conclusions (AH)
The final design for the device did not
deviate far from what was originally
posed in ECE 3915. Beginning with
textile-based sweat sensors, the project
was simplified to include other sensors
which determined heart rate, respiration
rate and movement, as the former
proposal would require much more
research than actual design. More
features like distance travelled and
energy expended were added to the
device to incorporate a more holistic
view of the user’s physiological
measurements.
The team has been working well as a
group and has been overall quite
successful in implementing the design.
We are currently working on making
more accurate programs as well as analog
filters for the sensors. Making the
hardware components smaller is a
constant goal that should be revisited
frequently. Design is still being done on
the app to make it as user-friendly and
straightforward as possible, however this
is probably the most difficult aspect of
t h e p r o j e c t . I t i s r e l a t i v e l y
straightforward to test sensor data and
signal processing on a computer, but
sending it through bluetooth to a mobile
d e v i c e r e q u i r e s m o r e c o m p l e x
programming.
Applicable Standards (AH, WG:
50%)
Given that the user will be directly
in contact with this device, there are
certain standards that must be met if this
product were to be commercialized.
Based off of the standards provided by
the ANSI Search Engine for Standards
(NSSN) and International Standards
Organizations (ISO), the following is a
list of standards which should be
considered when producing this device
on a larger scale.
Document Number Title
IEC 60601-2-47 Ed. 2.0 b:
2012
Medical electrical equipment - Part 2-47: Particular requirements for the
basic safety and essential performance of ambulatory
electrocardiographic systems
Document Number
of32 58
33. ISO/IEEE
11073-10406:2012
Health informatics - Personal health device communication - Part 10406:
Device specialization - Basic electrocardiograph (ECG) (1- to 3-lead
ECG)
ASTM E2457-07(2013) Standard Terminology for Healthcare Informatics
ISO 29.035.60 Varnished fabrics
ISO 29.035.01 Insulating materials in general
ISO 19.080 Electrical and electronic testing
ISO 01.110 Technical product documentation Including rules for preparation of user
guides, manuals, product specifications, etc.
ISO 35.240.10 Computer-aided design (CAD)
IEC 62209-2 Ed. 1.0 b:
2010
"Human exposure to radio frequency fields from hand-held and body-
mounted wireless communication devices - Human models,
instrumentation, and procedures - Part 2: Procedure to determine the
specific absorption rate (SAR) for wireless communication devices used
in close proximity to the human body (frequency range of 30 MHz to 6
GHz)"
BNEPSpecification1 Bluetooth Network Encapsulation Protocol
SAE AIR 5561-2013 (SAE
AIR5561-2013)
Lithium Battery Powered Portable Electronic Devices
IEEE 1725-2011 IEEE Standard for Rechargeable Batteries for Cellular Telephones
IEC 62281 Ed. 2.0 b:2012 Safety of primary and secondary lithium cells and batteries during
transport
TitleDocument Number
of33 58
34. Table 5: Applicable Standards
IEC 60086-1 Ed. 11.0 b:
2011
Primary batteries - Part 1: General
IEEE 1667-2009 Standard Protocol for Authentication in Host Attachments of Transient
Storage Devices
ISO/TS 17575-2:2010 Electronic fee collection - Application interface definition for autonomous
systems
ISO 6093:1985 Information processing - Representation of numerical values in character
strings for information interchange
ISO/IEC 14957:2010 Information technology - Representation of data element values -
Notation of the format
TitleDocument Number
of34 58
35. Qualifications of Key Personnel
All members of the group are
pursuing a degree in engineering from
The George Washington University
(Husain: Biomedical Engineering,
Gottschalk: Biomedical Engineering,
Parsons: Electrical Engineering). Each
member has taken courses in computer
programming, university physics,
engineering electronics, data structures,
algorithms, computer logic and circuit
theory. To accompany these classes, all
members are able to code, design
structures using CAD programs and build
electronic devices.
Aamir Husain Qualifications (AH)
Aamir has a strong background in
hands on circuit circuit design and
coding in C/C++. He also has extensive
knowledge of CAD programs, specifically
SolidWorks, from his internship at a
spinal prosthetics company. Aamir has
taken classes in Circuit Theory,
Engineering Electronics and Digital
Signal Processing, and he is planning on
taking Mechatronics Design in the future.
With these classes and previous
knowledge learned from outside of
school, including graphic design, Aamir
has the necessary skills to properly
design and implement his sub-system.
William Gottschalk Qualifications (WG)
W i l l i a m i s a B i o m e d i c a l
Engineering major that has a strong
background in the Natural Sciences,
computer programming. William has
taken Intro to C Programming, and Data
Structures which allowed him to become
proficient in using the Arduino IDE. He
has also taken Circuit Theory, Circuits
Signals and Systems, and Digital Signal
Processing. These classes have given him
the necessary skills to be successful in
implementing his sub-system.
Leo Parsons Qualifications (LP)
Leo is an Electrical Engineering
student with experience in and out of the
classroom in computer engineering and
software design. Leo has completed
courses in Intro to C Programming, Data
Structures, Data Communications, and
Microprocessors: Software/Hardware.
Outside of his studies, Leo has
e x p e r i e n c e i n t e r n i n g a t a
communications test design company,
where he gained extensive experience in
working with C/C++ as well as graphic
user interface design. Through
experiences in the field, and his current
education in electrical and computer
engineering, Leo has acquired the
necessary skills to implement and design
a successful sub-system.
Intellectual Contributions
Aamir Husain Intellectual
Contributions (AH)
Aamir is in charge of designing
and integrating the ECG, respiration
sensor and accelerometer into the
compression shirt. Each sensor was
chosen to minimize current draw and
have a supply voltage of no more than
3.3V. He is responsible for purchasing the
sensor and other hardware components
as well except for the bluetooth module
and micro-controller.
of35 58
36. William Gottschalk Intellectual
Contributions (WG)
William is tasked with receiving
and processing analog data from a 3-axis
accelerometer, stretch sensor, and an
electrocardiogram respectively. The data
from each sensor must be quantized and
processed. Using the Arduino IDE,
algorithms were written to calibrate the
device, and alert the user if incorrectly
equipped. Additional algorithms were
written to extrapolate heart rate, and
respiration rate from physiological
readings. Another algorithm was written
to calculate the amount of steps taken,
distance traveled, and energy expended
based upon the accelerometer data, and
user input information. Finally, a
program was written to pair with, and
form a wireless serial connection with a
bluetooth enabled device, and to
transmit the processed data to a
bluetooth compatible device. William
also was responsible for powering the
device, and wireless module selection.
Leo Parsons Intellectual Contributions
(LP)
Leo is charged with the wireless
data transmission as well as graphic user
interface design. The data being
transmitted must be received, stored, and
displayed within the GUI. Leo’s
responsibilities consisted of deciding
what platform the GUI will be designed
on and what software will be used to
implement the design. Choosing to
create a GUI that would be a mobile
application, Leo decided to create the
app using the Android operating system.
This app must display the data processed
from the Techtiles device. It is Leo’s
responsibility to create a professional
looking application, which is intuitive for
it’s user to navigate and work efficiently.
Teaming Arrangements
The project will be done in three
sub-systems, by one group member
respectively. Aamir Husain will handle
the fabric design, and the integration of
sensors and other necessary electronics.
William Gottschalk will receive and
process the analog signals from the
sensors. The signals will be quantized,
and formatted into usable data so that
further analysis and calculations can be
conducted. The processed data will then
be transmitted wirelessly via bluetooth to
a compatible personal device. Leo
Parsons will conduct the analysis of the
digital signals, and create the graphical
user interface so the data can be
displayed in a presentable manner.
of36 58
37. Appendix A: Product Data Sheets
Appendix A contains some necessary data sheets which were referenced
throughout the report. More information on these products can be found on the
companies’ respective websites.
Data sheets are given for the following products:
MedTex P-180 Conductive Fabric
AD620 Differential Amplifier
ADXL335 Triple Axis Accelerometer
Class 2 Bluetooth Module
of37 58
40. IMPORTANT LINKS for the AD620*
Last content update 01/08/2014 09:49 am
Looking for a high performance in-amp with lower noise, wider bandwidth, and fast settling time? Consider the AD8421
Looking for a high performance in-amp with lower power and a rail-to-rail output? Consider the AD8422.
DOCUMENTATION
AD620: Military Data Sheet
AN-282: Fundamentals of Sampled Data Systems
AN-244: A User's Guide to I.C. Instrumentation Amplifiers
AN-245: Instrumentation Amplifiers Solve Unusual Design Problems
AN-671: Reducing RFI Rectification Errors in In-Amp Circuits
AN-589: Ways to Optimize the Performance of a Difference Amplifier
A Designer's Guide to Instrumentation Amplifiers (3rd Edition)
UG-261: Evaluation Boards for the AD62x, AD822x and AD842x Series
ECG Front-End Design is Simplified with MicroConverter
Low-Power, Low-Voltage IC Choices for ECG System Requirements
Ask The Applications Engineer-10
Auto-Zero Amplifiers
High-performance Adder Uses Instrumentation Amplifiers
Protecting Instrumentation Amplifiers
Input Filter Prevents Instrumentation-amp RF-Rectification Errors
The AD8221 - Setting a New Industry Standard for Instrumentation
Amplifiers
ADI Warns Against Misuse of COTS Integrated Circuits
Space Qualified Parts List
Applying Instrumentation Amplifiers Effectively: The Importance of an
Input Ground Return
Leading Inside Advertorials: Applying Instrumentation Amplifiers
Effectively–The Importance of an Input Ground Return
DESIGN TOOLS, MODELS, DRIVERS & SOFTWARE
In-Amp Error Calculator
These tools will help estimate error contributions in your
instrumentation amplifier circuit. It uses input parameters such as
temperature, gain, voltage input, and source impedance to determine
the errors that can contribute to your overall design.
In-Amp Common Mode Calculator
AD620 SPICE Macro-Model
AD620A SPICE Macro-Model
AD620B SPICE Macro-Model
AD620S SPICE Macro-Model
AD620 SABER Macro-Model Conv, 10/00
EVALUATION KITS & SYMBOLS & FOOTPRINTS
View the Evaluation Boards and Kits page for documentation and
purchasing
Symbols and Footprints
PRODUCT RECOMMENDATIONS & REFERENCE DESIGNS
CN-0146: Low Cost Programmable Gain Instrumentation Amplifier
Circuit Using the ADG1611 Quad SPST Switch and AD620
Instrumentation Amplifier
DESIGN COLLABORATION COMMUNITY
Collaborate Online with the ADI support team and other designers
about select ADI products.
Follow us on Twitter: www.twitter.com/ADI_News
Like us on Facebook: www.facebook.com/AnalogDevicesInc
DESIGN SUPPORT
Submit your support request here:
Linear and Data Converters
Embedded Processing and DSP
Telephone our Customer Interaction Centers toll free:
Americas: 1-800-262-5643
Europe: 00800-266-822-82
China: 4006-100-006
India: 1800-419-0108
Russia: 8-800-555-45-90
Quality and Reliability
Lead(Pb)-Free Data
SAMPLE & BUY
AD620
View Price & Packaging
Request Evaluation Board
Request Samples Check Inventory & Purchase
Find Local Distributors
* This page was dynamically generated by Analog Devices, Inc. and inserted into this data sheet.
Note: Dynamic changes to the content on this page (labeled 'Important Links') does not
constitute a change to the revision number of the product data sheet.
This content may be frequently modified.
Powered by TCPDF (www.tcpdf.org)