Difference between revisions of "Programmable Chip EEG"

From OpenCircuits
Jump to navigation Jump to search
(link to post about reducing noise in EKG electronics)
 
(186 intermediate revisions by 55 users not shown)
Line 2: Line 2:
 
Welcome to the PCEEG Wiki, where everyone can add to this EEG brain-computer interface!
 
Welcome to the PCEEG Wiki, where everyone can add to this EEG brain-computer interface!
  
== What it is and what it can be used for ==
+
== PCEEG, What it is and why it can be the best ==
* The Programmable Chip EEG gets its name because its hardware and software can be adjusted digitaly from a home pc.
+
* The [http://pceeg.sourceforge.net The Programmable Chip EEG] gets its name because its hardware and software can be adjusted digitally from a home pc.  
* The hardware can be adjusted by[http://opencircuits.com/Programmable_Potentiometers Digitally Programmable Potentiometers]. They are used to set the Gain, frequency range.
 
 
* [http://pceeg.sourceforge.net The Programmable Chip EEG] is a Modular Multi-channel electroencephalograph.
 
* [http://pceeg.sourceforge.net 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.  
 
* This can be used for a brain-computer interface with biofeedback using a flex sensor or servo to detect fingure movements.  
 +
* The [http://opencircuits.com/LT1168 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 [http://opencircuits.com/LT1168 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...
  
The hardware can be adjusted by digitaly programmable [http://opencircuits.com/Programmable_Potentiometers Digitally Programmable Potentiometers]. They are used to set the Gain, frequency range.
+
== News ==
This is usefull to calibrate multiple analog boards for different EEG tests.
+
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
* [http://opencircuits.com/LT1168 LT1168 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
 
* The [http://opencircuits.com/Digitally_Programmable_Potentiometers Digitally Programmable Potentiometers AD5204] 4-Channel Digitally Controlled Potentiometer is used to make calibration of this device easier.  (Historically, a weak point of homebrew designs has been their sensitivity to component value; tolerance and drift have made them require constant tweaking for good results.)
 
  
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 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 analog signal prossesing board will digitise the signal and pass the data to the control board. The control board is based on the [http://en.wikipedia.org/wiki/AVR_Butterfly AVR Butterfly] which will, further process the signals, and provide an interface to a computer & lcd display.
+
The robot arm interface by [http://www.answers.com/topic/miguel-nicolelis Miguel Nicolelis]is 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 ==
 
== Status ==
We currently have a (preliminary?) [[circuit design]] and a (prelimary) [[PCB layout]].
+
*The microcontroler pcb is in my hand the components will be ordered this weekend.
We are using LT switcher CAD to draw the scematic.  
+
*Using the open Boarduno design to prototype the design.
  
== Software Tools ==
+
== Hardware Overview ==
* We are using LT switcher CAD to draw the scematic.  
+
look at [http://www.pceeg.sourceforge.net pceeg.sourceforge.net]
* This also is a SPICE Simulator used to analize the amplifier design.
 
* Eagle CAD could be used in the future after all the parts are surface mount & the analog sections are alalised.
 
* Express PCB could be used to create the first PCB but surface mount must be used to save hole count and space.  
 
  
 +
== Description of How it Works ==
  
== Hardware Overview ==
+
Neurons in the brain are not perfectly insulated -- some of their electrical activity leaks out and causes (very faint) electrical signals on the skin.
Here is a diagram of how the analog signal processing boards and the microprocessor board will come together.
 
[[Image:Pceeg.jpg]]
 
 
=== How You Can Help ===
 
*I2C interface diagram for programmable resistors and a/d converters 12 or more bits with low cost.
 
*SPI interface diagram for programmable resistors and a/d converters 12 or more bits with low cost.
 
*linear switcher cad schematic drawing from PCEEG technology applied to the Open EEG design with improvements.
 
*migrate from switcher cad to pcb express.
 
*migrate from pcb express to eagle cad after testing to further development.
 
  
 +
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.
  
== News ==
+
The signal amplificant and analog to digital converter board amplifies and digitises the signals from the body.
The design is switching to 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 [[production houses to choose from]].  
+
Then the signals are passed to the microcontroler board.
 +
The motherboard then can pass the signal to a larger computer.  
  
Here is a picture of the PCEEG being done in [http://www.cadsoft.de/freeware.htm EagleCAD].
+
On the amplifier board is a passive high pass filter on the input, an amplifier.
[[Image:Eagle_sample.GIF]]
+
The instrumentation amplifier amplifies the differential analog signal on the input wires.
The eagle cad file is here [[Media:PCEEGHD.zip]]
 
  
The ideas and monkey to robot arm interface by [http://www.answers.com/topic/miguel-nicolelis Miguel Nicolelis]is 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.
+
The analog to digital converter board a [[Integrated_Circuits#ADC_analog_to_digital_converter | 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.
  
== Description of How it Works ==
+
The "right leg driver" circuit on the analog to digital converter board is intended to decrease common mode signal.
The daughter signal prossesing board is responcible for filtering and digitising the signals from the body, then the signals are passed to the control board that is the motherboard. The motherboard then can pass the signal to a larger computer.  
+
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 differential analog signal is amplified by the instramentation amplifier. Then the signal is amplified and conditioned by high pass and low pass filters.
+
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 common mode signal is inverted summed and sent back to the body to decrese common mode signal thsi is done by the driver right leg circuit.
+
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]] [[Arduino Links| Boarduino]] design.
 +
The controller board includes a Atmel [[AVR]] Mega 168.
 +
The controller board can be programmed using AVR GCC.
  
Band reject filters may be added soon in the future.
+
Here is the Schematic
 +
look at [http://www.pceeg.sourceforge.net pceeg.sourceforge.net]
  
Then the analog signals are simultaniously digitized and the digital values can be clocked to the controler motherboard.
+
Partlist
 +
look at [http://www.pceeg.sourceforge.net pceeg.sourceforge.net]
  
The controler board that is the mother board of the system and the signal prossesing daughter boards plug into is the [http://en.wikipedia.org/wiki/AVR_Butterfly AVR Butterfly]
+
Here is the circuit board
 +
look at [http://www.pceeg.sourceforge.net pceeg.sourceforge.net]
  
 
== Parts used in the PCEEG: ==
 
== Parts used in the PCEEG: ==
* [http://opencircuits.com/LT1168 LT1168 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...
* The [http://opencircuits.com/Digitally_Programmable_Potentiometers Digitally Programmable Potentiometers AD5204] 4-Channel Digitally Controlled Potentiometer is used to make calibration of this device easier. (Historically, a weak point of homebrew designs has been their sensitivity to component value; tolerance and drift have made them require constant tweaking for good results.)
+
 
 +
==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).
 
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 [http://en.wikipedia.org/wiki/AVR_Butterfly AVR Butterfly] which will, further process the signals, and provide an interface to a computer & lcd display.
+
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 | 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 ===
 +
#. 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://www.thinkcycle.org/ Think Cycle]
+
* [http://pceeg.sourceforge.net/ The Programmable Chip EEG Brain Computer Interface Open Source Circuit Design]
* [http://pceegbci.blog.com/ The Programmable Chip EEG Open Source Circuit Design BLog]
+
 
 +
== 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 [http://openeeg.sourceforge.net/doc/hw/ae.html "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.
 +
--[[User:DavidCary|DavidCary]] 08:50, 10 October 2007 (PDT)
 +
 
 +
----
  
 
== Open source (public) results! ==
 
== Open source (public) results! ==
Line 86: 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.
  
== 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.
+
== Related wiki ==
We expect this project to require at least 12 bit ADC.
 
  
Many Atmel and other microcontrollers have a built-in ADC, but those are at most 10 bit ADC, so that ADC is useless to us -- we are forced to use an external ADC.
+
* [[OpenEEG]]
 
+
* [http://wiki.asiaquake.org/openeeg/published/ The OpenEEG wiki]
What low-cost ADC are available with at least 12 bits?
+
* [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]
* $2.50 MCP3301 has 1 ADC input (13 bits)
 
* $3.50 MCP3302 has 2 ADC input (13 bits)
 
* $3.50 MCP3204 has 4 ADC input (12 bits)
 
* $4 MCP3208 has 8 ADC input (12 bits)
 
* $8 dsPIC30F microcontroller has 8 ADC inputs (12 bits).
 
 
 
== The Goal ==
 
Eventually, kits could be sold, if there were interest.
 
More info is available at the PCEEG SourceForge home page at [http://pceeg.sourceforge.net/ PCEEG sourceforge.net].
 
  
----
 
 
== See also: ==
 
== See also: ==
* [http://wiki.asiaquake.org/openeeg/published/ The OpenEEG wiki]
+
* [https://electrical.codidact.com/posts/287954 "what can you do to mitigate noise pickup... [in] ... EKGs...?"]
 
+
* [https://electrical.codidact.com/posts/288010 "What is a good PCB-layout? ... an ECG-amplifier circuit."]
* [http://pceegbci.blog.com/ The Open EEG Brain Computer Interface BLog]
+
* [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.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://maxima.sourceforge.net/ Maxima - a computer algebra system]
 +
* [[PCB Manufacturers]]
 +
* [http://www.meta-mind.de Brainwave Neurofeedback open source]
 +
* [http://vulliard.dyndns.org/~vulliard/ eeg biofeedback "mind machine"]
 +
* [http://freenet-homepage.de/moosec/projekte/simpleeeg/index-Dateien/Page431.htm monolith eeg]
 +
* [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."
 +
* [http://www.e-dsp.com/how-to-build-your-own-heart-monitoring-device-a-simple-ecg/ How to build your own ECG device]
 +
* [http://www.alertfocus.com/evidence/music17.php neurofeedback helps musicians improve their musical performances by 13 to 17 per cent.]
 +
* [http://health.groups.yahoo.com/group/biofeedback/ "the World's largest Biofeedback and Neurofeedback Discussion Group"]
 +
* TI app note [http://focus.ti.com/docs/solution/folders/print/272.html "Biophysical Monitoring: Electrocardiogram (ECG) Front End"] has a simple circuit: 390 KOhm resistors in-line with each lead -- one end touches patient, the other end directly connected to the instrumentation amp input (or the right-leg drive amplifier output, which has no further protection). The inst. amp has 2 protection diodes on each input, directly to +power and -power. Also, 39 pF capacitor from each input to analog GND, and 200 pF between the 2 inputs. The TI publication "Information for Medical Applications" (2Q 2004) reprints that circuit, but leaves out the caps and the diodes.
 +
* (*) [http://www.ieeta.pt/~escadas/ucecg/applications.htm Some people use 420 Hz sampling rate, 10 bits/sample.]
 +
* [http://bsamig.uku.fi/pdf/QRSdet.pdf "High-Resolution QRS Detection Algorithm for Sparsely Sampled ECG Recordings"] by Timo Bragge et. al. 2004 recommends: "the sampling frequency of the ECG should be at least 500 Hz"
 +
* [http://www.analog.com/library/analogDialogue/archives/29-3/low_power.html "Low-Power, Low-Voltage IC Choices for ECG System Requirements"] by Jon Firth and Paul Errico says "The multiplexed architecture, based on an old assumption that the converter is by far the most-expensive front-end component, is prevalent in today's electrophysiological measurement systems. However, with the proliferation of sigma-delta converter architectures, converter-per-channel is now a power- and cost-competitive alternative". It also gives a typical schematic for both architectures and suggests some parts.
 +
* 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.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]
  
* [http://www.answers.com/topic/miguel-nicolelis miguel nicolelis]
+
[[Category:Projects]]

Latest revision as of 19:41, 31 March 2023

The Programmable Chip EEG[edit]

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[edit]

  • 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[edit]

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[edit]

  • 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[edit]

look at pceeg.sourceforge.net

Description of How it Works[edit]

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:[edit]

ESD Protection in 1168[edit]

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[edit]

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.[edit]

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

DC to DC converter[edit]

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[edit]

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[edit]

  • 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[edit]

  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[edit]

ideas for future work[edit]

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![edit]

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[edit]

See also:[edit]