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.
- 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.
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)
- 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
- 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
A simple microphone and audio amplifier to pick up heart, lung and bowel sounds.
- Button Mic
- Audio amplifier
- Shielded twisted-pair cable
- Mic plug
- Requirements Identification
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.
- MCP9700A Temperature Monitor in TO-92.
- Non-insulative casing for probe.
 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
- 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
- I2C 12/14b
- 10b ADC on MCU
- Fake ADC using resistor matrix&digital inputs
- 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.
- Main Chipset: LP2982
- LP2982 5, 4.5, or 3v regulator
- Over-voltage protector
- USB Connector
 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
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
 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?