Difference between revisions of "Programmable Chip EEG"

From OpenCircuits
Jump to navigation Jump to search
Line 64: Line 64:
  
 
Partlist
 
Partlist
 +
see the [pceeg.sourceforge.net] for the latest parts list.
  
 
Exported from PCEEG_Version_1.02_Alpha_05-09-08_uC.sch at 6/16/2008 3:41:30 PM
 
Exported from PCEEG_Version_1.02_Alpha_05-09-08_uC.sch at 6/16/2008 3:41:30 PM
Line 122: Line 123:
  
 
Partlist
 
Partlist
 
+
see the [pceeg.sourceforge.net] for the latest parts list.
Exported from PCEEG_Version_1.34_Alpha_06-15-08_AD.brd at 6/16/2008 1:58:25 PM
 
 
 
EAGLE Version 5.0.0 Copyright (c) 1988-2008 CadSoft
 
 
 
Part    Value          Package  Library              Position (mil)        Orientation
 
 
 
C1      .01uf          C-5      DISCRETE              (3800 2950)          R90
 
C2      .1uf          C-5      DISCRETE              (3550 2950)          R90
 
C3      49uF          EL25B    DISCRETE              (3200 3000)          R270
 
C4      .01uf          C-5      DISCRETE              (3000 2750)          R90
 
C5      10µF          EL25B    DISCRETE              (2000 2850)          R270
 
C6      47µF          EL25B    DISCRETE@2            (1700 3000)          R270
 
C7      .01uf          C-5@1    DISCRETE              (1400 2950)          R270
 
C8      .01uf          C-5@1    DISCRETE              (1600 2700)          R90
 
C9      .1uf          C-5@1    DISCRETE              (1250 2750)          R90
 
C10      .1uf          C-5@1    DISCRETE              (1100 2950)          R90
 
C11      47uf .Tant.    EL25B    DISCRETE@3            (200 2450)            R270
 
C12      .1uf          C-5      DISCRETE              (200 1600)            R0
 
C13      47µF          EL25B    DISCRETE              (150 950)            R180
 
C14      .01uf          C-5      DISCRETE              (200 1250)            R0
 
C15      100pf          C-5      DISCRETE              (900 1950)            R270
 
C16      .1uf          C-5      DISCRETE              (700 1850)            R0
 
C17      47µF          EL25B    DISCRETE              (700 1650)            R180
 
C18      .1uf          C-5      DISCRETE              (1750 650)            R180
 
C19      18pf          C-5      DISCRETE              (2050 1550)          R180
 
C20      18pf          C-5      DISCRETE              (2050 900)            R180
 
C21      .1uf          C-5      DISCRETE              (3700 2050)          R90
 
C22      .1uf          C-5      DISCRETE              (2950 2050)          R270
 
C23      .001          C-5      DISCRETE              (200 2700)            R0
 
C24      .001          C-5      DISCRETE              (650 2500)            R180
 
D101    1N5818        D-10    DISCRETE              (2750 2800)          R90
 
IC3      5.0V-3.3V REG  78LXX    v-reg                (350 700)            R90
 
IC201    TLC277P        DIL-08  BURR                  (700 2850)            R270
 
L3      22µH          R-12,5  DISCRETE@2            (3450 2700)          R0
 
Q1      7.68mhz        HC49U70  crystal              (2050 1200)          R90
 
R1      100            0204V    rcl                  (3000 3000)          R90
 
R2      470            0204V    rcl                  (2300 3000)          R90
 
R3      9.1k          0204V    rcl                  (2300 2800)          R90
 
R4      15k            0204V    rcl                  (2300 2600)          R90
 
R5      10k            0204V    rcl                  (1800 2750)          R90
 
R6      10k            0204V    rcl                  (1800 2550)          R90
 
R7      100            0204V    rcl                  (2200 550)            R180
 
R8      100            0204V    rcl                  (1200 400)            R90
 
R9      100            0204V    rcl                  (2500 2050)          R180
 
R10      100            0204V    rcl                  (2500 1850)          R180
 
R11      100            0204V    rcl                  (2500 1650)          R180
 
R12      100            0204V    rcl                  (2500 2250)          R180
 
R13      100            0204V    rcl                  (2500 1350)          R180
 
R14      100k          0204V    rcl                  (150 400)            R90
 
R15      100k          0204V    rcl                  (350 400)            R90
 
R16      100k          0204V    rcl                  (550 400)            R90
 
R17      100k          0204V    rcl                  (750 400)            R90
 
R18      49.9          0204V    rcl                  (600 1350)            R90
 
R19      49.9          0204V    rcl                  (850 1350)            R90
 
R20      200k          0204V    rcl                  (200 3000)            R180
 
SV1      AIN.0-7+AINCON MA10-1  con-lstb              (1700 100)            R0
 
SV2      AINCON. jump  MA03-2  con-lstb              (3650 900)            R180
 
SV3      D0-D3          MA04-1  con-lstb              (400 100)            R0
 
SV4      Digital.I/O    MA09-1  con-lstb              (2750 100)            R0
 
SV5      Vref+jump      MA04-2  con-lstb              (3300 600)            R180
 
SV6      Vref-jump      MA03-2  con-lstb              (2700 600)            R180
 
SV7      V.REF          MA03-1  con-lstb              (3550 100)            R0
 
SV8      DRL.I/O        MA04-1  con-lstb              (900 100)            R0
 
SV10    High Z.jump    MA03-1  con-lstb              (3350 2350)          R0
 
U$1      ADS1256        DIL28-6  brog-ads1256_#7_      (1500 1500)          R270
 
U$2      CD40109BE      DIL16    brog-cd40109be_#Done_ (3350 1600)          R0
 
ZD      4V            TO92-CLP v-reg                (2500 2850)          R270
 
  
 
== Parts used in the PCEEG: ==
 
== Parts used in the PCEEG: ==

Revision as of 17:41, 10 September 2008

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 processing daughter board is responsible for filtering and digitizing 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.

On the signal processing daughter board is an anti-aliasing filter, an amplifier, and a analog to digital converter. The instrumentation amplifier amplifies the differential analog signal on the input wires. 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 daughter 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 simultaneously digitize all the analog signals (really?). 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.

UCschematicardunonmonolith.png Here is the circuit board of it.

PCEEG Version 1.02 Alpha 05-09-08 uCBrd.png

Partlist see the [pceeg.sourceforge.net] for the latest parts list.

Exported from PCEEG_Version_1.02_Alpha_05-09-08_uC.sch at 6/16/2008 3:41:30 PM

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.

Adschematicad1256devbrdnmonolith.png Here is the circuit board of it. 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:

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

How You Can Help

  1. . get the tools

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.


See also: