Irregular Tile Packing
exocortex v1 · EXO-410 outline study · solver exo/quad_layout.py

Irregular quadrilateral boards cover 86% of the scalp region, up from 63.5%

Each of the 16 tiles keeps its position, tilt and contact-face height. Only its flat board's outline changes: four edges slide and tilt outward until a real constraint stops them. The 5 mm corner chamfers stay, because the v1 shell was solved to clear chamfered corners and the optical sensors sit in them.

Scalp region under a board
Contacts per helmet
Board area, 16 tiles
Pin length (raw)still the 7.5–12.5 mm pin family
Tightest clearancepin zone to pin zone, need ≥ 0.60
quad board stacksquare boardcontact on the scalp
drag to orbit · scroll or pinch to zoom

What limits each edge

An edge stops moving at the first of these. Every limit is checked in 3D, on the real tile frames.

constraintrule
neighbouring stacksboard stack (contact face to back parts, 5.5 mm) ≥ 1.0 mm from every neighbour's stack; ≥ 0.6 mm from its pin zone
cuff lineevery corner, projected onto the scalp, stays above the beanie cuff line
shellback parts stay inside the v1 shell's inner face less 0.5 mm, so the shell does not get thicker
hubevery stack ≥ 3 mm from the EXO-430 hub and its REF/BIAS pins
pinsa nut site gets a contact only if its pin is ≤ 13 mm raw (it rounds into the 12.5 mm EXO-5125)

Clearances are separating-axis lower bounds on convex prisms, so the true gaps are at least these. Contacts sit on a 5.3 mm grid, rotated and offset per board to fit the most nut sites.

What it costs

  • 16 different contact boards. Today's EXO-410 is one design built 16 times. Each quadrilateral needs its own placement and its own route, and EXO-410 alone took hours of Freerouting plus HDI vias to route.
  • 16 PCBA setups per order. JLC charges setup and a stencil per design and side, about $68 for a double-sided board, so roughly $1,100 per order before any parts.
  • The controller may have to change too. In 8 of the 16 tiles (T01, T02, T04, T06, T08, T12, T14, T16) a tilted edge cuts a corner of today's 44.2 mm square, which is where EXO-420's DF40 connectors sit. Keeping one controller design means pinning those edges so they never cut into the square; the solver can do that at some cost in coverage.
  • The shell changes: standoffs, FPC slots and splice tabs move with each board. The shell's thickness does not, because that was a constraint.

Per tile

tileregionarea vs squarecontactscorner angles (°)pin raw (mm)
Your question

Would flex PCBs work?

A flat sheet can bend around one axis freely, but the head curves in two directions at once. Pulling a tile-sized sheet onto it means stretching the sheet in its own plane, and copper on polyimide is made to bend, not stretch. The layout already measures this for every tile: 1.4–2.0 % of in-plane strain for a 44 mm sheet. That is far past what copper traces survive, so a whole-tile flex board would wrinkle or crack.

optioncoveragecontacts sitdesignsmain problemverdict
Rigid squares (today)63.5 %flat board, pins 7.5–12.5 mm1corners sit 6.4 mm farther from the scalp than the centre, so the helmet is about 12 mm thickerbench order
Rigid irregular quads (this page)86 %same16 contact boards, maybe 16 controllers16 routes and 16 PCBA setups per orderpossible
One flex sheet per tilehighon the curve1needs 1.4–2 % stretch; and the board needs 6 layers with HDI vias, which is specialist flex workno
Slit / petal flex (kirigami)highon the curve1every pin needs a nut, a follower within 2 mm and a stiffener, which leaves little bendable flex; the converters and their 0.4 mm pins still need a rigid, multilayer spothard
Rigid-flex islands≈ as quads or betternear the curve1rigid-flex fabrication and folded assembly cost more; the islands still need fine-pitch multilayer routingbest v2 candidate

Rigid-flex islands, sized by what the board already is

Recommendation: keep the routed square boards for the 1–2 tile bench order. Take irregular quads only if the gain is wanted before a redesign. Treat rigid-flex islands as the v2 study, and get a rigid-flex quote and a one-island prototype before changing the architecture.

Inputs: out/layout.json (tile frames), out/pcb/tile_geom.json (contact-face heights, pin table), out/shell_v1_report.json (shell inner face 23.2 mm). Output: out/quad_layout.json. Generated 2026-10-27.