Introduction: Open Brain Wave Interface Hardware

About: programmer, electric engineer, brain wave interactive artist. Begging of 1970 making custom made Audio system, PA system, Mixing console, Bio-feedback system with LED, etc. 1983, Brain wave visualization and c…

updated on 16 June 2014 for Section 9:

you can go directly to Section 9 also.

make high quality brain wave interface as low cost and small size is my over 20 years of dream. To do so need mass production, need work with investor to realize that way. not just only my thinking many people ask me to have low cost brain wave interface but i didn't succeeded many years. Still i sale expensive brain wave interface system.
however recently we can get parts, micro controller more low cost, small size and more easy to do custom programing. So I made 3 different prototype first. then make actual low cost interface.

Section 1 is how i made prototype over 20 years ago and new prototype 1, 2 and 3. including Arduino code and test code.
Section 2 is circuit diagram for actual new design brain interface based on prototype 1, 2 and 3.
Section 3 is small size brain interface on going project.
Section 4 is amp noise test.
Section 5 is all construction
Section 6 is head set 3D model and stl files
Section 7 is example of brain wave interactive animation.
Section 8: INAMP-OPAMP + PCB eagle files + 16 bit brain wave interface for Arduino and Raspberry Pi : updated 10 Jan 2013

Section 9: Open brain hacking : included new PCB, 24 bit interface, etc. : updated 16 June 2014

This brain wave interface hardware work with Mac:
IBVA V5.1.1.5 : not free. all IBVA user since 1991 can get this free upgrade.
Quartz Composer IBVA plugin : free : you can make own visualization and interaction with Quartz Composer.

and PC user can use Brainbay with IBVA plugin for OpenEEG project. : free

following is step by step instruction for this. photo is prototype 1.

1: making of open brain wave interface hardware prototype.
prototype : Step 1
prototype 1: Step 2
prototype 2: Step 3
prototype 3: Step 4
code: Step 5

2: open brain wave interface hardware circuit diagram.
diagram : Step 6 : updated on 9 Oct 2012
construction photo: Step 7 : updated on 24 Oct 2012
noise test: : Step 8 : updated on 24 Oct 2012

3: other Arduino connection : Step 9

4: amp noise test : Step 10

5: all construction : Step 11

6: head set 3D model and stl files: Step 12 : updated on 20 Oct 2012
small head set 3D model and stl files: Step 13 : updated on 5 April 2013

7: brainVJ sample : Step 14

8: brain amp with INAMP-OPAMP : Step 15 : updated on 9 Nov 2012 : updated on 28 Dec 2012
photo and test : updated on 28 Dec 2012. : Step 16
circuit diagram and PCB eagle files : 16 bit brain wave interface for Arduino and Raspberry Pi. : updated 10 Jan 2013 : Step 17

9: Open brain hacking :

github page included new Arduino brain wave interface shield eagle file and 24 bit interface eagle file with Arduino code.

Step 1: Prototype


you can skip to see this page and prototype 1, 2 and 3 to go diagram also.

to make brain interface is not easy. to see brain wave need to use less than 1 micro V (1/1,000,000 V) resolution amplifier, and need to care for electrode and skin connection to forehead. all interface need to isolate from AC power supply.
need to use low noise amp. make that way is not easy to make low cost, unless make mass production. however recent open hardware technology let us to make low cost by our self, it was my over 20 years of dream to make low cost and high quality brain wave interface. like to share this how i made open brain wave interface.
first i made prototype that use head amp i made over 20 years ago.
i start develop brain wave interface around 40 years ago with all analog electric device with LED. LED technology was open around that time. it is like miracle : silicon device can make light, but brightness was so weak that time, like 20 mA current makes 1 mcd, but I start make LED accessory, everybody surprised it. new LED which I used for prototype 2 is 20 mA current makes 25,000 mcd. many new technology happened like that way, for beginning is so little but going to so big. some people can see this beginning of changes, but some people can not see this changes.  many times happened coverup of new technology too.
it was my personal interest to start develop bio feedback device that included brain wave feedback.
unfortunately not easy to see brain wave at that time. so i was dreaming to have more nice way to see it.

since mid 1970 start use digital technology with analog device such as switched capacitance filter.
then start micro compute age. i was so existing to use this CPU technology with bio feedback system.
Start use LISA and Mac computer since 1983/1984, control mouse with brain wave, show brain wave on the Window on screen. Did brain wave control MIDI since it is start.

we are not just only bio entity. also connected hyper space, mind-spirit world. so brain wave technology = brain microphone 's information can not tell all of human mind of course. however can see so interesting way to change brain wave that depend on our state. My case some time i worked many days no sleep, i was so surprised that my brain wave looks so many high beta frequency active and can not make it down. it was nice for me to see it for use personal brain excise. also sleep and dream brain wave is my interest. i don't do but people doing meditation, tai chi, yoga etc. also interesting way to change brain wave, to see coherence is one of my interest.
We can connect brain wave to multimedia, to control, sound, MIDI, animation, LED light, DMX, connect via internet, etc. can use as one of input device.
beginning was so slow to control many things limited by technology. this video shows how to play MIDI with brain wave in 1993, play by Timothy Leary.
Our electric technology is still so primitive like before actually technology born. we are waiting to use Memristor and TeraHertz CPU technology. but now computer speed getting better than before. so many interesting things we can do now.
my system get brain wave from forehead, left and right, you can put electrode other location in case you like.
some people like to connect many electrode, but i don't like to do that way. it’s take long time to put electrode and not easy to continue always wear that way.
also some people like put electrode inside of brain : implant. currently I don't like that way. some case people need to do like to do or not. this technology maybe going to big business like cell phone.
so i focus to get brain wave only from forehead, like brain wave stereo microphone. connect many electrode mean like use many microphone to recording sound. that way we can get more information of course. but not easy to setup that way always.
forehead is most development part of human brain, and shows personality. other part of brain use for more like as human bio robot : same as other animal except Dolphin and cat. it is just in generally say that way. not for all animal included human. we are created by different beings/entity.

one of IBVA prototype photo: Interactive Brain wave Visual Analyzer : 1988

active head AMP (Left) and AD converter and serial converter use PAL programable logic IC.
photo : active head AMP

1989, I used one of IBVA prototype with friend Bill Cote ( ) we did brain wave experience at Peru, MARKAWASHI, Machu Picchu,  on airplane fling over Nazca Line, etc.

few brain wave experience that time.
photo at Machu Picchu.

following images are actual product in 1991 witch use classic radio wave. one unit has one channel brain wave and use transmitter and receiver unit.
Next product start ship from 2006 to currently use Bluetooth. one unit has two channel brain wave + extra two channel 0-5 V input.
both brain wave interface has similar quality of brain wave head amp which i start design since 1980's.
so i used two original IBVA's head amp parts from transmitter unit and Arduino BT put together to make prototype open brain wave interface unit.
following is step by step instruction how I made it.
all people who has original IBVA can make same way in case they like to do so.
then next show re-design brain wave hardware circuit diagram that based on original IBVA design and use Arduino. everybody can use this diagram to make it.
later show actual photo and all parts list for this open hardware.
most difference between Arduino open brain wave interface and actual current IBVA Bluetooth product is max sampling frequency.
open brain wave interface Max sampling frequency is 256 or 512 Hz depend on Bluetooth speed, actual product is 1980 Hz. usually 256 Hz sampling frequency is ok to do many things.
but open brain wave interface use Arduino, so easy to modify program to do many things like LED feedback on unit, which actual product can not to do that way.
it is like dream for me, can put together old AMP unit and new Arduino interface. and now we can use with high speed Mac/PC.

