TeleHealth Hardware: Difference between revisions

From OLPC
Jump to navigation Jump to search
m (Reverted edits by 109.73.68.18 (Talk) to last revision by Tabitha)
 
(34 intermediate revisions by 16 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.

Three main use cases are envisioned for the project.

# Stationary medical monitoring - in an impoverished ICU, Hospital, or as part of a check-up in a doctor's office
# Remote checkups, multiplexing doctors' labor via non-realtime data viewing and allowing for simple algorithm sieves to be applied to parameterized data to flag individuals with higher needs
# Real-time checkups following a discharge from a medical institution where on-site checkups are prohibited or made difficult via distance; 2 weeks, 4 weeks, 2 months, 6 months....


{{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 46: Line 33:
* 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 MAX4006 photodiode signal amplifier 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.
'''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: MAX4006 Op-Amp
* Main Chipset: AD854x Op-Amp(same as used in the EKG)


=== Problems ===
=== 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 79: 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.
== Following information may be obsolete - the ATtiny461 may be used instead, specs to follow ==
* The '461 provides the following:
* 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].
** 10x10b ADC
* The '18F4553 provides the following:
** USB
** 20 pin DIP
** 4KB of Flash Memory
** 13x12b ADC
** 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 [[/Programming]].
* [[User:Mchua]] will likely be handling the [[/Programming]].
Line 135: Line 157:


== People ==
== People ==

''' Warning - below information is obsolete. I [Ian] will update it soonly. '''
--[[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: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]] is the man on the ground in Seattle getting resources organized for the upcoming [[Health Jam]]
[[User:Sethwoodworth | Seth Woodworth]] was the man on the ground in Seattle getting resources organized for the [[Health Jam]]


== Similar Projects ==
== Similar Projects ==
* http://www.eng.utah.edu/~jnguyen/ecg/ecg_index.html
* http://reza.net/cms/index.php?page=HealthMonitor
* http://reza.net/cms/index.php?page=HealthMonitor
* http://www.thinkcycle.org/tc-notes/?topic_id=39823
* http://www.thinkcycle.org/tc-notes/?topic_id=39823
* http://web.media.mit.edu/~msung/vitamon.php
* http://web.media.mit.edu/~msung/vitamon.php
* http://www.kmitl.ac.th/~kswichit%20/

== External links ==
* http://olpcgoldenstate.blogspot.com/




Line 156: Line 186:
* Multipurpose chips? Potentially share op-amps between EKG and Pulse ox.
* Multipurpose chips? Potentially share op-amps between EKG and Pulse ox.
* Water and sterilizer proof case - allow for submersion in alcohol to sterilize?
* 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

  This page is part of the OLPC Health Project. Hardware | Software | Content | Health Jam
XO Caudecus

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)

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

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)

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.

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

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?