Exocortex Labs

Ordering one helmet

Everything to buy for one exocortex, from whom, and every option on every order form: $2,142.76 all in.

Every figure here is read from out/sourcing/cost.json, which uv run python -m exo.cost writes from the boards as built. Add --refresh to re-fetch every JLC and LCSC price and stock first. Prices are as of 2026-11-04. This page is regenerated by uv run python -m exo.order_doc.

The script reads:

  • out/pcb/cap/placement.json and boards.json: the 9 tile designs and how many of each the helmet uses.
  • The panels from exo.pcb.panel.
  • The hub and camera BOMs.
  • out/sourcing/bom.json: the price catalog, with every URL.
  • out/sourcing/fees.json: JLC's fee schedule, with sources.

What it costs

JLC assembles at least 2 of every panel. So each tile panel holds half a helmet's tiles of its designs, plus a spare pair of each design, and is assembled twice: the two copies are one helmet and its spares. The hub and camera orders still build two sets, so their second set is spare.

supplier what per helmet what you pay
JLCPCB: boards, stencils, assembly 4 orders (table below) $1,197.55
JLCPCB: parts from its library every part with an LCSC number on the boards, hub and cameras $532.23 $737.97
LCSC (cart) FPC jumpers, M2 screws and inserts, the hub's antenna $10.90 $16.76
Probots (India) OV2640 2 MP 160° camera module $56.57 $56.57
Law Abiding Biker (USA) Micro-ratchet (micrometric) helmet buckle: receiver + toothed tongue $15.99 $15.99
eBay.de Closed-cell neoprene foam strip $2.23 $2.23
K2 (Australia) 20 mm nylon webbing $0.70 $0.70
certified cell seller (to quote) Li-ion 1S 3.7 V >= 2 $51.00 $51.00
oddjobhats.com Oddjob Big Beanie $40.00 $40.00
prusa3d.com PETG 1.75 mm $23.99 $23.99
total $733.61 in parts $2,142.76

A second helmet is a second order of the same files (the tile spares are only a pair per design).

The biggest lines, by what you pay:

item qty (helmet / order) unit total
TLV333IDCKR (JLCPCB parts library) 1,187 / 1,532 $0.1659 $254.16
KH-205580-DZ (JLCPCB parts library) 1,127 / 1,464 $0.1111 $162.65
CH32V203G6U6 (JLCPCB parts library) 128 / 166 $0.4514 $74.93
PRO2229 (Probots (India)) 5 / 5 $11.31 $56.57
1S Li-ion pouch to docs/hub.md § power (not yet chosen) (certified cell seller (to quote)) 1 / 1 $51.00 $51.00
Big Beanie XXL (oddjobhats.com) 1 / 1 $40.00 $40.00
JLC setup fees (charged once per design) 11 designs $562.32

Not included:

  • shipping and import duty/VAT on every order
  • X-ray (optional)
  • JLC's monthly $8 PCBA coupon
  • the shell print's electricity and the printer

Not exact: each of these lines has a reason in its note in cost.json.

  • PCB price: the bare-board price per panel is computed from JLC's published prices. JLC shows the real price only after the Gerbers are uploaded.
  • Prices from search results: the beanie comes from a search-indexed listing, because that site refuses automated fetches.
  • Hardware: stocked M2 screws are pan heads, not ISO 7380 button heads.
  • Inputs this run used: the FPC data came from out/shell_v1_report.json fpc, and the hardware counts from out/shell_v1_report.json hardware.

The pin