original IBVA start ship 1991 for Mac.
1998, IBVA won a product award at the MacWorld New York.

photo : Mac application 1989, IBVA 1991
photo : 2ch IBVA

current product use Bluetooth interface which start ship from 2006.

photo : Bluetooth IBVA

about Brain wave.
1924 July 6, Hans Berger recorded signal from an intact skull at University of Jena, Germany. He discovered human electroencephalogram he called "Elektroenkephalogramm", recorded alpha wave rhythm 8 to 12 Hz, also know as Berger's wave. he was interested in psychic phenomena research to use EEG system.
1934 the first brain wave biofeedback was tested by Edgar Douglas Adrian at Cambridge with his partner, B.H.V.Matthews, replicated Hans Berger's work.

there is many EEG related information on the web, depend on your interest.
something like :

however not many open information for special research resolute.
i'm interested in to see coherence. some of my experience of coherence data.
about coherence display in IBVA 5 application.

coherence experience was started 1972..1976 by David W.Orme-Johnson, Maharishi's Transcendental Meditation technique. This Meditation was getting popular by Beatles. Maharishi Institute Japan visiting my home in Manhattan New York beginning of 1990's ask me to incorporate there coherence function to my IBVA application. so I work together with brain wave research people in Maharishi international university in Fairfield Iowa to develop coherence function. early 1970's with there computer took one week calculation time for coherence to print out paper. now with IBVA 5 application with current computer can see coherence in realtime.
1972 was also SRI ( Stanford Research Institute ) invited URI Geller for six weeks of psychic testing by Laser physicists Dr. Harold Puthoff and Russell Targ, CA USA. they tested psychic with brain wave experiment.
1968-1972 Andrew D. Basiago join DARPA's Project Pegasus, time travel, teleportation experiment. one of the system Montauk Chair used brain wave feedback system.
1972 also first Crop Circle found in modern history at Warminster UK by Bryce Bond.
Brain wave experience in the Crop Circle with friend Colin Andrews. : 1993 .. 2002
1972, Nina Sobell start Brain wave Drawings art performance in USA.
about Nina Sobell :
1972, i was in Sapporo japan, organized one of first hippie outdoor concert event in Japan that used stereo system I made as PA system. i start develop brain wave monitor device. actually not easy to see brain wave that time. after mid 1970's start use CPU, Rockwell, Apple II, CPM, etc. 1983, I start use LISA computer for biofeedback system, same year released brain computer interface movie Brainstorm. mid 1980 i start work as head of ASC II Laboratory for human computer interface research included brain wave biofeedback, UFO and Psychic phenomena research. it was first company did research for this kind in Japan. few years later ASC II need divided in two for start Microsoft japan develop world first Windows computer with NEC. Our laboratory's main system was based on LISA and Mac, and not worked for develop Windows system, we did more basic research, but developed brain wave visualization system with MS DOS computer with mouse. ASC II and NEC was large computer related company in Japan that time. I was so surprised when I tested Windows Alpha version computer, programming structure was so similar as Mac.
1988 November with UFO study group friend in Sapporo Japan, we invited Kiyota to do psychic spoon vending open experience. so i try to make new IBVA prototype without sleep few days with new color Mac II, it was first color Mac just released. I was so exciting to make brain wave visualization application in color display only 256 color that time. however brain wave experience was not succeeded that time. my system didn’t work correctly.

Following is how I made open brain wave interface prototype 1,2 and 3.

you can skip to see prototype 1, 2 and 3 to go diagram also.

Step 2: Prototype 1

prototype 1

Arduino BT + RBG LED feedback + pi & phi crop circle Laser cutter body + cable and head pad electrode.

use original IBVA hardware's AMP parts.
open this transmitter unit.

photo : IBVA transmitter

Cut this parts from transmitter unit board.

photo : AMP board part

use two of them put together on circuit board.

photo : two AMP board part

then put on it Arduino BT and Li-ion 3.7 V battery.
in front put SW and 6 pin connector to connect cable and head pad.
in back put battery and connector for charger.
one charge runs 4 hour continue operation time.

1: connect 5 V power to two of AMP parts DC-DC converter power input. it is from Arduino 5 V output pin.
2: connect AMP parts output ( 0..5V output) to Arduino Analog input 0 and 1. TL064's 7 pin is main output. need to connect 4.7 K ohm resistance, and zener diode 5.6 V for clip signal to make connection to Arduino analog input.
3: connect two RGB LED to Arduino Digital output pin, 3, 5, 6, 9, 10, 11 with 470 ohm resistance.
4: connect battery via Switch to Arduino BT power input connector.
5: need to use changer for charge Battery. can not use this device when change battery.
6: connect cable and head pad to 6 PIN input. need to make and/or buy this cable and head pad.

two RGB LED light ON by command from IBVA application BS switch serial command.
left and right brain for each LED, delta/theta:Green, Alpha:Blue, Beta:Red brain wave trigger LED.
one LED is top, other LED is side.

originally use as Arduino analogue output pin, 3, 5, 6, 9, 10, 11 for drive LED. but to do so cannot use timer interrupt function. so i change it to use as Digital output.
and serial command for control LED was use with IBVA application BS number command, but to do so speed problem happened. so i change it to simple one character command.

photo : All unit from Top
photo : unit side view

photo : Battery charger connector.
photo : power SW and cable to head pad 
photo : with charger. one charge operate 4 hour continue.

Cable and head pad. need to put 3 electrode to head pad. this cable has ear clip for body ground. body ground use for reduce AC power noise from outside.

photo : connect cable and head pad.

this photo shows connect medical electrode connection. 3 electrode to forehead and/or other part of brain, one is for body ground : like neck, etc.

photo : connect medical electrode.

you can design own head had, this head pad for waveUFO project, design by Mariko Mori and me, 2001, 2002.
waveUFO body is made in Italy same as Arduino.

  photo : waveUFO project headset.

Step 3: Prototype 2

prototype 2

Arduino nano + pi crop circle LED with distance sensor + active head amp SoundBrain.
π = pi = 3.141592654 crop circle happened June 1, 2008 in England.
LED has each pi number in block from center part. so each block need to drive different current power. over 39 mA drive connect N channel FET : 2N7000 to output pin.
Connect 200 ohm resistance to limit current around 10 mA for all LED.
Y X 3: 39 mA, R X 1: 9 mA, G X 4: 33mA, B X 1: 10mA, W X 5: 43 mA, R X 9: 80 mA, G X 2: 17 mA, B X  6: 58 mA, W X 5: 43 mA, Y X 4: 52 mA. Total : 442 mA in case all ON.
R LED is actually full color LED. when start ON then Red. but keep continue ON then change color to full color.
Each block of LED light ON by command from IBVA application BS switch serial command.
Distance sensor : 2Y0A21, one sensor for speed control, other sensor for pattern control.

pi crop circle LED movie :

