Difference between revisions of "Programmable Chip EEG"

From OpenCircuits
Jump to navigation Jump to search
(→‎See also:: questions tagged "biopotential")
(24 intermediate revisions by 6 users not shown)
Line 51: Line 51:
 
That circuit inverts the common mode signal from the instrumentation amp, sums the result from each instrumentation amp, and sends the total back to the body.
 
That circuit inverts the common mode signal from the instrumentation amp, sums the result from each instrumentation amp, and sends the total back to the body.
  
The ADCs simultaneously digitize all the analog signals ''(really?)'' I have to look into this....
+
The ADCs have a syncronise option... I have to look into this....
 
The ADCs send bits of information (representing the original analog electrical signals) to the controller motherboard.
 
The ADCs send bits of information (representing the original analog electrical signals) to the controller motherboard.
  
Line 60: Line 60:
 
The controller board can be programmed using AVR GCC.
 
The controller board can be programmed using AVR GCC.
  
[[image:UCschematicardunonmonolith.png]]
+
Here is the Schematic
Here is the circuit board of it.
 
 
look at [http://www.pceeg.sourceforge.net pceeg.sourceforge.net]
 
look at [http://www.pceeg.sourceforge.net pceeg.sourceforge.net]
  
Partlist
+
Partlist  
 
look at [http://www.pceeg.sourceforge.net pceeg.sourceforge.net]
 
look at [http://www.pceeg.sourceforge.net pceeg.sourceforge.net]
  
Exported from PCEEG_Version_1.02_Alpha_05-09-08_uC.sch at 6/16/2008 3:41:30 PM
+
Here is the circuit board
 
 
EAGLE Version 5.0.0 Copyright (c) 1988-2008 CadSoft
 
 
 
Part    Value          Device          Package      Library      Sheet
 
 
 
B2                      RB1A            RB1A        rectifier    1
 
C0      1000uf        CPOL-USE5-13    E5-13        rcl          1
 
C1      .1uf          CAPNP-5@2      C-5@1        DISCRETE    1
 
C2      1µF            ELC-2,5        EL25B        DISCRETE@2  1
 
C3      330uf          CPOL-USE5-10.5  E5-10,5      rcl          1
 
C4      .1uf          CAPNP-5        C-5          DISCRETE    1
 
C5      47µF          ELC-5          EL25B        DISCRETE    1
 
C6      .1uf          CAPNP-5@2      C-5@1        DISCRETE    1
 
C7      .01uf          CAPNP-5        C-5          DISCRETE    1
 
C8      .1uf          CAPNP-5        C-5          DISCRETE    1
 
C9      47µF          ELC-5          EL25B        DISCRETE    1
 
C13      0.1uF          C-US025-025X050 C025-025X050 minimidi    1
 
C14      0.1uF          C-US025-025X050 C025-025X050 minimidi    1
 
D1      Green          LED3MM          LED3MM      minimidi    1
 
D2      RED            LED5            LED5        LED          1
 
IC1                    78XXS          78XXS        v-reg        1
 
IC2      ATMEGA168P    ATMEGA168PROUND DIL28/3      avr          1
 
IC105    TMV0505S      TMV0505        TMADCDC      MODEEG      1
 
J1      2.1MMJACK      2.1MMJACK      PJ-102A      minimidi    1
 
JP1                    PINHD-2X3      2X03        pinhead-ez  1
 
L1      22µH          L-10            R-12,5      DISCRETE@2  1
 
L2      22µH          L-10            R-12,5      DISCRETE@2  1
 
OK1      6N137          6N137          DIL08        optocoupler  1
 
OK2      6N137          6N137          DIL08        optocoupler  1
 
OK3      6N137          6N137          DIL08        optocoupler  1
 
R1      1k            R-US_0207/5V    0207/5V      rcl          1
 
R2      10k            R-US_0207/5V    0207/5V      rcl          1
 
R3      1k            R-US_0207/5V    0207/5V      rcl          1
 
R4      1k            R-US_0207/5V    0207/5V      rcl          1
 
R5      1k            R-US_0207/5V    0207/5V      rcl          1
 
R6      1k            R-US_0207/5V    0207/5V      rcl          1
 
R7      1k            R-US_0207/5V    0207/5V      rcl          1
 
R8      1k            R-US_0207/5V    0207/5V      rcl          1
 
R9      1k            R-US_0207/5V    0207/5V      rcl          1
 
S2      RESET          10-XX          B3F-10XX    switch-omron 1
 
SV1                    MA03-1          MA03-1      con-lstb    1
 
SV2                    MA09-1          MA09-1      con-lstb    1
 
SV3                    MA03-1          MA03-1      con-lstb    1
 
SV4                    MA03-1          MA03-1      con-lstb    1
 
SV7                    MA06-1          MA06-1      con-lstb    1
 
SV8                    MA08-1          MA08-1      con-lstb    1
 
USB.I/O                MA06-1          MA06-1      con-lstb    1
 
X2      16.00MHz      CERMOSCILL      CERM_OSC    digg        1
 
 
 
Working on some other improvements... C123 with 1uF is much too small. Use 1000uF or so instead.
 
 
look at [http://www.pceeg.sourceforge.net pceeg.sourceforge.net]
 
look at [http://www.pceeg.sourceforge.net pceeg.sourceforge.net]
 
[[image:adschematicad1256devbrdnmonolith.png]]
 
Here is the circuit board of it.
 
[[image:PCEEG_Version_1.34_Alpha_06-15-08_ADBrd.png]]
 
 
Partlist
 
 
see the [pceeg.sourceforge.net] for the latest parts list.
 
  
 
== Parts used in the PCEEG: ==
 
== Parts used in the PCEEG: ==
 
* [http://opencircuits.com/LT1168 LT1168 Resistor-Programmable-Gain Precision Instrumentation Amplifier] is used to amplify the weak electric signals coming from the brain through electrodes attached to the scalp, etc.
 
* [http://opencircuits.com/LT1168 LT1168 Resistor-Programmable-Gain Precision Instrumentation Amplifier] is used to amplify the weak electric signals coming from the brain through electrodes attached to the scalp, etc.
* Several [http://opencircuits.com/LT1114 LT1114 Low Power Precision OP-Amps] are used for amplification and filtering of the signal
+
* and more...
  
 
==ESD Protection in 1168==
 
==ESD Protection in 1168==
Line 170: Line 111:
 
* Maxima a computer algebra system s used for graphing and math displays.
 
* Maxima a computer algebra system s used for graphing and math displays.
 
*SPI interface code for a/d converters from TI for developers
 
*SPI interface code for a/d converters from TI for developers
 
+
*SPI interface for the arduino with a eeprom
 +
*kicad
 
=== How You Can Help ===
 
=== How You Can Help ===
 
#. get the tools
 
#. get the tools
 +
#. what is better old or new analog to digital converter boards power supply?
 +
#. simulate the circuit?
 +
#. how does the circuit look to you analog amplifier board needs more people looking at it and so does the analog to digital converter board.
 +
#. help code for the avr mega 168 arduino clone with isolation to communicate with the ads1256 a/d converter.
  
 
== Open Source Circuit Design ==
 
== Open Source Circuit Design ==
 
* [http://opencircuits.com/Programmable_Chip_EEG Open Source Circuit Design ]
 
* [http://opencircuits.com/Programmable_Chip_EEG Open Source Circuit Design ]
* [http://pceegbci.blog.com/ The Programmable Chip EEG Open Source Circuit Design BLog] ''(BrokenLink -- I hope this is only temporarily offline. --[[User:DavidCary|DavidCary]] 10:12, 8 October 2007 (PDT) )''
+
* [http://pceeg.sourceforge.net/ The Programmable Chip EEG Brain Computer Interface Open Source Circuit Design]
  
 
== ideas for future work ==
 
== ideas for future work ==
Line 202: Line 148:
 
Please contribute and make the PCEEG a great tool for researching brain computer interfaces.
 
Please contribute and make the PCEEG a great tool for researching brain computer interfaces.
  
 +
 +
== Related wiki ==
 +
 +
* [[OpenEEG]]
 +
* [http://wiki.asiaquake.org/openeeg/published/ The OpenEEG wiki]
 +
* [http://pceeg.wikia.com/wiki/Main_Page wiki cities on pceeg]
 +
* [http://en.wikibooks.org/wiki/Biomedical_Engineering:_A_Roadmap/Biomedical_Instrumentation/Electrocardiography Wikibooks: Biomedical Engineering: Electrocardiography]
  
 
== See also: ==
 
== See also: ==
 
* [http://www.nytimes.com/2008/01/15/science/15robo.html?ex=1359090000&en=69146e0fb3807a74&ei=5124&partner=permalink&exprod=permalink/ Monkey’s Thoughts Propel Robot, a Step That May Help Humans ]
 
* [http://www.nytimes.com/2008/01/15/science/15robo.html?ex=1359090000&en=69146e0fb3807a74&ei=5124&partner=permalink&exprod=permalink/ Monkey’s Thoughts Propel Robot, a Step That May Help Humans ]
* [http://wiki.asiaquake.org/openeeg/published/ The OpenEEG wiki]
 
* [http://pceegbci.blog.com/ The Open EEG Brain Computer Interface BLog]
 
 
* [http://www.larryheadinstitute.com/eeg-training.html EEG Training Seminars]
 
* [http://www.larryheadinstitute.com/eeg-training.html EEG Training Seminars]
* [http://pceeg.wikia.com/wiki/Main_Page wiki cities on pceeg]
 
 
* [http://pceeg.sourceforge.net pceeg.sourceforge.net]
 
* [http://pceeg.sourceforge.net pceeg.sourceforge.net]
 
* [http://www.answers.com/topic/miguel-nicolelis miguel nicolelis]
 
* [http://www.answers.com/topic/miguel-nicolelis miguel nicolelis]
 
* [http://maxima.sourceforge.net/ Maxima - a computer algebra system]
 
* [http://maxima.sourceforge.net/ Maxima - a computer algebra system]
* [http://www.scienceprog.com/ digital high pass filters and other circuits]
+
* [[PCB Manufacturers]]
* [http://hcvl.hci.iastate.edu/cgi-bin/openEyes.cgi human and computer vision lab]
+
* [http://www.meta-mind.de Brainwave Neurofeedback open source]
* [[PCB Manufacturers]] such as [http://www.batchpcb.com/index.php www.batchpcb.com]
 
 
* [http://vulliard.dyndns.org/~vulliard/ eeg biofeedback "mind machine"]
 
* [http://vulliard.dyndns.org/~vulliard/ eeg biofeedback "mind machine"]
 
* [http://freenet-homepage.de/moosec/projekte/simpleeeg/index-Dateien/Page431.htm monolith eeg]
 
* [http://freenet-homepage.de/moosec/projekte/simpleeeg/index-Dateien/Page431.htm monolith eeg]
* [http://mindhacks.com/blog/2007/01/meg_scanning_the_bra.html yet another pundit disrespects the EEG]
 
* [http://www.pololu.com/laser_cutting.html lazer cutting for box & solder paste stencil]
 
* [http://www.amazon.com/Build-Your-Printed-Circuit-Board/dp/007142783X?tag2=zottmann1-20 Build Your Own Printed Circuit Board]
 
 
* [http://www.stencilsunlimited.com/solder_products.php solder paste for surface mount that can be stored at room temperature]
 
* [http://www.stencilsunlimited.com/solder_products.php solder paste for surface mount that can be stored at room temperature]
 
* The thread [http://forum.microchip.com/tm.aspx?m=114626 "amplifying biomedical signals: 150 uA with 16 bit resolution?"] has several op-amp suggestions, and mentions that "a good, low-noise, low-cost, isolated EMG/EEG amplifier is one of the most demanding analog electronics designs."
 
* The thread [http://forum.microchip.com/tm.aspx?m=114626 "amplifying biomedical signals: 150 uA with 16 bit resolution?"] has several op-amp suggestions, and mentions that "a good, low-noise, low-cost, isolated EMG/EEG amplifier is one of the most demanding analog electronics designs."
Line 231: Line 177:
 
* Is there a [http://www.electronicproducts.com/ShowPage1.asp?SECTION=&PRIMID=&FileName=medtelconf3%2Ejul2004%2Ehtml&ReturnLink=%2FSearch1%2Easp%3FManufacturer%3D%26Keyword%3Dimplantables%26Slot%3D0%26StartNum%3D1%26stype%3D%26year%3D10&MonthYear=Jul+2004 Medical Electronics Forum]?
 
* Is there a [http://www.electronicproducts.com/ShowPage1.asp?SECTION=&PRIMID=&FileName=medtelconf3%2Ejul2004%2Ehtml&ReturnLink=%2FSearch1%2Easp%3FManufacturer%3D%26Keyword%3Dimplantables%26Slot%3D0%26StartNum%3D1%26stype%3D%26year%3D10&MonthYear=Jul+2004 Medical Electronics Forum]?
 
* [http://www.makezine.com/blog/archive/2006/01/homemade_electrocardiograph.html Make: Homemade Electrocardiograph] ([http://www.eng.utah.edu/~jnguyen/ecg/ecg_index.html] recommends skin lotion or shampoo as a low-cost electrode gel)
 
* [http://www.makezine.com/blog/archive/2006/01/homemade_electrocardiograph.html Make: Homemade Electrocardiograph] ([http://www.eng.utah.edu/~jnguyen/ecg/ecg_index.html] recommends skin lotion or shampoo as a low-cost electrode gel)
 
+
* [http://www.techradar.com/reviews/pc-mac/peripherals/input-devices/general-input-devices/ocz-neural-impulse-actuator--269721/review "OCZ Neural Impulse Actuator review"]
 
+
* the [http://vadim.oversigma.com/esl/esl.html "Every Sign of Life"] project proposes a "personal health monitor capable of measuring EKG, temperature, respiration, and other physiological parameters". Perhaps the Programmable Chip EEG could somehow be used with it?
 
+
* [http://solar-blogg.blogspot.com/search/label/Heart solar-blogg]: Optical Heartbeat Detector and yet another DIY Electrocardiograph
 +
* [http://www.biosemi.com/publications/artikel3.htm "High quality recording of bioelectric events. I: Interference reduction, theory and practice"] by A. C. MettingVanRijn, A. Peper, C. A. Grimbergen. (1988?)
 +
* [http://www.swharden.com/blog/2009-08-14-diy-ecg-machine-on-the-cheap/ "DIY ECG Machine On The Cheap"] by Scott Harden.
 +
* [http://wish.seeedstudio.com/?p=60 "2-lead electrocardiogram (ECG) analog frontend."]
 +
* [http://www.youtube.com/watch?v=yADsi5W-Lls "Collin's Lab: Infrared heart sensor"] using an Arduino, an infrared emitter and detector pair, and two resistors.
 +
* [http://code.google.com/p/opendous/wiki/BioSensorPlatform "BioSensorPlatform: ADS1298 Based Biopotential Sensor Platform"] "an OpenHardware Biopotential Sensor Platform based on TI's ADS1298 ADC with ECG/EEG front end." "Design files are available in Open Formats for the KiCAD Open Source EDA Suite." 8 channels of simultaneous sampling 24-bit ADC inputs, and also a Wilson central terminal output and a right-leg drive (RLD) output.
 +
* [https://github.com/qdot/emokit emokit], now part of [http://www.openyou.org/ OpenYou], supports the Emotiv headset, also called the Emotiv EPOC Brain-Computer Interface. (via [http://daeken.com/emokit-hacking-the-emotiv-epoc-brain-computer-0 Daeken])
 +
* [http://electronics.stackexchange.com/questions/tagged/biopotential Electronics Stackexchange questions tagged "biopotential"]
 +
* [http://electronics.stackexchange.com/questions/21924/16-channel-eeg-data-aquisition-system "16 channel EEG data aquisition system"]
 +
* [http://electronics.stackexchange.com/questions/25198/noise-reduction-strategies-in-electrophysiology "Noise reduction strategies in electrophysiology"]
 +
* [http://en.wikipedia.org/wiki/Multiscale_Electrophysiology_Format Wikipedia: Multiscale Electrophysiology Format]
  
 
[[Category:Projects]]
 
[[Category:Projects]]

Revision as of 13:25, 19 April 2014

The Programmable Chip EEG

Welcome to the PCEEG Wiki, where everyone can add to this EEG brain-computer interface!

PCEEG, What it is and why it can be the best

  • The The Programmable Chip EEG gets its name because its hardware and software can be adjusted digitally from a home pc.
  • The Programmable Chip EEG is a Modular Multi-channel electroencephalograph.
  • This can be used for a brain-computer interface with biofeedback using a flex sensor or servo to detect fingure movements.
  • The LT1168 Programmable-Gain Precision Instrumentation Amplifier is used to amplify the weak electric signals coming from the brain through electrodes attached to the scalp, and has internal protection circuitry for the user.
  • ESD Protection in LT1168 Programmable-Gain Precision Instrumentation Amplifier Chips have been chosen that fallow the human body model of esd protection this can be seen in the 1168 datasheet.
  • To reduce noise in the readout of the analog part of this circuit, a common-mode feedback is passed back into the body by the driver right leg circuit, for example, 60Hz noise from nearby A/C power wiring.
  • The amplifier board will amplify the signal then the analog to digital converter will digitize the signal and pass the data to the microcontroler board. The microcontroler board is based on the AVR Mega168 which will, further process the signals, and provide an interface to a computer.
  • we are using the AVR Mega 168.
  • The arduino software tools & GCC C tools and the AVR Mega 168 allows for a complete open source system...

News

The Microcontroler board has been bought from sparkfun's prototyping site. A order for components for the parts of the pceeg microcontroler board will be this weekend

The design is useing Eagle CAD, because the auto-router is excellent for open-source productivity. It will allow the design to evolve faster and with less work with a wider selection of PCB Manufacturers. Batch PCB from sparkfun.com worked well.

The robot arm interface by Miguel Nicolelisis very inspiring. He used implanted electrodes to monitor and allow monkeys to control a robot arm as if it was their own. Could the PCEEG do the same with its electrodes on the scalp. Only the future will show.

Status

  • The microcontroler pcb is in my hand the components will be ordered this weekend.
  • Using the open Boarduno design to prototype the design.

Hardware Overview

look at pceeg.sourceforge.net

Description of How it Works

Neurons in the brain are not perfectly insulated -- some of their electrical activity leaks out and causes (very faint) electrical signals on the skin.

Dry skin is an excellent insulator, so "electrode gel" (typically skin lotion or shampoo) is used to help conduct the electrical signals to the electrode. The researcher tapes the gel-coated electrodes to the skin, or uses a headband to press the electrodes through the hair against the skin. Insulated wires attached to the electrodes bring the signals to the signal processing daughter board.

The signal amplificant and analog to digital converter board amplifies and digitises the signals from the body. Then the signals are passed to the microcontroler board. The motherboard then can pass the signal to a larger computer.

On the amplifier board is a passive high pass filter on the input, an amplifier. The instrumentation amplifier amplifies the differential analog signal on the input wires.

The analog to digital converter board a analog to digital converter. Then the signal is digitized by a a/d converter. The a/d converter has approximately 20 bits accuracy so the signal does not have to be conditioned or filtered as much.

The "right leg driver" circuit on the analog to digital converter board is intended to decrease common mode signal. That circuit inverts the common mode signal from the instrumentation amp, sums the result from each instrumentation amp, and sends the total back to the body.

The ADCs have a syncronise option... I have to look into this.... The ADCs send bits of information (representing the original analog electrical signals) to the controller motherboard.

The controller board is the mother board of the system. All the signal processing daughter boards plug into the mother board. The controller board is based off the open hardware Boarduino design. The controller board includes a Atmel AVR Mega 168. The controller board can be programmed using AVR GCC.

Here is the Schematic look at pceeg.sourceforge.net

Partlist look at pceeg.sourceforge.net

Here is the circuit board look at pceeg.sourceforge.net

Parts used in the PCEEG:

ESD Protection in 1168

Chips have been chosen that fallow the human body model of esd protection this can be seen in the 1168 datasheet.


To reduce noise in the readout of the analog part of this circuit, a common-mode feedback is passed back into the body by the driver right leg circuit. Band reject filter may also be used (to reject, for example, 60Hz noise from nearby A/C power wiring).

The analog signal prossesing board will digitise the signal and pass the data to the control board. The control board is based on the UBW which will, further process the signals, and provide an interface to a computer & lcd display.

A/D Converters

The programmable chip EEG needs an A/D converter to convert the analog signal (at the output of the instrumentation amplifier) into digital bits. We expect this project to require at least 20 bit ADC. It will amplify the signal less requiring less analog signal processing and use the more sensitive a/d converter to make up for less amplification and cause less signal attenuation.

  • $12.00 The ads1255 or ads1256 by ti is a great a2d converter it has programmable gain and digital low pass filtering with 24 bits of resolution 30KSPS. It is a 20-SSOP so it can be soldered by a hotplate or hot air rework tool.

The newest system is a dc amplifier without a high-pass, and all the low-pass filtering is digital

Electrical Isolation From the PC.

This isolates the PCEEG from the computer when used with a DC to DC converter.

DC to DC converter

The design is based on the modular eeg and monolith eeg they use a TMV0505S, but it is not available in many places. It will be replaced with NMV0505SA. This converter has a rather high output voltage (6-7 V) at very light loads. Therefore, when building the digital board measure the voltage in the +5V/3 of modular eeg designnet, e.g. at IC103 pin 8.

The voltage should be LESS than 6V. If not, you must reduce the value of R127 (near the LED), in order to present the DCDC converter with a higher load.

Optocoupler

A optocoupler by Fairchild 6N137 is used to transfer data from the microprossesor to the Rs232 converter by light.

"The MonolithEEG uses 6N137 opto-couplers which can reliably transmit data at rates above 1MBaud. This provides a simple way to higher sampling rates for the MonolithEEG"

"The ModularEEG allows the replacement of the 6N139 with the faster 6N137. Soley the resistors R125 and R130 on the digital board have to be taken out otherwise both receivers would be disabled permanently."

Software Tools

  • EAGLE CAD is being used to create the first PCB. surface mount is used to save space.
  • gEDA tools may be a option for opening this design to a wider audience.
  • Maxima a computer algebra system s used for graphing and math displays.
  • SPI interface code for a/d converters from TI for developers
  • SPI interface for the arduino with a eeprom
  • kicad

How You Can Help

  1. . get the tools
  2. . what is better old or new analog to digital converter boards power supply?
  3. . simulate the circuit?
  4. . how does the circuit look to you analog amplifier board needs more people looking at it and so does the analog to digital converter board.
  5. . help code for the avr mega 168 arduino clone with isolation to communicate with the ads1256 a/d converter.

Open Source Circuit Design

ideas for future work

Currently most EEGs (and EKGs) have "passive electrodes" -- it's a conductive button pressed against the skin, with a long wire that takes the faint signal to the amplifier in the box.

A few EEGs have "active electrodes" -- the amplifier is on top of the conductive button, and sends a strong analog signal down the long wire to the ADC in the box.

User:DavidCary is thinking about going one step further: put the amplifier and the ADC on the electrode, sending out digital packets to the box. Can I do all that with a single chip -- an 8-pin PSoC? Also, instead of each electrode having its own dedicated wire to the data collection box, all the PSoCs are connected in a string (or some other network), forwarding packets from one to the next, so no matter how many electrodes are connected, only about 4 wires (2 power + 2 digital data) are connected. I haven't decided yet whether it's better to have every node do both -- sample data and forward packets -- or if I should split them up, with PSoCs sampling data and sending it to a hub, and hubs (perhaps not PSoCs) forwarding data from a few local PSoCs and from other hubs. --DavidCary 08:50, 10 October 2007 (PDT)


Open source (public) results!

PHP will be used to create a database of users and what they sample and choose to share with the open source community.

The database will give statistical analysis on users recordings.

Also the extension of SETI called BIONIC could be used as a distributed library creation of artifacts and data mining.

Please contribute and make the PCEEG a great tool for researching brain computer interfaces.


Related wiki

See also: