TeleHealth Hardware: Difference between revisions
m (→Problems) |
m (Reverted edits by 109.73.68.18 (Talk) to last revision by Tabitha) |
||
(47 intermediate revisions by 18 users not shown) | |||
Line 1: | Line 1: | ||
{{Health}} |
{{Health}} |
||
= Introduction = |
|||
There are currently several groups working on Health sensors for the XO. Some are a simple as a temperature gauge that can be plugged into the audio-in port and used with [[Measure]]. But the eventual goal of [[Health Hardware]] is a $10USD USB device that can act as a full TeleHealth remote sensor package for pulse, temperature, blood oximeter, and many other simple sensors. This along with built in tools like the Webcam and Microphone it will allow doctors and [[Health Professionals]] to diagnose patients from hundreds of miles away. This would greatly stretch the abilities of limited resources for healthcare. |
|||
{{TOCright}} |
|||
= Sensors = |
= Sensors = |
||
== EKG == |
== [[Health_Hardware/ECG|EKG]] == |
||
Simple 3 lead EKG for arrhythmia and trauma diagnosis. Also facilitates pedagogical exercises into |
Simple 3 lead EKG for arrhythmia and trauma diagnosis. Also facilitates pedagogical exercises into |
||
Line 34: | Line 27: | ||
*Electrode offset tolerance: + - 320 mV dc (this is due to the fact the electrodes get polarized) |
*Electrode offset tolerance: + - 320 mV dc (this is due to the fact the electrodes get polarized) |
||
[http://wiki.laptop.org/go/Image:EKG.JPG EKG Schematic] Tentative design similar to the above specs |
*[http://wiki.laptop.org/go/Image:EKG.JPG EKG Schematic] Tentative design similar to the above specs |
||
*[http://wiki.laptop.org/go/Image:Protoboard.JPG EKG Circuit] A photo of the initial circuit. |
|||
=== Status === |
=== Status === |
||
* Current problems include tuning op-amps and prototyping. |
* Current problems include tuning op-amps and prototyping. |
||
* Determine efficient alternatives to the classical electrodes. |
* Determine efficient alternatives to the classical electrodes. |
||
* As a side note the signal must be AM modulated before going to the XO, because some low frecuency components of the EKG signal are filtered by the card, so modulation implies also demodulation on the PC side, in this case some kind of python script must do the trick. |
|||
== Pulse Oximeter == |
== Pulse Oximeter == |
||
An invaluable piece of medical equipment relaying information about pulse and oxygen saturation by analyzing the output of two filtered photo-diodes in two different frequencies. The pulse oximeter operates on the theory that oxygenated and deoxygenated hemoglobin have different absorption and reflection frequencies. The same principle can be applied to any other small organic molecule with identifiable spectra, with proper calibration. |
An invaluable piece of medical equipment relaying information about pulse and oxygen saturation by analyzing the output of two filtered photo-diodes in two different frequencies. The pulse oximeter operates on the theory that oxygenated and deoxygenated hemoglobin have different absorption and reflection frequencies. The same principle can be applied to any other small organic molecule with identifiable spectra, with proper calibration. |
||
=== Hardware === |
=== Hardware === |
||
'''Currently nonfunctional''' design consists of a |
'''Currently nonfunctional''' design consists of a AD854x operational amplifier with supporting passive components connected to a photodiode. A red and IR Led are driven by the MCU alternately. The data from the photodiode will be transmitted to the XO and collated, where, after calibration, it will provide information in both graphical waveforms and numerical statistics. |
||
* Main Chipset: |
* Main Chipset: AD854x Op-Amp(same as used in the EKG) |
||
=== |
=== Links === |
||
* Electronics links: |
|||
* Working with a SOT23 part with less than optimal tools |
|||
** Micro-controller-hobbyist-built pulse oximeter: http://tinkerish.com/blog/?p=166 |
|||
** PO Box, another hobbyist oximeter: http://www.youritronics.com/po-box-just-another-oximeter/ |
|||
*** PDF abstract http://www.circuitcellar.com/microchip2007/winners/DE/abstracts/MT2278_Abstract.pdf |
|||
*** Project documentation, theory, and code http://www.circuitcellar.com/microchip2007/winners/DE/entries/MT2278.zip |
|||
** Academic theory and construction of a pulse oximeter: http://www.ett.co.th/product/robot/tcs230/App_525_proj2.pdf |
|||
** Analog Devices case study on oximeter using ADuC7024 microconverter: http://www.analog.com/library/analogdialogue/archives/41-01/pulse_oximeter.html |
|||
** Block diagrams for TI's pulse oximeter hardware: http://focus.ti.com/docs/solution/folders/print/330.html |
|||
* Theory / medical links |
|||
** Theory on Pulse Oximeter: http://courses.cs.tamu.edu/rgutier/cpsc483_s04/pulse_oximetry_notes.pdf |
|||
** More pulse oximetry theory: http://www.ph.surrey.ac.uk/~phs3ps/surj/v2/li.pdf |
|||
* Misc |
|||
** How to read an oximeter (appears normal air O2 level is high 90s) http://www.ehow.com/how_2075144_read-pulse-oximeter.html |
|||
** http://pulsesensor.com/ opensource heart rate sensor project |
|||
== Stethoscope == |
== Stethoscope == |
||
Line 72: | Line 81: | ||
= MCU + ADC = |
= MCU + ADC = |
||
* The Atmel ATtiny461 is likely going to be used. The chip has been prioritized over the PIC18F4553 due to pricing, features, and programming. As Atmel Chips have excellent documentation, a FOSS toolchain, and a fantastic community, design should be fairly straight-forward and easy. |
|||
* The PIC18F4553, a derivative of the PIC18F4550, a commonly used MCU, is likely going to be used. Our current design borrows heavily from the [http://www.create.ucsb.edu/~dano/CUI/ CREATE USB Interface]. |
|||
* The ' |
* The '461 provides the following: |
||
** |
** 10x10b ADC |
||
** |
** 20 pin DIP |
||
** 4KB of Flash Memory |
|||
** I2C |
|||
** 40 pin DIP |
|||
** 32KB of Flash Memory |
|||
** Socketable DIP |
|||
* Design / Programming goals |
* Design / Programming goals |
||
** Total of 7 digital outputs; 1 IR LED, 1 Red LED, and 5 Indicator LEDs |
** Total of 7 digital outputs; 1 IR LED, 1 Red LED, and 5 Indicator LEDs |
||
** More than 6 analog inputs, voltage input ranging from 0-5v |
** More than 6 analog inputs, voltage input ranging from 0-5v |
||
** 3 digital inputs for buttons allowing allowing secondary control |
|||
** Real-time reading of analog inputs via USB |
|||
** Real-time reading and control of analog and digital I/O via USB/PyUSB |
|||
*** Python or shell |
|||
** Real-time reading of digital inputs via USB |
|||
*** Python or shell |
|||
** Minimize number of unused pins / maximize hackability. |
** Minimize number of unused pins / maximize hackability. |
||
==Brain Dump== |
|||
** Firmware Bootloader supporting flash update via USB. |
|||
*att461 |
|||
*** Software controlled? (Two digital outputs trigger reset and program buttons via transistor switching?) |
|||
**drives Red LED and IR LED at mid frequency (120+hz) |
|||
**powered straight from USB with smoothing capacitor and fuse |
|||
**reads amplified photodiode signal(analog) |
|||
***photodiode signal amplified via AD854n schematic in datasheet |
|||
**reads EKG signal or controls sound card input(for higher accuracy) |
|||
***EKG amplified using AD854n as well |
|||
***Controls soundcard input via FET? |
|||
***EKG using [http://www.eng.utah.edu/~jnguyen/ecg/instructions.html|Home Made Electrocardiogram] until AD854n design is finished(summer) |
|||
**constantly monitoring |
|||
***Pulse Ox - software side user detection |
|||
***Thermometer - starts recording when temp > 33 degrees Celcius |
|||
**push button monitoring of EKG |
|||
**drives the following digital I/O |
|||
***as many green LEDs as inputs(for good signal/monitoring indication) |
|||
***one red LED(for warning signal) |
|||
***one button(for EKG control) |
|||
*IO/MCU paradigms |
|||
*Pick one from each of the following columns |
|||
==ADC== |
|||
*I2C 12/14b |
|||
*10b ADC on MCU |
|||
*Fake ADC using resistor matrix&digital inputs |
|||
==Communication== |
|||
*software USB (read AVR-USB) |
|||
*hardware USB (read AT90USB) |
|||
*USB-Serial chip (read Prolific or FTDI) |
|||
* [[User:Mchua]] will likely be handling the [ |
* [[User:Mchua]] will likely be handling the [[/Programming]]. |
||
= Power Supply = |
= Power Supply = |
||
Due to the nature of medical instrumentation as necessitating high-precision power supply, some combination of a regulator chip, fuse, and smoothing capacitor are needed. |
Due to the nature of medical instrumentation as necessitating high-precision power supply, some combination of a regulator chip, fuse, and smoothing capacitor are needed. |
||
If the power supply of the circuit is connected to the electrical net, this has to be carefully isolated form the electrical connections that provide the biomedical signals. A bad isolation can put the patient at risk for electrical shock. |
|||
== Hardware == |
== Hardware == |
||
Line 107: | Line 137: | ||
= Get Involved = |
= Get Involved = |
||
Your help is very welcome in this project. If you would like to participate in the [[Health Jam]] in Seattle around early April we are looking for organizers and participants. |
Your help is very welcome in this project. If you would like to participate in the [[Health Jam]] in Seattle around early April we are looking for organizers and participants. Contact [[User:DyD|Ian Daniher]] if you're interested. |
||
=== Help wanted === |
|||
* Provide talent, time, or treasure: |
* Provide talent, time, or treasure: |
||
Line 117: | Line 147: | ||
* Program! We're in need of interested Python programmers. |
* Program! We're in need of interested Python programmers. |
||
* Provide expertise! Provide a critique of the procedure and component selection outlined above. We can always use an extra head, especially if you have '''any''' experience in the fields of telehealth or telemedicine |
* Provide expertise! Provide a critique of the procedure and component selection outlined above. We can always use an extra head, especially if you have '''any''' experience in the fields of telehealth or telemedicine |
||
* Come to the [[Health Jam]] in Seattle, or help us plan it. |
|||
=== Parts needed to start developing === |
|||
If you want to contribute to hardware or firmware design, you'll need the following to get started. |
|||
* [http://spreadsheets.google.com/ccc?key=p9ze5UJZKyDt-1dNy5P2tCg&hl=en Pre-Alpha BOM] |
|||
* PIC Programmer |
|||
== People == |
== People == |
||
''' Warning - below information is obsolete. I [Ian] will update it soonly. ''' |
|||
[[User:DyD | DyD]] has been working on designing (and learning everything needed to design) a TeleHealth Module for several months. He is doing parts selection, circuit design and layout, and general coordination type things. |
|||
--[[User:DyD|DyD]] 19:50, 13 January 2010 (UTC) |
|||
[[User:DyD | Ian Daniher]] has been working on designing (and learning everything needed to design) a TeleHealth Module for several months. He is doing parts selection, circuit design and layout, and general coordination type things. |
|||
[[User:Mchua | Mel Chua]] is the firmware coder, and is organizing a [[Health Jam]] in April to complete the project |
|||
[[User:Mchua | Mel Chua]] is the firmware coder |
|||
[[User:Sethwoodworth | Seth Woodworth]] was the man on the ground in Seattle getting resources organized for the [[Health Jam]] |
|||
== Similar Projects == |
|||
* http://www.eng.utah.edu/~jnguyen/ecg/ecg_index.html |
|||
* http://reza.net/cms/index.php?page=HealthMonitor |
|||
* http://www.thinkcycle.org/tc-notes/?topic_id=39823 |
|||
* http://web.media.mit.edu/~msung/vitamon.php |
|||
* http://www.kmitl.ac.th/~kswichit%20/ |
|||
== External links == |
|||
* http://olpcgoldenstate.blogspot.com/ |
|||
[[User:Sethwoodworth | Seth Woodworth]] is the man on the ground in Seattle getting resources organized for the upcoming [[Health Jam]] |
|||
[[Category:Health]] |
[[Category:Health]] |
||
[[Category:Hardware]] |
[[Category:Hardware]] |
||
[[Category:Peripherals]] |
[[Category:Peripherals]] |
||
== P.S. and random thoughts == |
|||
* Optimize design for low part count, reducing complexity, allowing for field repair. |
|||
* Multipurpose chips? Potentially share op-amps between EKG and Pulse ox. |
|||
* Water and sterilizer proof case - allow for submersion in alcohol to sterilize? |
|||
* Rather than "all in one" ADC and USB MCU, perhaps use low cost attiny2* with a dedicated ADC chip? Increases code complexity, perhaps, but results in lower BOM? |
|||
[[Category:Measure]] |
Latest revision as of 05:40, 28 September 2011
Sensors
EKG
Simple 3 lead EKG for arrhythmia and trauma diagnosis. Also facilitates pedagogical exercises into
- Four parts:
- Connection: Electrodes connecting device to person
- Amplification: Multiplies the voltage of the heart's electrical signal into something computer-usable
- Opto-Isolation: Protection circuits
- USB ADC: Inputs data to the XO
- Main Chipset : The AD8541/2/4 series op-amps fulfill the target specs perfectly.
Target Specs
- Low frequency: -3 db @ 0.1 Hz
- High frequency: -3 db @ 45 Hz
- Patient leakage current: <10 µA with acquisition module connected (meets AAMI standard SCL 1278)
- Chassis leakage current: <100 µA (meets AAMI standard SCL 1278)
- Common mode rejection: 130 dB minimum with balanced leads. With 5Kohm imbalance 100dB
- A/D conversion: 10-12 bits
- Impedance: 100 Mohm, defibrillator-protected (optional for the XO)
- Signal Dynamic range: 10 mV
- Electrode offset tolerance: + - 320 mV dc (this is due to the fact the electrodes get polarized)
- EKG Schematic Tentative design similar to the above specs
- EKG Circuit A photo of the initial circuit.
Status
- Current problems include tuning op-amps and prototyping.
- Determine efficient alternatives to the classical electrodes.
- As a side note the signal must be AM modulated before going to the XO, because some low frecuency components of the EKG signal are filtered by the card, so modulation implies also demodulation on the PC side, in this case some kind of python script must do the trick.
Pulse Oximeter
An invaluable piece of medical equipment relaying information about pulse and oxygen saturation by analyzing the output of two filtered photo-diodes in two different frequencies. The pulse oximeter operates on the theory that oxygenated and deoxygenated hemoglobin have different absorption and reflection frequencies. The same principle can be applied to any other small organic molecule with identifiable spectra, with proper calibration.
Hardware
Currently nonfunctional design consists of a AD854x operational amplifier with supporting passive components connected to a photodiode. A red and IR Led are driven by the MCU alternately. The data from the photodiode will be transmitted to the XO and collated, where, after calibration, it will provide information in both graphical waveforms and numerical statistics.
- Main Chipset: AD854x Op-Amp(same as used in the EKG)
Links
- Electronics links:
- Micro-controller-hobbyist-built pulse oximeter: http://tinkerish.com/blog/?p=166
- PO Box, another hobbyist oximeter: http://www.youritronics.com/po-box-just-another-oximeter/
- PDF abstract http://www.circuitcellar.com/microchip2007/winners/DE/abstracts/MT2278_Abstract.pdf
- Project documentation, theory, and code http://www.circuitcellar.com/microchip2007/winners/DE/entries/MT2278.zip
- Academic theory and construction of a pulse oximeter: http://www.ett.co.th/product/robot/tcs230/App_525_proj2.pdf
- Analog Devices case study on oximeter using ADuC7024 microconverter: http://www.analog.com/library/analogdialogue/archives/41-01/pulse_oximeter.html
- Block diagrams for TI's pulse oximeter hardware: http://focus.ti.com/docs/solution/folders/print/330.html
- Theory / medical links
- Theory on Pulse Oximeter: http://courses.cs.tamu.edu/rgutier/cpsc483_s04/pulse_oximetry_notes.pdf
- More pulse oximetry theory: http://www.ph.surrey.ac.uk/~phs3ps/surj/v2/li.pdf
- Misc
- How to read an oximeter (appears normal air O2 level is high 90s) http://www.ehow.com/how_2075144_read-pulse-oximeter.html
- http://pulsesensor.com/ opensource heart rate sensor project
Stethoscope
A simple microphone and audio amplifier to pick up heart, lung and bowel sounds.
Hardware
- Button Mic
- Audio amplifier
- Shielded twisted-pair cable
- Mic plug
Status
- Requirements Identification
Thermometer
A small temperature monitor with accuracy of plus or minus half a degree Celsius will, with calibration, provide information about the body's natural temperature fluxes as well as alerting a monitoring individual to dangerous extremes.
Hardware
- MCP9700A Temperature Monitor in TO-92.
- Non-insulative casing for probe.
Status
- Prototyping
MCU + ADC
- The Atmel ATtiny461 is likely going to be used. The chip has been prioritized over the PIC18F4553 due to pricing, features, and programming. As Atmel Chips have excellent documentation, a FOSS toolchain, and a fantastic community, design should be fairly straight-forward and easy.
- The '461 provides the following:
- 10x10b ADC
- 20 pin DIP
- 4KB of Flash Memory
- Design / Programming goals
- Total of 7 digital outputs; 1 IR LED, 1 Red LED, and 5 Indicator LEDs
- More than 6 analog inputs, voltage input ranging from 0-5v
- 3 digital inputs for buttons allowing allowing secondary control
- Real-time reading and control of analog and digital I/O via USB/PyUSB
- Minimize number of unused pins / maximize hackability.
Brain Dump
- att461
- drives Red LED and IR LED at mid frequency (120+hz)
- powered straight from USB with smoothing capacitor and fuse
- reads amplified photodiode signal(analog)
- photodiode signal amplified via AD854n schematic in datasheet
- reads EKG signal or controls sound card input(for higher accuracy)
- EKG amplified using AD854n as well
- Controls soundcard input via FET?
- EKG using Made Electrocardiogram until AD854n design is finished(summer)
- constantly monitoring
- Pulse Ox - software side user detection
- Thermometer - starts recording when temp > 33 degrees Celcius
- push button monitoring of EKG
- drives the following digital I/O
- as many green LEDs as inputs(for good signal/monitoring indication)
- one red LED(for warning signal)
- one button(for EKG control)
- IO/MCU paradigms
- Pick one from each of the following columns
ADC
- I2C 12/14b
- 10b ADC on MCU
- Fake ADC using resistor matrix&digital inputs
Communication
- software USB (read AVR-USB)
- hardware USB (read AT90USB)
- USB-Serial chip (read Prolific or FTDI)
- User:Mchua will likely be handling the /Programming.
Power Supply
Due to the nature of medical instrumentation as necessitating high-precision power supply, some combination of a regulator chip, fuse, and smoothing capacitor are needed. If the power supply of the circuit is connected to the electrical net, this has to be carefully isolated form the electrical connections that provide the biomedical signals. A bad isolation can put the patient at risk for electrical shock.
Hardware
- Main Chipset: LP2982
- LP2982 5, 4.5, or 3v regulator
- Over-voltage protector
- Fuse
- USB Connector
- Shielding
Get Involved
Your help is very welcome in this project. If you would like to participate in the Health Jam in Seattle around early April we are looking for organizers and participants. Contact Ian Daniher if you're interested.
Help wanted
- Provide talent, time, or treasure:
- If you have experience designing medical instrumentation, and are willing to mentor or assist high school age students...
- If you have extra time and are able to send emails, track down sample components, or raise awareness...
- If you don't know what to do with your old soldering iron, oscilloscope, or components collection...
- Program! We're in need of interested Python programmers.
- Provide expertise! Provide a critique of the procedure and component selection outlined above. We can always use an extra head, especially if you have any experience in the fields of telehealth or telemedicine
- Come to the Health Jam in Seattle, or help us plan it.
Parts needed to start developing
If you want to contribute to hardware or firmware design, you'll need the following to get started.
- Pre-Alpha BOM
- PIC Programmer
People
Warning - below information is obsolete. I [Ian] will update it soonly. --DyD 19:50, 13 January 2010 (UTC)
Ian Daniher has been working on designing (and learning everything needed to design) a TeleHealth Module for several months. He is doing parts selection, circuit design and layout, and general coordination type things.
Mel Chua is the firmware coder
Seth Woodworth was the man on the ground in Seattle getting resources organized for the Health Jam
Similar Projects
- http://www.eng.utah.edu/~jnguyen/ecg/ecg_index.html
- http://reza.net/cms/index.php?page=HealthMonitor
- http://www.thinkcycle.org/tc-notes/?topic_id=39823
- http://web.media.mit.edu/~msung/vitamon.php
- http://www.kmitl.ac.th/~kswichit%20/
External links
P.S. and random thoughts
- Optimize design for low part count, reducing complexity, allowing for field repair.
- Multipurpose chips? Potentially share op-amps between EKG and Pulse ox.
- Water and sterilizer proof case - allow for submersion in alcohol to sterilize?
- Rather than "all in one" ADC and USB MCU, perhaps use low cost attiny2* with a dedicated ADC chip? Increases code complexity, perhaps, but results in lower BOM?