photo : pi crop circle LED from top
photo : pi crop circle LED from bottom

head set for brain wave microphone, SoundBrain. SoundBrain mean Brain wave signal output to Audio system input, sound like "blowing in the wind". we can do brain wave analysis and interaction with sound application.

SoundBrain test:

photo : head set folder

active head amp which i made 23 years ago.
this head amp is older than used for prototype 1.

photo : inside of active head AMP

photo : put head amp to folder.

photo : hold electrode snap

connect electrode snap to head amp input.
connect head amp output to 4 pin connector. PIN 1: + power input. PIN 2: R channel output. PIN 3: GND. PIN 4: L channel output.
PIN 1: + power input connect diode ( 0.2V drop diode )  to DC-DC power input.
head set is under construction.

photo : head amp connection

DC-DC convertor. input 2 V to 5.5 V makes 5 V to two head amp. in case not use this then need to put 5 V to 10 V : 80 mA to head amp.
when 2.2 V input : 256 mA, when 2.7 V input 224 mA, when 3.9 V input 128 mA, when 4.4 V input 114 mA, when 5.2 V input 97 mA.
actual current is depend on brain wave input voltage. high input voltage will increase current.

photo : DC-DC convertor

photo : battery holder and 4 PIN cable to brain wave microphone.  SoundBrain output connect to left and right RCA and mini jack.

photo : battery folder and power connector. you can put small battery to head set unit also.

connect output connector to iPhone/iPad/LapTop Mac/other audio recording device input with audio cable can record brain wave. ( recording brain wave frequency is depend on device ). need to use battery operated recording device. iPhone/iPad need to use stereo audio input adapter.

photo : connect to iPhone audio recording device

photo : connect audio optical isolation device can be use AC power recording device.

connect output connector to pi crop circle LED's Arduino Nano analog input via level limits, sift and high cut filter circuit. this parts is under construction.
connect USB cable Arduino and LapTop Mac.

for iPhone / iPad connect Redpark C2-DB9 / C2-DBV / C2-TTL with there SDK you can develop own application that get brain wave Raw data stream from Arduino.

photo : conenct serial interface to iPhone

Wireless power transmission system. put wireless power receiver to under the pi crop circle LED. it is Nikola Tesla's technology, begging of 1900, Tesla Tower at Shoreham Long Island New York.

photo : conenct Wireless power transmission system

Step 4: Prototype 3

prototype 3

Arduino Uno + current IBVA hardware amp board with cable and head pad.
use IBVA hardware amp board, cable and head pad. need to connect amp board LR analog output to Arduino analogue input and 555 digital output to clock input of filter on the amp board.

originally try to make 4 K Hz clock output with Arduino timer interrupt function that use with digital output pin. but not succeed it. wave is not stable with Arduino total speed. so use 555 to make clock for filter.
IBVA hardware amp board need to put this clock for filter. 1/100 of clock is filter high cut frequency. 3 K Hz clock mean 30 Hz high cut filter setup. 

current IBVA Bluetooth and amp board design is stable operation and high sampling rate, etc.
however can not modify hardware operation by end user.
this configuration can modify by end user.
in case you like you can buy this amp board.

with Arduino Uno need to use with Bluetooth serial interface. max sampling is 512 Hz with 230400 bps setup.
need to use battery 7 V to 12 V.

use Arduino BT is easy way. max sampling is 256 Hz. this unit max speed is 115200 bps.
need to use battery 2.4 V to 5.5 V.

photo : Arduino Uno + current IBVA hardware amp board with cable and head pad

photo : Laser cut box.

Laser Cutter Coral Draw file for this Box is in the Code section.

Step 5: Code


Arduino code.
prototype 1
prototype 2
prototype 3
Arduino pro mini + Bluetooth
Arduino Uno+ Bluetooth 

Quartz Composer IBVA plugin for Mac
Use Quartz Composer IBVA plugin for Mac to monitor 4 channel Raw data number from prototype 1 unit.
XCODE source and sample QC file : IBVA QC Download.
open source. free.

Laser Cutter Coral Draw file for prototype 1 and 2.
Pi Crop Circle for Top. : pi5Sep2012.cdr Download.

Laser Cutter Coral Draw file for prototype 3.
IBVA box. : ibvaBOX14Sep2012-4.cdr Download.

Original IBVA user can make like this prototype 1 and 2  in case like to do.
Also this prototype 1,2 and 3  work with newest IBVA V5.0.8.5 application for Mac. All IBVA user since 1991, can get this IBVA V5 application as free.
not IBVA user need to buy IBVA 5 application in case like to use it. not open source.

PC user can use Brainbay with IBVA plugin for OpenEEG project : Open Source. free.
install BrainBay need to replace BrainBay application with following.
BrainBay IBVA interface : BrainBay_IBVA.rar : 355 KB
BrainBay IBVA interface with Configure-IBVA files : BrainBay IBVA for : 684 KB

Step 6: Open Brain Wave Interface Hardware Circuit Diagram

2: open brain wave interface hardware circuit diagram

image : UK news paper daily telegraph 1997.

this diagram is based on prototype 1, 2 and 3 and put together with Arduino and BlueTooth interface. updated on Oct 9, 2012.

image : all diagram
image : all diagram AMP part
image : all diagram Top
image : AMP part
image : filter part
image : AMP part
image : active amp
image : balance amp
image : low cut amp
image : level sift and clip
image : filter
image : DC-DC
image : Arduino run mode
image : Arduino program mode : connect with Arduino Nano and Mac/PC
image : Arduino Bluetooth setup mode: connect with Arduino Nano and Mac/PC 

Parts list :

head amp : OPA2111 X 2
offset amp : TL064 X 2
filter IC : MAX 7480 X 2
R : 10 M ohm X 4
R : 1 M ohm X 2
R : 100 K ohm X 23
R : 10 K ohm X 4
R : 4.7 K ohm X 2
R : 2 K ohm X 2
R : 1 K ohm X 8 
R : 470 ohm X 3
C : 47 µF 16V X 6 ( this parts has polarity. + side goes to + power, - side goes to - power )
C : 105 X 2 ( C : 1 µF = 1,000,000 pF : low cut 0.16 Hz, use 0.1 µF is low cut 1.6 Hz)
 --- f ( Hz ) = 1 /  (2 π RC) : R = 1 M ohm : π = 3.14159 
C : 104 X 6 ( 0.1 µF = 100,000 pF)
C : 0.01 µF X 1 
C : 0.0022 µF X 1
C : 331 X 4 ( 330 pF)
C : 100 pF X 4
C : 10 pF X 6
Zener Diode : RD5.6E X 2 ( others : 1N5232B-T 5.6 V 500 mW )
Trimer : 100 K ohm X 2 ( for gain adjust )
Trimer : 47 K ohm X 2 ( for offset adjust ) 
S-8135AG : X 1 ( 5V reference regulator, replace this to use Zener Diode 5 V is ok too )
TA48M05F : X 1 ( low voltage drop 5 V 500 mA output regulator  ) 
ERA81 : X 1 ( low voltage drop diode. Schottky diode. others : 1N5817 ) 
555 : X 1 ( timer IC or other clock IC )
DC-DC : RZC12W20 X 2 ( DC-DC. +/- 12 V, 40 mA )
 ---- I used this DC-DC because I had stock of this parts over 20 years.
 ---- you can use like RB-0512D Recom Power. or RD-0512D  in case use only one DC-DC.
 ---- Step 7 use one DC-DC +- 12 V  for active head amp, other one DC-DC +- 15 V use for filter amp.
 ---- This diagram use left for one DC-DC and right for other one DC-DC.
