Mind Mirror repair and restoration

I was fascinated as a teenager by biofeedback, which was big in the 1970s and early 1980s. It’s called neurofeedback now, at least in the EEG guise. Technology and digital processing has made this easier, though some of the fundamentals remain. Wherever you see a puff piece about the latest and greatest dry electrode technology, be that from Muse or from some games gizmo, you are not getting optimal signal quality, because the Holy Grail of the messless EEG pickup has never been found 1. You can get some sort of signal using dry electrodes or capacitive tech, but the EEG signal is weak, in the order of microvolts, so things like Muse and EEG games controllers are frustratingly inconsistent, sort of serviceable but not great IMO. Colour me a cynical bastard but I suspect poor signal quality is why it seems to be the devil’s own job to get the raw EEG data out of Muse, although this and this indicate it might be possible. You’re stuck on a F7-F8 montage with Muse, although that has the advantage of being outside the hairline.

I found Muse a mildly expensive mistake/rathole. I could get somewhere with it, but it was frustratingly inconsistent, I found it stressful using a phone as the interface and the dumbed-down interface grated. I was glad to give it to someone who will use the product as it is designed.

I was intrigued way back then by the Dragon Project, an attempt to measure effects around ancient sites. The physical monitoring part of that project didn’t yield anything of note, but one device they did use was called a mind-mirror, a transportable EEG, there are some pics in their gallery.

This was designed in the late 1970s by the late Geoff Blundell of Audio Ltd, a heroic piece of analogue design to make a multichannel audio spectrum analyser using hardware.

I managed to get one second-hand since publishing my first article on the Mind Mirror. This didn’t work properly – the right-hand side didn’t display right, one of the LED channel boards was down and there was an odd output from the lowest frequency LED display. It’s challenging trying to fix something with no circuit diagram, particularly when it is something that quite this one of a kind, you can’t draw parallels from other designs.

Mind mirror display daughterboards

However, what made this easier is the display is made up of plug-in daughter boards fed in parallel.

one of the mind mirror daughterboards
one of the Mind Mirror daughterboards

This made it easier to isolate faults and by swapping boards trace whether the issue was on the board or the common backplane drive.

At first this was a sick puppy – the left hand channel didn’t work at all. I compared this with the right hand side, discovering the quiescent signal voltage was 0.82V as opposed to 2.5V on the right hand side. The 5V power line on the RHS was mirrored by 1.7 on the left.

So I pulled display boards till I found the offending board dragging down the power supply. The LHS still didn’t work, so I traced the input signal to a 4016 CMOS analogue switch which had failed on one section. Changing the chip cleared this fault, so I replaced the daughter board till I found the one that pulled the power supply down, which turned out to be a faulty CA324 quad opamp.

The last fault was a weird display on the lowest RHS channel. That turned out to be a duff LED gone short, which due to the odd Charlieplexed display on the UAA170 made me first suspect the UAA170. These are still available NOS on eBay, but swapping the chip didn’t fix the problem. Modern LEDs are much more efficient and a slightly more orangey red than the 1970s ones, so I had to shunt the replacement LED with a resistor to balance brightness.

The unit was originally designed to work with two 6V SLA batteries, but the strip on the PCB joining the mid-point of batteries is not connected to anything else. This is a 12V unit, though the system ground is not connected to the battery 0V.

Tracing out a daughter board was tiresome. an example active filter is

Mind mirror active filter schematic
Mind mirror active filter schematic

and simulated in LTSpice this is

Mind Mirror example filter LTSpice simulation
Mind Mirror 16 Hz filter LTSpice simulation

This reasonably matches the expected display. Bear in mind the display is linear steps up to 16 levels, so the difference between minimal display and full-scale is about 1:16 or about 24dB, so if all LEDs are lit by the peak  the display will extinguish (show the lowest LED) for the same amplitude frequencies < 12.2 Hz and > 20Hz.

The output of the filter goes to a pin on the DB25 socket, and is rectified and low-pass filtered before going to the UAA170 16 LED display IC on the same daughter board.

I have set this on soak test for a few days. In the video the 26Hz channel is off on the LHS, this was due to an unsoldered joint.

unsoldered joint. The messy flux residues aren’t my work, but I figure if it doesn’t cause grief after 50 years I will leave well alone, though I did solder this input to the high side of the level pot.

To feed the signal in I made a special differential driver from a quad opamp and padded the output down. I did test the input impedance which was of the order of >100k, though it got noisy with 100k source impedance. I suspect there’s another one of those CA324s on the input stage. There’s nothing that special about the CA324 nowadays. The datasheet is silent about noise performance, speed is similar to a 741 opamp. It is specified to work down to 5V , and the input common mode goes down to the negative supply, which has the edge on a 741. Looking at the internal design, there’s much in common with the nasty2 LM358 and indeed Texas Instruments lump the LM324 and the LM358 together in this application note.

You can do a lot better now, I’d be tempted to run it on the 100uV range and use a preamp to get a higher Zin, though I should test first. Perhaps the high noise is the 100k source being amplified so much – the specification is for a 10k typical contact resistance. You can only achieve this with wet electrodes, which is something I have yet to wrangle.

The spaces top left and right was originally to take two 6V sealed lead-acid batteries, nowadays the same capacity can be had in much less space in NiMh or a 3S LiFePo drone battery.

In the meantime I also got the Olimex EEG-SMT to tinker with. Although I feel the openEEG antialiasing filter leaves something to be desired I didn’t observe shocking levels of interference so perhaps I was overthinking that. Reading the archives of the openeeg mailing list I was impressed with the care taken over the analogue design, to the extent an easy win would be to use the EEGSMT in the LHS battery slot and break out the analogue signal from C51 and C52 to go into the MM. The driven right leg grounding scheme of openEEG works very well, and I verified that messing about with the EEGSMT and a pair of Olimex active electrodes used dry.

Sadly I screwed up buying only two active electrodes, since the channels are differential you need two active electrodes per channel, four in all. Since the UK has left the EU there is a whole world of hurt associated with buying from the Bulgarian company Olimex that I didn’t have when I bought the original devices a couple of years back.

However, I have a working Mind Mirror EEG and a serviceable Olimex OpenEEG system. After a frustrating foray into the dry electrode world of Muse, I can return to tackle the problem I never faced up to, which is eschewing the mirage of decent dry contact solutions. There aren’t any, because you cannae change the laws of physics. Dry contact solutions means higher contact resistance, which associated with a weak signal coming through a high resistance means more noise and less signal. I need to suck that up, because I have wasted too much time on that sort of thing.


  1. The effects of electrode impedance on data quality and statistical significance in ERP recordings, Kappenman + Luck 
  2. Nasty because these damn things are responsible for a lot of audio crossover distortion when used by tyros drawn to the low cost and low voltage performance. See TI application note page 17. If you really must use these at audio frequencies, pull the output down to the negative rail with about 10k to bias the output push-pull NPN Darlington into Class A.  The TI app note preamble
    The LM324 and LM358 family of op amps are popular and long-lived general purpose amplifiers due to their flexibility, availability, and cost-effectiveness. It is important to understand how these op amps are different than most other op amps before using them in your design. The information in this application guide will help promote first time design successes.
    should warm you up to ‘here be dragons’