Recently we bought a OCZ NIA device for our lab. Having designed similar hardware myself, I simply *had to* take the thing apart to inspect it, as others have done -- see Joe Pit's teardown (with schematic!!). Of course, I graciously let the others try it for a few hours (it doesn't work all that well) before taking the anodized, extruded, surface- ground aluminum case apart. Below is the top side of the 4-layer circuit board inside the case, as well as a key to indicate the function of the labeled devices. (some of the labels are hard to read due to the clutter of the silkscreen on the board; sorry). A - Input connector. Center channel is isolated ground; outside two channels are the signal. They had to make this custom so people couldn't plug it into other (possibly dangerous) stuff.

B - Input current limiting resistors, in series with signal, 4.02K

C - Dual capacitor from input channels to shared ground (I think; the cap has 4 contacts, 2 at the end, 2 in the middle; I assume they use this package to get very accurately matched capacitance so as not to hurt the CMRR of the instrumentation amplifier).

D - Gain-setting resistor, 1.00K. Sets the instrumentation amplifier gain to 50 (I think).

I do not know what devices were intended for the 1206 footprints above and below this resistor...

E - Instrumentation amplifier, Analog Devices logo, AD8220 by my guess, A-grade. Measures the difference in voltage between the two input channels (left and right electrodes on the headband).

F - 47 ohm resistors & capacitors to filter the power supply to the instrumentation amplifier.

H - Opamp, Texas Instruments OPA348A. Looks like it is used as feedback to the instrumentation amplifier reference pin to effect highpass operation (?).

I - Quad opamp, TI OPA4348A. Used to filter the signal; I did not go through the filter topology, but they might have copied it off the AD8220 datasheet ;)

J - Stereo ADC, Texas Instruments (Burr-Brown logo, TI bought BB) PCM1803A. Only one channel is used. 24 bits, 96khz max sampling rate; device in master mode (Mode1 = 0V, Mode0 = 3.3v); Fs = SCLK/512 -> sampling rate = 3.90625 KHz.

K - Three channel digital isolator, Analog Devices ADUM1300. Transmits the ADC's DOUT, BCK, and LRCLK signals to the USB (non-isolated) side.

L - Two-channel optical (?) isolator; unknown type; used to drive the ADC's SCLK and some other signal ?

from Joe Pits: "Yeah, optical isolator with logic gates for high speed I guess (HCPL2631S). I'm also not sure what the second signal does, it goes to U4 (JSR marking). I suspect it could be a switch which adds C14 + R17 in the feedback loop of U2C (see the schematic). But I don't know what the reason for this is."

M - Isolated supply daughterboard, Texas Instruments logo, very simple design: driver is 2 BJTs (which get hot!) in push-pull topology; bases are driven by windings on the toroidal transformer; transformer center tap seems to go to USB VCC. Output is +-5V.

N - +3.9V, +3.3, and -3.9V power supply circuitry. I cannot identify the SOT-23-5's and SC-70's here.

O - PIC18F2455, with USB 2.0 (obviously!) SOIC-28 package.

device comes up as (on my Linux box, Debian Lenny, kernel 2.6.24):



usb 4-1: new full speed USB device using uhci_hcd and address 8





hiddev96hidraw1: USB HID v1.10 Device [Brain Actuated Technologies Neural Impulse Actuator Prototype 1.0] on usb-0000:00:1a.1-1



I'll put up a usbmon trace later, maybe.

P - Transistors for driving the tricolor LEDS on the bottom of the board.

Q - 16.0000 MHz crystal. Needed for correct USB timing; clocks the PIC at 48Mhz.

R - USB type B connector. Note the ferrites to the left. (I though they were fuses, but I accidentally shorted Vdd to ground while probing the programming connector, and these let out a little smoke rather than blowing completely. Had they been fuses, they would be open circuit now. This is consistent with Joe Pit's analysis.)

S - 74HCT595A 8-bit shift registers, to convert the serial data into parallel data for the PIC to read in. 3 devices = 24 bits in total.

Note that the 74HCT595A has a output enable, which permits the PIC to read the 3 bytes of the sample sequentially. Otherwise, as Stefan Jung (via the openeeg-list) points out, the PIC would not have enough data pins (28 pins vs. 24 bits)!

T - 74HCT393, Texas Instruments logo, Dual 4-bit binary ripple counter. Used to drive the ADC with a 2Mhz clock, which puts the sampling rate at (as before) 3.90625 KHz.

U - Programming connector. That's right, a programming connector! Looks to be the same as a PIC ICSP connector (pointed out on hack a day)

Looks to be the same as a PIC ICSP connector (pointed out on hack a day) So far as I can tell:



Pin 1 = +5V, PIC pin 1, (through 100 ohm resistor), Vpp (?)





Pin 2 = PIC pin 20 , Vdd





Pin 3 = PIC pin 19 , Vss





Pin 4 = PIC pin 28 (through 100 ohm resistor), PGD





Pin 5 = PIC pin 27 (through 100 ohm resistor), PGC



I do not know if the device can be reprogrammed, though it looks that way.

if the device can be reprogrammed, though it that way.

from here - bootloader (to address 0x07ff) can be read, but everything above that is read-protected. Bottom of board, showing the (very bright!) tricolor LEDs Comments?