DC-DC : ISL97519A 2.4 V input to 5.8 V output ( 300 .. 400 mA output )
 ---- in case use Arduino BT then no need this. also in case use 7 .. 12 V battery no need this. 
 ---- Step 7 not use this. Step 9 use this.
Arduino BT or UNO + Bluetooth or Pro mini  + Bluetooth  : X 1
Arduino Proto Shield for Arduino BT or UNO : X 1
electrode : X 5
electrode folder : X 5 
electrode pad : X 1
cable ( 6 wire )  1 m to 2 m  : X 1
connector and PIN ( 10 PIN or 6 PIN ) : X 2 

when use Arduino BT.
you need to connect battery : 2.0 V .. 5.2 V.
( when 2.0 V : 520 mA, 2.7 V : 350 mA, 3.9 V : 220 mA, 4.5 V : 200 mA, 5 V : 180 mA )

when use Arduino Nano.
you need to connect battery : 7 V .. 12 V.

when use Arduino Pro mini.
you need to connect battery : 5 V.

this unit's Arduino code is at Code section:
you can use
Quartz Composer IBVA plugin XCODE for Mac is Open source. included sample QC file to show Raw data.
Brainbay IBVA plugin for OpenEEG project PC is Open source.

Can use IBVA V5 application for Mac. all IBVA user since 1991 can get this free upgrade.
in case you like you can buy it also.

this diagram is basically same as i used over 30 years.
need to set two trimer, total gain and offset for AD input of Arduino.
need to set 200 micro V p-p input makes 5 V p-p to Arduino analog input. Total gain is 25,000.
also 2.5 V offset to Arduino analog input. output need to set 0 to 5 V.
Filter MAX7480 works 0.25 V to 4.75 V (V-0.25V). doesn't work with 0 to 5 V.
need to calibrate this by software side for final adjust.
actually need to set 200 micro V p-p input makes 4.5 V p-p to Arduino analog input. Total gain is 22,500.
then software side 4.5 V p-p Arduino analog input makes 200 micro V p-p.

23 sep 2012:
at Step 7, tested this diagram. i need to modify this diagram more like original IBVA design.
24 sep 2012:
modify diagram. input active amp gain bock to same as original IBVA. add more OPAMP.
26 sep 2012:
modify reference voltage circuit. use S-8135AG for make more stable DC off set. tested all amp part. works ok.
connect LR amp out put to prototype 1 : ch3 and ch4 for test. looks like from Arduino makes more noise than IBVA product interface. connect amp output to IBVA product input is more low noise. need to investigate more for Arduino AD input. but basically works ok. total noise is less than 0.1 micro V par spectrum when tested 256 Hz sampling and 512 point FFT setup with IBVA application.
30 Sep 2012:
put all together, Active head amp unit, filter unit + Arduino pro mini + Bluetooth, Battery unit. test Bluetooth connection with terminal application and IBVA application.
1 Oct 2012:
start construction with Auduino UNO. this construction is moe easy than with Arduino pro mini.
4 Oct 2012:
found 4 K Hz clock output from Arduino is not good signal by Arduino total speed. this clock made by timer interrupt. this clock is not good for filter MAX7480. need to make nice clock. easy way is use 555 timer IC, more detail filter control need to use programable clock IC such as 8651A-80. this case not so important to set this filter frequency. so use 555 is easy way.
tested Arduino + Bluetooth Serial at speed 230400 bps and 512 Hz sampling frequency. this test can not do with Arduino BT, because Arduino BT's max Bluetooth speed is 115200 bps.

audio amplifier and brain wave amplifier difference is source impedance and frequency response.
usually audio amplifier design to use low impedance source: like 4 ohm, 8 ohm, 200 ohm, 600 ohm, 1 K ohm, 10 K ohm, 100 K ohm, this mean easy to make low noise amplifier but need wide frequency range. low frequency is 1 Hz, 5 Hz, 10 Hz, 20 Hz high frequency is 20 K Hz, 40 KHz, 80 KHz, 200 KHz.
brain wave amplifier need to design for high impedance source : like 10 K ohm, 100 K ohm, 1000 K ohm and low voltage noise and low current noise, low bias current, low DC drift, but less frequency range like low frequency is 0.16 Hz, 0.5 Hz, 1 Hz and high frequency is 30 Hz, 100 Hz, 300 Hz, 1000 Hz. also need to have 100 to 1000 times more gain than audio amplifier.

how to test:
Connect 100 K ohm impedance source oscillator is nice for noise test. put 1 to 10 micro V p-p, 1 .. 40 Hz sin wave.
amplifier noise is depend on skin and electrode impedance.
usually low impedance makes low noise. high impedance makes more noise.
not just only amplifier, resistance also has noise. this noise is depend on temperature. low temperature makes low noise, high temperature makes more noise. this amplifier OPA2111 noise is very similar as resistance noise when 1 M ohm source. only way to reduce noise is make low temperature : this is current open technology limitation. we can not make low noise than resistance noise.
depend on skin and electrode conductance situation this noise will be change.
my head amp design try to eliminate this skin and electrode conductance situation depend on person and other issuer. Usually 10 K ohm to 1 M ohm is skin and electrode conductance. many years ago EEG technician's one of knowledge is how to put nice way electrode to skin. mean set low impedance between electrode and skin. because that time amplifier quality was not good when input impedance is high.
in generally say low impedance person is relaxed. high impedance person is more stress.

This unit can see less than 1 micro V p-p brain wave. it is professional quality EEG system.
digitally control filter works very nice. set high cut frequency by clock input : 1/100 is high cut frequency. make this clock use 555. can set cut and/or no cut 50 Hz to 60 Hz AC power noise which come from any where in the room. 50 Hz and 60 Hz is depend on country, only Japan has two AC power frequency.
set 555 clock 10 K Hz makes 100 Hz high cut filter. this way can se 50 Hz / 60- Hz AC noise.
in case you like to see more high frequency than 50 Hz to 60 Hz AC power noise then need to careful for setup all system condition. it is not easy this setup for beginner.
555 frequency is 3K Hz, mean 30Hz high cut filter, so no problem for 50 Hz to 60 Hz AC power noise. however too many noise will still get AC noise.
doing experience outside is so nice to eliminate this AC noise.

construction photo with Arduino UNO is Step 7
noise test for Step 7 is Step 8
construction photo with Arduino pro mini is Step 9
noise test is Step 10
All construction photo with Arduino pro mini is Step 11
headset 3D model is Step 12
sample brain wave interactive experience is Step 13

masahiro kahata

Step 7: Construction Photo

construction photo

updated : 24 Oct 2012

this construction is based on Step 6 diagram.
Battery use 9 V / 7.6 V to Arduino Uno. don't use DC-DC this case.
Step 8 use DC-DC work with battery from 2.4 V to 5.5 V. Use with Arduino pro mini.

this way Step 7 is easy construction than Step 9.