Kinghelm KH-205580-DZ (JLC C530677) goes on every contact and on the hub's REF and BIAS contacts, placed and reflowed by JLC like any SMD part.

  • Dimensions: 8.0 mm above its pad, Ø2.0 mm base, ~2.0 mm of plunger travel (drawing Kinghelm KH-205580-DZ (PG2.0-8.0-0.5T)).
  • Force: at most 70 g (the maker's figure); the force curve isn't published, measure it on a bench.
  • Working range on the helmet: the scalp sits 6.2–7.7 mm from each tile's face; in the layout every pin is 6.294–7.606 mm.
  • Pad: Ø2.2 on the boards.

1. JLCPCB

Every part on the tiles, the hub and the cameras is in JLC's library: nothing to source or consign.

The files

order upload BOM CPL
CAP-01 (R1 × 7, R1E × 2, R2 × 10, R3 × 7, R3E × 3) out/pcb/cap/panels/CAP-01/CAP-01-gerbers.zip out/pcb/cap/panels/CAP-01/CAP-01-bom-jlc.csv out/pcb/cap/panels/CAP-01/CAP-01-cpl-jlc.csv
CAP-02 (TA × 3, TB × 5, TC × 3, TD × 3) out/pcb/cap/panels/CAP-02/CAP-02-gerbers.zip out/pcb/cap/panels/CAP-02/CAP-02-bom-jlc.csv out/pcb/cap/panels/CAP-02/CAP-02-cpl-jlc.csv
HUB out/pcb/hub/EXO-430-gerbers.zip out/pcb/hub/hub-bom-jlc.csv out/pcb/hub/hub-cpl-jlc.csv
CAM out/pcb/camera/EXO-450-gerbers.zip out/pcb/camera/EXO-450-bom-jlc.csv out/pcb/camera/EXO-450-cpl-jlc.csv

If out/pcb/cap/panels/ doesn't exist yet, build it first: PCB_OUT=out/pcb/cap uv run python -m exo.pcb.panel. Each panel already has its rails, fiducials, tooling holes, mouse-bite tabs and per-board designators (R1x3_U4: design R1, copy 3).

The order form (once per row of the table)

PCB options:

option CAP-xx (tile panels) HUB CAM
Layers 6 4 4
Dimensions the panel size (table below) 80 × 56 19.0 × 17.0
PCB qty 5 5 5 (panels)
Different design the panel's design count 1 1
Delivery format Panel by Customer Panel by JLCPCB, 1 × 1, edge rails top and bottom, at least 7 mm each (so the panel reaches the 70 mm minimum) Panel by JLCPCB, 3 × 1, edge rails on
Thickness 1.0 mm 1.6 mm 1.0 mm
Surface finish ENIG ENIG ENIG
Outer / inner copper 1 oz / 0.5 oz 1 oz / 0.5 oz 1 oz / 0.5 oz
Via covering Epoxy filled & capped (POFV, free on 6-layer) Tented Tented (no via in a pad: the GND pads have dogbones)
Impedance control No Yes: JLC's 1.6 mm 4-layer stack-up (USB 2.0 HS pair, 90 Ω differential) No
Mark on PCB Remove mark Remove mark Remove mark
Electrical test flying probe flying probe flying probe

PCB Assembly options:

option CAP-xx HUB CAM
PCBA type Standard (0201 parts) Standard Standard (double-sided)
Assembly side Both sides (pins, protection resistors, test pads on the scalp face) Both sides Both sides
PCBA qty 2 2 2 (panels: 6 boards)
Tooling holes Added by customer Added by JLCPCB Added by JLCPCB
Confirm Parts Placement Yes ($0.45) Yes Yes
Others unticked unticked unticked

Then, for each order:

  1. Upload the BOM and CPL.
  2. On the parts page, check every line against cost.json: same LCSC number, stock green.
  3. In the placement preview, check these: - pin 1 of every QFN (the CH32V203s; the hub's RP2350s and FT2232H); - the SC70 op-amps and buffers and the SOT-363 mux; - the FPC connectors' orientation; - that every pogo pin sits on the scalp face.
  4. Compare the quote with the row for that order below.

Per-order fees ($), from cost.json → panels:

order designs panel mm PCB ×5 (est.) setup stencil loading joints joint $ hand-placed pins $ other total
CAP-01 5 212.24 × 174.41 129.93 255.60 20.62 29.07 32,926 52.68 0.00 17.39 505.29
CAP-02 4 235.95 × 71.58 59.28 204.48 16.42 29.07 14,038 22.46 0.00 17.38 349.09
HUB 1 80.0 × 70.0 5.12 51.12 16.42 113.22 3,550 5.68 0.00 17.37 208.93
CAM 3 70.0 × 70.0 4.42 51.12 16.42 42.84 1,290 2.06 0.00 17.37 134.24
Global Sourcing inspection 0.00
total 198.75 562.32 69.88 214.20 82.88 0.00 69.51 1197.55

How the fees are built:

  • Setup: $51.12 per order on double-sided Standard PCBA, plus the same again for each extra design in a panel. A panel of n designs therefore costs n setups, so panels save stencils, fabrication and the per-order fees, not setup.
  • Stencil: $16.42, plus $4.20 for a self-panelled stencil with 5 or more designs.
  • Loading: $1.53 for each unique part.
  • Joints: $0.0016 per joint.
  • Hand-placed pins: $0.017 per pin (none on the cap: its pogo pins are placed like any SMD part).
  • Other: confirm placement $0.45, packing $0.50 + $0.00003/cm², and fixtures $16.42.
  • PCB: 6-layer panels are priced at $2 up to 25 cm², rising linearly to $35.10 at 100 cm², then in proportion to area above that. The 4-layer hub and camera boards use $2 rising to $9.55. All of these are for 5 pieces.
  • Global Sourcing: $20 inspection per part type.

Sources: assembly price, extra charges, panelization, ordering, PCBA capabilities, minimum qty, Global Sourcing, consignment, 6-layer.

2. LCSC (cart)

Go to lcsc.com → BOM Tool, upload a CSV with the columns LCSC Part #, Quantity from the table below, check that every row matched, then check out.

LCSC item links qty total
C916292 RF Antennas RoHS 2 $5.28
C910056 1.3 RF Antennas 2 $0.77
C18212937 JS05B-12P-060-3-4: 12 Position FFC, FPC Cable 0.5mm 6cm R2-01.J102-R1E-02.J101 5 $0.51
C2857701 JS05B-12P-150-4-8: 12 Position FFC, FPC Cable 0.5mm 15cm R3-02.J102-R3-01.J101 5 $0.50
C2857702 JS05B-12P-200-4-8: 12 Position FFC, FPC Cable 0.5mm 20cm R3-05.J102-R1-06.J101, R3-08.J102-R1-08.J101, R1-05.J101-HUB.P07 5 $0.59
C2857703 JS05B-12P-250-4-8: 12 Position FFC, FPC Cable 0.5mm 25cm CAM3.J2-HUB.C3, CAM4.J2-HUB.C4, TC-04.J101-HUB.P11, R3-04.J101-HUB.P05, R2-13.J101-HUB.P16 5 $0.68
C2857704 JS05B-12P-300-4-8: 12 Position FFC, FPC Cable 0.5mm 30cm CAM2.J2-HUB.C2, TD-01.J101-HUB.P03, R1-03.J101-HUB.P08, R1-10.J101-HUB.P14 5 $0.46
C3002771 JS05B-12P-130-3-5: 12 Position FFC, FPC Cable 0.5mm 13cm R3-09.J102-R3-10.J101, R1E-02.J102-R1E-01.J101 5 $0.46
C5151980 JS05B-12P-100-3-4: 12 Position FFC, FPC Cable 0.5mm 10cm TC-01.J102-R3-02.J101, R3-12.J102-TA-01.J101, R3-04.J102-R3-03.J101, TD-02.J102-TB-04.J101, R3E-02.J102-TA-04. 20 $1.99
C5371249 JS05B-12P-080-4-8: 12 Position FFC, FPC Cable 0.5mm 8cm TA-04.J102-TA-03.J101, TB-08.J102-TB-05.J101, TB-07.J102-TB-06.J101, TB-05.J102-TD-03.J101, TC-03.J102-TB-08.J 21 $1.96
C5371250 JS05B-12P-120-4-8: 12 Position FFC, FPC Cable 0.5mm 12cm R3-10.J102-R2-14.J101, R3-03.J102-R2-05.J101, R2-16.J102-R2-17.J101, R3-01.J102-TB-02.J101, R2-10.J102-R2-11.J 7 $0.69
C55509681 0.512P400B4/4*8/8: 0.3mm 12P 0.5mm Same Side 40cm P=0.5m the only 400 mm 12-way 0.5 mm FFC at LCSC; its model number says type B but LCSC's description says 'Same Side 7 $1.13
C357534 Pan Head Phillips Machine Screws PM2X6 Nickel Plated pan head Phillips, nickel-plated steel: the closest stocked M2 x 6; not an A2 ISO 7380 button head; for: 132 x 136 $0.26
C51939026 Double Knurled Heat-Set Threaded Insert M233.5 Brass for: 4 x M2 x 3 heat-set insert + M2 x 5 button head (battery cover) 50 $0.50
C5222494 Torx Pan Head Machine Screw PM2×5 Black Oxide Torx pan head, black oxide: the closest stocked M2 x 5; for: 4 x M2 x 3 heat-set insert + M2 x 5 button head ( 100 $0.41
C357545 Pan Head Phillips Machine Screws PM3X10 Nickel Plated fetched 2026-11-03; the headband's link pins: thread-forming into the shell's Ø9 bosses (Ø2.5 pilot, 6 mm of t 100 $0.30
C357543 Pan Head Phillips Machine Screws PM3X6 Nickel Plated fetched 2026-11-03; the ratchet's two webbing loops, two screws each into the band's 2.4 mm blocks; for: 4 x M 100 $0.27

About the FPC jumpers:

  • Every link is Type B (contacts on opposite sides at the two ends), because both ends use the same bottom-contact connector wired pin to pin (see the shell report's FPC type note).
  • Every link is 12-way: tile to tile along a chain, a chain's first tile to a hub port, and the cameras.
  • The 400 mm 12-way cable (C55509681) is labelled type B in its model number but "Same Side" in LCSC's description. Check the photo before you order it.

3. Other suppliers

item where qty total
OV2640 2 MP 160° camera module, 24-pin 0.5 mm FPC, 21 mm tail (ESP32-CAM pinout) Probots (India) PRO2229 5 $56.57
Micro-ratchet (micrometric) helmet buckle: receiver + toothed tongue, stainless, for a strap up to 25 mm Law Abiding Biker (USA) Quick release chin strap stainless ratchet buckle kit 1 $15.99
Closed-cell neoprene foam strip, 20 mm wide, 3 mm thick, self-adhesive, 2 m (the band takes 0.65 m) eBay.de Self-adhesive neoprene sponge strip 20 x 3 mm 1 $2.23
20 mm nylon webbing, 1 m (two 60 mm loops hold the ratchet's halves) K2 (Australia) ANSCO Web HD Nylon 20mm, per m 1 $0.70
Li-ion 1S 3.7 V >= 2,500 mAh, >= 5 A continuous, own PCM, 10k B3435 NTC lead, <= 70 x 45 x 9 mm, JST PH 3-pin (BAT+, NTC, BAT-); IEC 62133-2 and UN 38.3 test reports certified cell seller (to quote) 1S Li-ion pouch to docs/hub.md § power (not yet chosen) 1 $51.00
Oddjob Big Beanie, size XXL, 100 % acrylic knit, 64 cm around as made oddjobhats.com Big Beanie XXL 1 $40.00
PETG 1.75 mm, 1 kg spool (the six printed parts slice to 530 g) prusa3d.com Prusament PETG Jet Black 1 kg 1 $23.99

Things to know before you buy:

  • Battery: Li-ion 1S 3.7 V >= 2,500 mAh, >= 5 A continuous, own PCM, 10k B3435 NTC lead, <= 70 x 45 x 9 mm, JST PH 3-pin (BAT+, NTC, BAT-); IEC 62133-2 and UN 38.3 test reports (certified cell seller (to quote), 1S Li-ion pouch to docs/hub.md § power (not yet chosen)). Price is a placeholder: the MaxAmps Lipo-2000-1S's $51.00 (recorded 2026-10-28), until a seller with the IEC 62133-2 and UN 38.3 reports quotes. LCSC and JLC sell no pouch cells (searched 2026-11-03). The MaxAmps pack it replaces is a hobby RC pack with no PCM (docs/regulatory.md § 3).
  • Camera module: the price is converted from INR at the rate stored in bom.json → fx.

4. The shell print

  1. Print out/stl/EXO-140.stl … EXO-145.stl in PETG on an Ender-3 V3 SE: 0.4 mm nozzle, 0.2 mm layers, 7 walls, 5 top and bottom layers, 20 % infill, 240 °C nozzle, 80 °C bed, 60 mm/s, 40 % fan, a brim.
  2. The parts are already in print orientation. See docs/shell.md for the times and grams.
  3. Heat-set the 4 battery-cover inserts.