Exocortex

An EEG helmet you can build: 1,118 dry gold contacts on 66 tiles under a beanie, generated end to end from code.


The cap from above: three rings of trapezoids parallel to the cuff and a top cut into a symmetric grid; each colour is one PCB designThe cap from above: three rings of trapezoids parallel to the cuff and a top cut into a symmetric grid; each colour is one PCB design

Problem

High-density EEG means hundreds of electrodes, gel, and a lab. I wanted one you could wear under a beanie and build from a single order, and the first complete design cost 11,784foronehelmet:48boardseachcuttoadifferentshape(66PCBdesignswiththeircontrollers),a11,784 for one helmet: 48 boards each cut to a different shape (66 PCB designs with their controllers), a 6.62 converter per eight contacts and a $0.93 spring pin on every contact. Most of that money went on per-design setup fees and on building two of everything, not on parts.

Solution

A cap of flat tiles, like the panels of a hat: three rings of trapezoids running parallel to the cuff, every tile in a ring the same PCB, and a nearly flat top cut by territory lines into a symmetric grid where a cell and its mirror twin share one board. 66 tiles, 9 designs, 1,118 contacts. Each tile carries its own front end (a zero-drift amplifier at gain 101 beside each contact, referenced to an AC-coupled reference) and a 0.40RISC−Vmicrocontrollerwhose12−bitADCisoversampledto500SPS;tilesdaisy−chainoverflatcablesintoahubthatstreamstoahost.One0.40 RISC-V microcontroller whose 12-bit ADC is oversampled to 500 SPS; tiles daisy-chain over flat cables into a hub that streams to a host. One 0.10 commodity pogo pin, placed by the board house, goes on every contact.

How

  • Layout: Python on a parametric headform: a distance field from the cuff line (Dijkstra) gives the rings; the top is mapped to the plane and cut by searched territory lines; every board checked in 3D (≥ 0.8 mm apart, every pin inside the pogo pin's working range, ≥ 2.4 mm from its board edge).
  • Boards: circuits as code, a custom placer, tscircuit for the board model, Freerouting plus a grid-based repair router, six layers at 0.09 mm rules, Gerbers, BOM and pick-and-place for JLCPCB, two customer panels that together make one helmet.
  • Mechanics: a printed PETG shell generated around the tiles with build123d: standoffs at every hole, slots and channels for every chain cable, the hub pod and five camera cradles.
  • Cost: every line an orderable part with a live price, JLC's fees from their published rules.

Results

  • One helmet from one order: **2,145allin∗∗,downfrom2,145 all in**, down from 11,784 (boards, assembly, every part, cameras, battery, shell filament and beanie, at live JLC/LCSC prices).
  • 66 PCB designs down to 9, and a pin that costs a tenth of the old one and needs no hand placement.
  • The printed shell passes all 64 of its geometric checks: every tile, standoff, cable channel, camera cradle and the hub pod clear each other, and the helmet goes on over the head.
  • Every number on the project site is read from the generated outputs; changing an input and rebuilding updates the boards, the shell, the order and the page.

Lessons

The board count, not the electronics, set the price: setup fees are per design, so making most tiles identical saved more than any part substitution. And the layout had to be drawn as territories, not as boards: laying boards out one by one left ragged gaps, while cutting the region into cells and shrinking each cell into a board filled it cleanly. Nothing has been built yet; contact quality through hair is the next thing to measure.