use 555 for make filter clock. to change filter clock need to change R 100 K ohm.
100 K ohm resistance makes 3 KHz clock to set filter high cut frequency 30 Hz.
i changed this to 80 K ohm to set 40 Hz.
R = 0.7 / f (Hz) X C (F)

100 K ohm = 0.7 / 3000 * 0.0000000022  : high cut frequency 30 Hz. 
this frequency range works for ; Delta, Theta. Alpha and Beta rhythm.

80 K ohm = 0.7 / 4000 * 0.0000000022 : high cut frequency 40 Hz. 
this frequency range works for ; Delta, Theta. Alpha, Beta and Gamma rhythm. 

13 K ohm = 0.7 / 20000 * 0.0000000022 : high cut frequency 250 Hz. 
this frequency range works for ; Delta, Theta. Alpha, Beta, Gamma, HyperGamma and Lambda rhythm.

originally try to make this clock with Arduino interrupt timer function with digital output pin control, but not succeeded to make nice clock.
in case you can make it then no need to use 555 and can be make as programable clock, same as product IBVA doing that way.
use 555 makes clock mean doesn't work command from IBVA application to set filter high cut frequency.

Other difference from diagram Step 6 is not use gain adjust trimer 100 K ohm for this construction.

all electric circuit works ok.
photo is test with OSC 10 Hz square wave, 512 Hz sampling.

updated 22 oct 2012.
put Bluetooth serial interface.
Arduino Nano + Bluetooth works same as Arduino BT.
Arduino BT can do programing with Bluetooth connection. but Arduino Nano + Bluetooth can not do that way. need programming use USB connection.
also Arduino BT has low voltage battery power input, works from 2.4 V .. 5.5 V. but Arduino Nano need to put 7 V to 12 V.

Arduino BT max connection speed is 115200 bps makes max sampling frequency is 256 Hz for 4 ch.
but Arduino nano, pro mini with Bluetooth serial interface max connection speed is 230400 bps makes max sampling frequency is 512 Hz for 4 ch.

Arduino BT cost is around $140.
Arduino nano and/or pro mini with Bluetooth serial interface cost is around $20 .. $30.
mean Arduino nano and/or pro mini with Bluetooth serial interface is $100 more low cost and 2 times more first.

so i made new interface with Arduino nano with Bluetooth serial interface.
total parts cost was less than $100. i order some parts to ebay / China, so took long time to get it but it was low cost to get it.

photo : put electrode to active head amp unit.
photo : put it to forehead.
photo : then fold it with head band. 
actual brain wave images screen shot.

i setup this unit low cut frequency to 0.16 Hz.
use 1 micro F for low cut.
so easy to see low frequency changes in case eye movement and other muscle movement.

usually set this to 1.6 Hz. that way more easy to see display. product IBVA set this way.
use 0.1 micro F for low cut.

Low cut RC filter :
f ( Hz ) = 1 /  (2 π RC) : R = 1 M ohm : π = 3.14159 
F cut = 1 / (6.283 X R (ohm) X C (F) )
0.16 Hz = 1 / (6.283 X 1000000 (ohm) X 0.000001 (F) )
1.6 Hz = 1 / (6.283 X 1000000 (ohm) X 0.0000001 (F) )

depend on experience need to decide  this low cut frequency setup.
screen shot shows low cut frequency 0.16 Hz and 1.6Hz.
also hight cut frequency 40 Hz and 250 Hz. 
set to 250 Hz still almost no AC power noise 60 Hz ( in USA ) in this experience.
mean Active head amp works very nice. center electrode use for body ground, left two electrode for left balanced input, right two electrode for right balanced input.
usually, like product IBVA use electrode cable to put forehead, mean easy to get AC noise from any where.
also electrode cable movement makes noise too.
this active head amp unit is directly connect to forehead, so not easy to get noise from out side even not using any electric shield to active head amp.
will continue try to experience with put electric shield to see how difference.
also all electric component on the active head amp is no protection, need to care to use this way. latter I will put all in the protection material.
it is very nice for stage performance and SoundBrain experience.
this active head amp works most nice condition in my 30 years of experience.
i'm very happy to introduce this.

in case you like you can put active head amp parts on the top of Arduino prototype shield, then just connect electrode cable to forehead. that is same way as product IBVA. need to put body ground to ear and/or neck. can use same head set and cable at Step 2 and Step 4. this way more easy care for head set.
i made this active head amp head set for my interest, to see how works. so need to care to use this.
in case you make same way as i made then need to care for this active head amp to use.

this unit noise test is Step 8.

Step 8: Noise Test

this noise test use Step 7 construction and product Bluetooth IBVA. show spectrum when source impedance is 10 K ohm, 100 K ohm and 1 M ohm.

test 10 Hz OSC connect only left side. right side is open mean 10 M ohm resistance is connecting to head amp.
gain is max X 10. this display show less than 0.1 micro V par spectrum.

Step 7 construction working very nice. mean OPA 2111 which i start use over 25 years ago works very nice.
it is same head amp as used in Step 2 and Step 3. also used in original IBVA.
BlueTooth IBVA use different small size chip OPAMP, this makes different noise. when over 1 M ohm source impedance more noise than OPA 2111.

I start use OPA111 in begging. then Burr-Brown start ship dual OPAMP OPA2111. so I start use this.
OPA 2111's noise is when over 30 K ohm source impedance is similar noise as resistance noise.
Resistance noise at room temperature is approximately equal to 4 nV/√Hz × √(resistor value in kΩ). 
so still I can not find more low noise amp when over 30 K ohm source impedance. I know some new OPAMP has more low noise when low impedance to high impedance, but this amp is only one amp in package. need to use two of them for each side head amp.  this is reason i'm continue using OPA 2111.
Burr-Brown is first company to make OPAMP and there OPAMP went moon first time.

Step 9: Other Arduino Connection

3: Other Arduino connection

Arduino Pro mini is very nice small size, with Arduino Bluetooth Wireless Serial Port Module put all to head set.

this unit has 3 part, 1: active headamp headset, 2: filter amp and Arduino BlueTooth unit, 3: battery and DC-DC unit.
3D model show how to put those 3 part, forhead, left and right side.
also put all this to OLED HMD head pad.
to see video, 3D brain wave interactive OpenCL animation is nice to use this.

3D model for 3 part.
3D model for OLED HMD head pad brain wave interface.
it is same unit, put it differant way. put unit 2 and 3 to hand, head phone, etc.
2 ch amplifier, Arduino Pro mini + bluetooth, Battery. shows 5 electrode model.

image : head set 3D model 
photo : head set construction process

in case you like to make same as i did then need to careful to construct, electrostatic, heat, etc.

two active amp is inside of headset.
all other parts : Arduino, Battery & DC-DC, filter & amp is HMD head pad part.
connect via 8 P cable : +-12V, GND, two balanced output from two active amp.

