Exocortex Labs

The design: 1,273 dry contacts under a beanie

An EEG helmet you can build: 48 flat circuit boards cut to the shape of the head, carrying 1,273 gold-plated spring pins that press through the hair onto the scalp. A printed PETG shell holds the boards, a hub at the back gathers the data, five cameras sit in the beanie's cuff, and a rib-knit beanie goes over all of it. Everything here is generated from code in this repo (exo/); change an input and rebuild, don't edit the outputs.

What's in it

part what it is numbers
contact boards 16 main boards and 32 fillers, every one a different polygon, 6 layers 1,273 contacts, 89.5% of the scalp
spring pins one off-the-shelf part on every contact: Mill-Max 0919, SMT, rounded gold plunger, 3 mm stroke 1,273 per helmet
converters ADS131M08, 24-bit, one per eight contacts, on the contact boards 179
controllers an RP2040 board cut to each main board's outline, stacked behind it on four DF40 pairs 16
hub reference and bias, a shared 2.048 MHz clock, 16 controller and 5 camera ports, battery, USB-C, Wi-Fi 1 (hub)
cameras ESP32-S3 module and an OV2640 wide-angle camera on a 16 × 19 mm board, MJPEG over Wi-Fi, PDM mic 5 (cameras)
shell crown, front band, back band with the hub pod, splice tabs, battery cover; PETG 5 parts (shell)
beanie rib knit with a turned-up cuff; the cameras' lenses through grommets; USB-C eyelet (beanie)

To order one: ordering.

How a contact works

Each spring pin is reflowed onto a pad on the board's scalp face. Behind it sit a divider (two 100k), a 2.2M bias return, a 1 µF coupling capacitor and a TLV333 zero-drift buffer. Eight buffered contacts feed one ADS131M08. The converters on a main board, and on the fillers wired to it, are read over SPI by that board's RP2040, which streams to the hub over a 12-way 0.5 mm FPC. The hub drives the reference and bias electrodes, distributes the clock and a SYNC pulse so every converter samples together, and sends the data to a host over USB 2.0 or Wi-Fi.

Why the boards look like this

Every contact uses the same spring pin, so the gap from a board to the scalp has to stay within the pin's 2.6 mm working range across all of that board's contacts. A flat board over a curved head only manages that over a limited area, so the boards are small and cut to fit: each grows edge by edge until the next step would break the pin range or come too close to a neighbour, then fillers grow in the gaps. See contact boards and pins.

Where it stands

layout 48 boards, every contact inside the pin's range, clearances checked in 3D
contact boards, controllers placed, routed and checked (connectivity, clearance, fault current), Gerbers, BOM and CPL per board and per JLC panel
hub placed, routed and checked, Gerbers, BOM and CPL
cameras placed, routed and checked, Gerbers, BOM and CPL
shell regenerated around the real boards: standoffs at every board's holes, FPC slots and channels, STL and STEP
cost every part an exact orderable line with its price; JLC fees from their published rules (ordering)

Nothing has been built or measured on a head yet: contact impedance and noise on hair, motion artefacts, pin force and comfort, fault injection, clock skew over the cables and EMC all need a bench.