23 sep 2012:
connect two amp output to prototype 1 unit two analog input, and connect prototype 1 unit digital output to filter clock for test all amp. use IBVA V5 application 4 ch mode for monitor signal.
CH 1 & CH 2 is prototype 1 unit amp which from original IBVA. CH 3 & CH 4 is new design amp.
basically works ok, but more noisy than original amp. i need to modify diagram like more original circuit design.
after made it, let you know.
27 sep 2012:
amp test ok. connect HMD amp output to prototype 1's ch3 and 4ch input, also connect product IBVA ch3 and 4ch input then amp works ok. more noise from prototype 1 is by Arduino unit. amp is no problem, works same as original IBVA. need to investigate how to reduce noise from Arduino unit. currently this HMD amp unit has no shield grounding, outside also inside of circuit. easy to effect noise from anywhere. in case you make this unit need to care for this issuer.
28 sep 2012:
put all together as photo to HMD head pad with laser cut unit. little big but can fit all. also can put only active head set to head pad, and other unit : battery and filter amp can go side of HMD.

Step 10: Amp Noise Test

brain wave noise effect at open environment.
unfortunately i can not ask to anybody for this kind of information. so i need to have experience by myself.
it is not like inside of hospital, not like controlled environment to see brain wave, so many different effect will happened.
specially waveUFO project since 2001, i had many interesting and difficult situation for setup all system. setup location condition, power ground condition, power blackout protection, opening time changes, noise effect by machine that inside of UFO and outside of UFO, experience people, training operating people, etc.
2003: all system setup at Manhattan New York. that time used original IBVA. not Bluetooth.
2011: new system and more nice AC noise protection at Rio Brazil.
around 10 times at different country each time around 3 .. 4 month continuously operation 6 days a week, 10 .. 12 hours par day. brain wave interactive art never done like this way.
actually took 7 years to find out how to reduce noise, mean last few exhibition is most nice condition of interactive brain wave art experience. took many years but i'm happy to find out how to reduce noise and how effect noise.
we are living in noisy environment, electrically noisy but not just only by electric.
people's mind will effect each other and can make strange holographic effect also. sometime those are also effect to electric system. actual UFO and psychic phenomena effect to electric, of course to brain wave.

electric noise are like living entity sometime move around space.
in generally say electrically protected environment is not easy to effect.
so i made prototype 1 and HMD amp for not electrically protected for test many effect as my interest.
following is test procedure. test amp noise and AC noise effect.
all test use OSC with 10 K ohm, 100 K ohm, 1000 K ohm ( 1M ohm ), 10 Hz rectangle wave, 10 micro V p-p.
use IBVA application to display 3D spectrum, 256 Hz sampling, 512 point FFT, high cut at 40 Hz,  show raw wav. set maximum gain X 10. we can see less than 0.1 micro V par spectrum with this setup. maybe for most of people this noise is not so important.
from test image we can see with current IBVA, almost 0 microvolt when 10 K ohm source impedance. with prototype 1, wed can see around 0.1 micro volt when 10 K ohm. HMD amp ( use same amp as used in prototype 1 ) to connect IBVA then almost 0 micro when 10 K ohm. this mean more noise when use Arduino. need to investigate how to reduce this noise. maybe reference voltage, not sure yet. but again most of case no problem for this noise. usually don't set gain like X 10 times. so we can not see this kind of noise. it is just my interests to see this amplifier noise that depend on source impedance.
1000 K ohm source impedance makes more amp noise also easy to effect noise from anywhere.

more problem is how to reduce AC noise effect from environment. this effect will big when inside of room and/or close to electric machine.

following is test images.

1: use current product IBVA. most nice is 1-IBVA10K in this section


2: use current product IBVA connect second IBVA to show it ch 3 and ch 4. most nice is 2-IBVA10K-ex in this section


3: use current product IBVA connect HMD amp SoundBrain output to show it ch 3 and ch 4.
most nice is 3-IBVAexHMD10K-Battery+Shield in this section

3-noise test with HMD amp + IBVA

4: use prototype 1 with different Shield, Ground, Battery/AC operation.
Shield mean put Shield under the amp.
Ground mean connect Ground to Shield, not always connect ground makes good resolute. depend on case.
Battery mean use battery operated Mac Air.
AC mean use AC operated Mac Air. we are all using bluetooth connection. however still effect Mac and AC connection that depend on condition.
most nice is 4-crop10K -Battery+Shield+GND in this section

4-noise test with prototype 1
4-crop10K -Battery+Shield+GND
4-crop100K -AC
4-crop100K - AC+Shield
4-crop100K -AC+Shield+GND
4-crop100K -Battery+Shield+GND

5: use prototype 1 connect HMD amp to show it ch 3 and ch 4.  use Shield, Ground, Battery/AC operation.
most nice is 5-cropEx10K-Battery+Shield+GND in this section

5-noise test with HMD amp + prototype 1

Step 11: All Construction

put together filter Amp unit, Arduino pro mini, Bluetooth serial and LED.
connect two output from filter unit to Arduino pro mini analogue input A0, A1 and filter clock input to 555 output, 5V power and GND to Arduino pro mini + Bluetooth.

use Arduino Nano for program Arduino pro mini.
diagram programming mode.
connect 4 pin cable between filter Amp unit and Arduino Nano. only use 3 wire. Arduino pro mini use power from filter unit.
Arduino pro mini GND - Arduino Nano GND.
Arduino pro mini RXD - Arduino Nano RXD.
Arduino pro mini GRN - Arduino Nano RST.

Arduino program code is code section.

diagram BT setup mode. 
BlueTooth serial board JY-MCU which i got from DealExtreme's default baud rate is 9600 bps, name is "LinvorV1.5" same as "HC06", firmware version is 1.5. this unit version is 1.05.
this unit can operate 3.3 V to 6 V. but need to connect 3.3 V TTL logic. so need to use FET and/or resistance to change voltage to connect to 5 V Arduino unit. JY-MCU version 1.2 can connect 3.3 V and 5 V TTL so no need to use FET and/or resistance.
to change baud rate, need to send AT command to this unit.
following is how to do this.
1: need to un pair BlueTooth unit in case you had done it.
2: connect 3 wire :  BlueTooth use power from filter unit. 
BlueTooth GND - Arduino Nano GND.
BlueTooth TXD - Arduino Nano Digital 10 pin (SoftwareSerial RX).
BlueTooth RXD - Arduino Nano Digital 11 pin (SoftwareSerial TX) with voltage divider ( use resistance, 470 ohm + 1 K ohm.  photo is 1 K ohm + 2 K ohm. with JY-MCU version 1.2 no need to use this voltage divider ).

need program to Arduino Nano with USB port Mac/PC as following.

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup()  
  // Open serial communications and wait for port to open:
  while (!Serial) {
    ; // wait for serial port to connect.

  Serial.println("connected to computer");

  // set the data rate for the SoftwareSerial port
  mySerial.println("to BlueTooth"); // nothing effect this to BlueTooth

void loop() // run over and over
  if (mySerial.available())
  if (Serial.available())

delay (10);


then use terminal soft zoc6 for Mac to connect Arduino Nano with USB connection.
need to setup Configure Serial speed 9600 bps, 8N1, RTS signal off, DTR signal off, select port name for Arduino Nano USB.

hardware connection test:
copy string  "AT" from text application and past it to terminal soft. then get return "OK" is hardware connection is OK.

get version:
copy string  "AT+VERSION" from text application then past it to terminal soft. then get return "OKlinvorV1.5".

change bluetooth name to BlueVAS_H:
copy string  "AT+NAMEBlueVAS_H" from text application then past it to terminal soft. then get return "OKsetname".

change bluetooth pincode to 0000: default is 1234
copy string  "AT+PIN0000" from text application then past it to terminal soft. then get retune "OKsetPIN".

change baud rate to 230400, form 9600:
copy string  "AT+BAUD9" from text application then past it to terminal soft. then retune "OK230400".

now this unit start working with speed 230400.

attention: once change speed to 230400 can not set other way again with Arduino Nano software serial connection. to do so need to use other serial interface to connect Bluetooth. Arduino Nano software serial connection max speed is 115200, so can not connect with Bluetooth speed 230400.

disconnect Arduino Nano.
diagram run mode.
re wire Bluetooth unit to Arduino Pro mini.
BlueTooth GND - Arduino Pro mini GND.
BlueTooth VCC - Arduino Pro mini + 5V output.
BlueTooth TXD - Arduino Pro mini  RXD.
BlueTooth RXD - Arduino Pro mini TXD.

pair Bluetooth with system Bluetooth setup. name is linvor and pin code is 1234 in case not change it.
name BlueVAS_H. code 0000 is new setup.
test with set terminal soft speed 230400 and IBVA application.

radio communication distance is around 10 m at open space.

Step 12: Head Set 3D Model and Stl Files

head set 3D model

updated on 20 Oct 2012
updated stl files on 8 Nov 2012 : fixed size and mesh for 3D printer.

total 6 object to make head set.

Stl file download with size and material information :
stl file unit scall is m.
3D model made with Maya mb file, then export it fbx file.
open with Max 3Ds unit scall m, export it stl file.

this model is nothing like mechanical model.
only "Head fold" parts has screw to connect "Head unit 1" or "Head unit 2". "Head unit 1" and "Head unit 2" has nut.
"Right side unit" for Filter amp and Arduino pro mini and Bluetooth, same as used for HMD.
"Left side unit" for Battery and DC-DC, same as used for HMD. 
"Head unit 3" goes to forehead, need to use rubbery material.

this file included all 6 object:
215 mm X 197 mm X 61 mm

Right side unit:
need to use little soft material
51 mm X 196 mm X 61 mm

Left side unit:
need to use little soft material
60 mm X 196 mm X 58 mm

Head unit 1:
ABS-like material
134 mm X 46 mm X 25 mm

Head unit 2:
ABS-like material
132 mm X 46 mm X 25 mm

Head unit 3:
black rubbery material
127 mm X 33 mm X 27 mm

Head fold:
ABS-like material
159 mm X 45 mm X 23 mm

Step 13: Small Size Head Set 3D Model and Stl Files

small size head set 3D model

updated on 5 April 2013
made this small size stl files for free 3D printing 

total 5 object is one stl file. all fit in 3" X 3" X 3"
smallHeadPad8-2 (repaired)

Step 14: BrainVJ Sample

BrainVJ sample

OpenCL BrainVJ : actually this animation is 3 D stereoscopic in the 360 degree HDRI panorama image.

Quartz composer BrainDJVJ:

waveUFO opening video at kiev Ukraine

Step 15: Brain INAMP-OPAMP

Nov 9, 2012
updated : Dec 28, 2012

1, 2, 3, 4 circuit is brain INAMP-OPAMP.

SoundBrain inamp : output connect to 16bit/24bit/32bit audio device input. need to connect battery operated audio device and/or via optical / wifi Isolation.
Low frequency response is depend on audio device.
in case connect to Mac Line input then -6 dB (1/2) at 2..3 Hz ( Delta frequency ).
Use IBVA's SounBrain function ( full version IBVA application only ) to see audio spectrum as brain wave spectrum in realtime and/or playback. To see high resolution SoundBrain frequency need to setup IBVA's "Sound Setup Window" FFT Point 32768 and Mac's "Audio Devices" Line in sampling frequency to 8 K Hz (0.244140625 Hz resolution) , 16 K Hz (0.48828125 Hz resolution). Can use SoundBrain frequency to interact with Quartz Composer animation. We can make low sound frequency : Infrasound ( less than 20 Hz ) interactive animation with IBVA application.

also can use any audio application to see brain wave as sound. However usually low frequency visualization is limited 20 Hz. Apple's Quartz Composer music visualizer also limited to 20 Hz.

this SoundBrain circuit is most simple brain wave interface, but some limitation to use this. only works nice when source impedance is 2 K ohm to 100 K - 200 K ohm.

Parts list :

head amp : AD8421 X 2
DC servo amp : OP1177 X 2
R : 10 M ohm X 4
R : 1 M ohm X 2
R : 10 K ohm X 4
R : 400 ohm X 2
R : 100 ohm X 2
C : 105 X 2 ( C : 1 µF = 1,000,000 pF : low cut 0.16 Hz, use 0.1 µF is low cut 1.6 Hz)
--- f ( Hz ) = 1 /  (2 π RC) : R = 1 M ohm : π = 3.14159
C : 100 pF X 4
C : 100 nF X 2
C : 104 X 4 ( power pass con for AMP ) 

also need power DC-DC. +-12 V

electrode : X 5
electrode folder : X 5
electrode pad : X 1
cable ( 3 wire with shield)  1 m to 2 m  : X 1
connector and PIN ( 4 PIN ) : X 1
stereo RCA / 3.5 mm mini jack : X 1

need to connect output to filter (MAX7480) before 16 bit AD input. 
example AD : 16bit AD +PGA  ADS1115 via I2C interface to Arduino, Raspberry pi, etc.
only works nice when source impedance is 2 K ohm to 100 K - 200 K ohm. 

replace balance AMP, offset amp with INAMP-OPAMP from diagram 6. Use same OPA2111 as head amp. this way stable operation with different condition. output connect to filter then Arduino is same as diagram Step 6 and Step 11. 

INAMP-OPAMP use as head amp. then use same offset amp as diagram 6. 
only works nice when source impedance is 2 K ohm to 100 K - 200 K ohm. 

Use 4 X 5 V low voltage drop regulator to DC-DC, Filter, Arduino and Bluetooth interface.

skin and electrode conductance range is 10 K .. 1 M ohm in generally say.
some case more than 1 M, less than 10 K.

Amplifier works nice : mean same voltage noise spectral density as Resistor.
OPA2111 works nice with when source impedance is 20 K ohm to 10 M ohm
AD8421 works nice with when source impedance is 2 K ohm to 100 K - 200 K ohm.

with OPA2111, when source impedance is less than 20 K ohm then more noise than Resistor, but that case noise is small anyway.
with AD8421, when source impedance is over 200 K ohm then more noise than Resistor, this mean need to use with care for skin and electrode connection. high impedance noise effect a lot. Use circuit No 1, No 2 and No 4 need to care for this.

Filter and Arduino diagram is same as Step 6 diagram. Arduino diagram is Run mode.

To choose INAMP, OPAMP need to be care followings specifications.
Low input noise for voltage noise, and current noise.
Low bias current
Low offset
Low drift
high open loop gain
high common-mode rejection
high input impedance
Voltage Noise spectral density VS Source Resistance works like resistance noise.

it is not easy to find nice one. following is one of reason.
AD8421 say : 3.2nV root Hz input voltage noise
AD8429 say : 1nV root Hz input voltage noise
looks like AD8429 is more low noise, but is it not true. noise need to calculate with current noise. AD8421's Total voltage noise + current noise is less than AD8429. also no specification for Voltage Noise spectral density VS Source Resistance for AD8429.

next Step show actual noise test results, etc.

Step 16: IN-AMP Photo and Test

photo and test results.

inamp electrode side 
inamp head filter 
inamp side
connect OSC to IN-AMP  for test.
connect IN-AMP SoundBrain output to Mac Line input.
connect IN-AMP SoundBrain output to RCA optical interface to Mac Line input. 

use optical interface is nice to reduce AC noise and more nice low frequency responce ( that depend on optical interface ).

this IN-AMP head set works as SounBrain output. Also work with "filter amp, Arduino, LED, Bluetooth" unit as brain wave bluetooth interface.
we can see brain wave via bluetooth interface and SounBrain via sound input together that use IBVA application. following is test results of SounBrain and brain wave.

"filter amp, Arduino, LED, Bluetooth" unit is same as at Step 11. Total Circuit is Step 14, Circuit 4. 

connect 10 Hz OSC to inamp electrode input.
use 1 M, 100 K, 10 K source resistance to see noise.
also connect same way to IBVA and OPA2111 Arduino UNO unit ( Step 7 ) to see noise difference.
with IBVA 1M ohm source resistance, more noise, but can see nice 10 Hz signal.
with INAMP 1M ohm source resistance, more noise and not easy to see 10 Hz signal.
OPA2111 Arduino UNO unit ( Step 7 ) can see same noise for 1M, 100K, 10K test. This noise by my construction, I'm not use PCB. 

connect Soundbrain output to Mac Line input.
IN-AMP noise test with 1M, 100K, 10K source resistance with SoundBrain and Brainwave.
SoundBrain is less noise. 1M source resistance is many noise.

INAMP SoundBrain test.
Brainwave use 40 Hz high cut filter, can not see AC.
SoundBrain is not cut AC. Use optical input is nice to reduceAC noise.
connect Soundbrain output to Mac Line input.
connect Soundbrain output to RCA input of optical interface.  connect optical to Mac Line input.
Optical input : -3dB at 2..3 Hz. Mac Line input : -6dB at 2..3 Hz
Use GefenTV optical interface.

INAMP line input SoundBrain look like brainwave.
SounBrain connection use Mac line input.
brainwave connection use bluetooth

my experience, this IN-AMP AD8421 is new : this year (2012) product. need more practice to use. feeling like more stable to use OPA2111. I use it over 25 year. 
Use this IN-AMP can make as low power operation and more easy to make, but really noise is increase when source impedance is over 200 K ohm.
depend on purpose, can be use this IN-AMP.

Use as SoundBrain and/or connect to 16 bit AD mean, we can get more wide dynamic range for signal processing. resolution, 1 digit = 0.2 micro V is same as use for Arduino 10 bit AD. because it is close to resistance noise level. Use 16 bit can pass high power, nice for AC noise reduction by software also.
in case you like to see more noise then you can increase gain few times with INAMP. then max input will go down.

step 6 diagram is stable operation. this new design use IN-AMP need more time to test. Always new experience take time.

Step 17: Circuit Diagram and PCB Files : 16 Bit Brain Wave Interface for Arduino/Raspberry Pi

this circuit diagram and PCB for test Step 14, NO 1, 2, 3, 4 circuit.
for NO 3 circuit, need to use OPA2111 active head set same as Step 6, 7. Use this way need to connect one power cable from DC-DC 15 V output to 5V regulator near head set input pin. Also connect jumper pin 5V output to active head set.

NO 1, 2, 4 need to care to use this circuit for electrode and skin contact. need to use with range 2 K ohm to 200 K ohm.
NO 3 is most nice low noise when range 20 K ohm to 10 M ohm electrode and skin contact resistance.  

including following future.
A: electrode and skin connection test circuit
B: use isolation DC-DC power and isolation digital control from Arduino and/or Raspberry pi.
DC-DC RECOM RP-0515D instead of RB-0515D is medical grade isolation.
C: can be use 16 bit AD ( Max 860 Hz sampling) and/or 12 bit AD ( Max 3300 Hz sampling ).
D: use isolation I2C connection to Arduino and/or Raspberry pi.
E: one board is 2 ch, and same board can be stack on the Arduino, also can be I2C wire connection to other location board to increase channel number.

Download Eagle files (Brain26.brd and Brain26.sch).

educational purpose Eagle application can download free from here.
then you can open Brain26.brd and Brain26.sch files.

manual cable connection.
1: electrode test circuit control line maybe need to connect by 2 wire.
2: Power line from 15V output from DC-DC to headset 5V regulator input. 

this board can be use as followings.

A: SoundBrain
this board + head set with cable connect to input.
connect 5.6 V to 12 V DC power to external power input.
connect SoundBrain output to 16bit/24bit/32bit audio device input.
no software needed.
then works as SoundBrain.

B: 16 bit / 12 bit brain interface for Arduino USB connection to computer.
put this board to Arduino. connect USB cable.

need Arduino program for 16 bit / 12 bit AD I2C interface.

16 bit AD : ADS1115
12 bit AD : ADS1015

head set with cable connect to input.
then works as 16 bit / 12 bit brain interface for Arduino.

can be stack same board one this board to increase number of channel.
also can connect other location board with I2C cable via external I2C connection.

C: 16 bit / 12 bit brain interface for Arduino with Bluetooth serial interface.
put this board to Arduino.
need Arduino program for 16 bit / 12 bit AD I2C interface. same as B.
need 7V .. 12 V DC power connection to Arduino.
then works as 16 bit / 12 bit brain interface for Arduino.

can be stack same board one this board to increase number of channel.
also can connect other location board with I2C cable via external I2C connection.

D: 16 bit / 12 bit brain interface for Raspberry Pi
this board I2C external connector to connect Raspberry Pi I2C connection.
need Raspberry Pi program for 16 bit / 12 bit AD I2C interface.

need DC power and/or USB connection to Raspberry Pi.
then works as 16 bit / 12 bit brain interface for Raspberry Pi.

E: with OPA2111 active headset and Arduino AD input with Bluetooth serial interface.
this board + OPA2111 active head set with cable connect to input.
connect DC-DC 15 V power line to 5 V regulator for active head set power.
connect jumper pin activate 5V power to active head set.
set two IN-AMP gain resistor 40 ohm for Gain 250.
connect direct output jumper on the board to Arduino A0, A1, A2 input.
L CH is A0, R CH is A1, 1/2 VCC ( from Virtual ground IC ) is A2.
need to set 4 Jumper connection ON.
this connection makes amp board and Arduino ground is not isolate. need to use Arduino with Bluetooth serial interface.
then works as 10 bit brain interface for Arduino.

F: D0 control
this output control electrode test signal.
Make ON = 5 mV will be add to electrode via DC cut capacitor and resistor.
10 time ON/OFF par second makes 10 Hz signal.

G: D1 control
this output control filter high cut frequency.
OFF = 200 Hz high cut
ON = 40 Hz high cut

H: D2, 4, 12, 13 control
this is switch for connect test signal to each electrode ( total 4 electrode ).
need to test each electrode connection in each time.
OFF = no test
ON = test