← Commit history

Components and cost, battery and polarity, why ATtiny1616

John Lauer ·54203a625b ·3d ago ·parent ca96960
1 file changed +109−5
README.md+109−5
@@ -106,9 +106,17 @@ The faucet's pulse rate and the light pattern are the two big unknowns.  ![Battery-life numbers](docs/studio/battery-cd475f0f.png) +### The battery, and which pin is +++The cell is an [Adafruit 1578](https://wiki.adom.inc/adom/adom-1578): a protected 500 mAh 1S LiPo pouch, 30 x 35 x 5 mm per its PKCell drawing, with 102 mm leads and a JST PH plug. It is [Mouser 485-1578](https://www.mouser.com/en/ProductDetail/Adafruit/1578?qs=GURawfaeGuBBv%2Fo5AsyERQ%3D%3D), USD 7.95, 435 in stock when checked on 2026-11-07. It is BT1 in the BOM. It plugs into J2 and is not fitted by the fab, so the fab BOM lists it as a do-not-place line.++**Polarity:** on Adafruit packs, red (+) is on JST circuit 1 and black (-) on circuit 2. Looking at the plug's mating face with the latch bump up, red is on the right. Adafruit's and SparkFun's boards use the same convention. On rev A, J2 was first laid out the other way round (pin 1 GND), which would have reverse-connected this battery. That was caught and fixed before any order: **J2 pin 1 is VBAT (+) and pin 2 is GND**, with + and - printed beside the connector. Batteries from other sellers are often wired the opposite way, so check any pack with a meter before plugging it in.++![J2 and the Adafruit 1578 plug: + on pin 1](docs/studio/polarity.png)+ ### The current budget, part by part -Checked against the finished board (68 fitted parts, 32 BOM lines): every part below is on the exported BOM, and a walk of the netlist finds only one resistor path that is always on, the VBAT monitor divider (R8 + R9, 9.4 Mohm, 0.39 uA at 3.7 V). The charge-status and USB sense dividers are dead without USB, and the receiver bias is powered from a pin only during a session.+Checked against the finished board (68 fitted parts, 32 BOM lines on the board plus the battery): every part below is on the exported BOM, and a walk of the netlist finds only one resistor path that is always on, the VBAT monitor divider (R8 + R9, 9.4 Mohm, 0.39 uA at 3.7 V). The charge-status and USB sense dividers are dead without USB, and the receiver bias is powered from a pin only during a session.  | Asleep | uA | |---|---|@@ -119,7 +127,7 @@ Checked against the finished board (68 fitted parts, 32 BOM lines): every part b | VBAT monitor divider, 9.4 Mohm | 0.42 | | WS2812B rail switched off (Q3) | 0.0 | | TLV9062 unpowered (PA4 low) | 0.0 |-| LiPo pack protection IC (assumed) | 3.0 |+| LiPo pack protection IC S-8261AAJMD (3 uA assumed) | 3.0 | | **Total** | **4.7** |  | During a session | mA |@@ -134,6 +142,69 @@ Checked against the finished board (68 fitted parts, 32 BOM lines): every part b  Asleep and never used, the 425 mAh would last 10.3 years; in practice the cell's own self-discharge sets the shelf life. Typical datasheet currents at 25 C. +## Components++Every part of one Ghost Hand, with its live price, the break a build reaches and the date it was checked. The table covers the board parts, the battery, the bare PCB, the printed case parts and the case hardware.++| Part | Qty | Refs | Value | Role | Unit cost | Line cost (1 / 100 units) | Buy |+|---|---|---|---|---|---|---|---|+| <a href="https://wiki.adom.inc/adom/attiny1616-mnr"><img src="docs/parts/attiny1616-mnr.png?v=b1a8105a" width="64" alt="ATTINY1616-MNR"></a><br>**[ATTINY1616-MNR](https://wiki.adom.inc/adom/attiny1616-mnr)**<br>Microchip Technology | 1 | U1 | ATtiny1616-MNR | MCU: hardware IR echo (AC0, event system, TCB single-shot) | USD 0.900 each at 1; USD 0.873 at 100 units (buy 25+), checked 2026-11-07 | USD 0.900 / USD 0.873 | [Mouser 556-ATTINY1616MNR](https://www.mouser.com/en/ProductDetail/Microchip-Technology/ATTINY1616-MNR?qs=HXFqYaX1Q2yKNpuKQU9qww%3D%3D) |+| <a href="https://wiki.adom.inc/adom/mcp73831t-2aci"><img src="docs/parts/mcp73831t-2aci-ot.png?v=fccd44a9" width="64" alt="MCP73831T-2ACI/OT"></a><br>**[MCP73831T-2ACI/OT](https://wiki.adom.inc/adom/mcp73831t-2aci)**<br>Microchip Technology | 1 | U2 | MCP73831T-2ACI/OT | LiPo charger, 196 mA | USD 0.760 each at 1; USD 0.750 at 100 units (buy 25+), checked 2026-11-07 | USD 0.760 / USD 0.750 | [Mouser 579-MCP73831T-2ACIOT](https://www.mouser.com/en/ProductDetail/Microchip-Technology/MCP73831T-2ACI-OT?qs=yUQqVecv4qvbBQBGbHx0Mw%3D%3D) |+| <a href="https://wiki.adom.inc/adom/tps7a0233pdbvr"><img src="docs/parts/tps7a0233pdbvr.png?v=fccd44a9" width="64" alt="TPS7A0233PDBVR"></a><br>**[TPS7A0233PDBVR](https://wiki.adom.inc/adom/tps7a0233pdbvr)**<br>Texas Instruments | 1 | U3 | TPS7A0233PDBVR | 3.3 V LDO, 25 nA Iq | USD 0.950 each at 1; USD 0.540 at 100 units (buy 100+), checked 2026-11-07 | USD 0.950 / USD 0.540 | [DigiKey 296-TPS7A0233PDBVRCT-ND](https://www.digikey.com/en/products/detail/texas-instruments/TPS7A0233PDBVR/12165099) |+| <a href="https://wiki.adom.inc/part-request/n8mib0MeRoaROvu4dI106rCYAxewTQXi"><img src="docs/parts/lis2dw12tr.png?v=756fe101" width="64" alt="LIS2DW12TR"></a><br>**[LIS2DW12TR](https://wiki.adom.inc/part-request/n8mib0MeRoaROvu4dI106rCYAxewTQXi)**<br>STMicroelectronics<br>component page requested | 1 | U4 | LIS2DW12TR | accelerometer: set-down, pick-up, tilt | USD 1.79 each at 1; USD 1.30 at 100 units (buy 100+), checked 2026-11-07 | USD 1.79 / USD 1.30 | [Mouser 511-LIS2DW12TR](https://www.mouser.com/en/ProductDetail/STMicroelectronics/LIS2DW12TR?qs=u4fy%2FsgLU9NZAt0DqrAehA%3D%3D) |+| <a href="https://wiki.adom.inc/adom/tlv9062idgkt"><img src="docs/parts/tlv9062idgkt.png?v=6f6a7fdb" width="64" alt="TLV9062IDGKT"></a><br>**[TLV9062IDGKT](https://wiki.adom.inc/adom/tlv9062idgkt)**<br>Texas Instruments | 1 | U5 | TLV9062IDGKT | receiver TIA and gain | USD 1.76 each at 1; USD 1.05 at 100 units (buy 100+), checked 2026-11-07 | USD 1.76 / USD 1.05 | [Mouser 595-TLV9062IDGKT](https://www.mouser.com/en/ProductDetail/Texas-Instruments/TLV9062IDGKT?qs=1mbolxNpo8fe4ip52k%252B7Aw%3D%3D) |+| <a href="https://wiki.adom.inc/part-request/8MK0A64vuebcJ7-Y0bAGGN3PVLNitp8J"><img src="docs/parts/vsmy2853sl.png?v=4cae8128" width="64" alt="VSMY2853SL"></a><br>**[VSMY2853SL](https://wiki.adom.inc/part-request/8MK0A64vuebcJ7-Y0bAGGN3PVLNitp8J)**<br>Vishay<br>component page requested | 1 | D1 | VSMY2853SL | 850 nm emitter | USD 1.01 each at 1; USD 0.532 at 100 units (buy 100+), checked 2026-11-07 | USD 1.01 / USD 0.532 | [Mouser 78-VSMY2853SL](https://www.mouser.com/en/ProductDetail/Vishay-Semiconductors/VSMY2853SL?qs=5csRq1wdUj5LLuw5br%2F28g%3D%3D) |+| <a href="https://wiki.adom.inc/part-request/o5md74npPDN2dqrLqUB6CkClqbT3ukpe"><img src="docs/parts/vsmb2948sl.png?v=4cae8128" width="64" alt="VSMB2948SL"></a><br>**[VSMB2948SL](https://wiki.adom.inc/part-request/o5md74npPDN2dqrLqUB6CkClqbT3ukpe)**<br>Vishay<br>component page requested | 2 | D2 D3 | VSMB2948SL | 940 nm emitters | USD 0.680 each at 1; USD 0.385 at 100 units (buy 100+), checked 2026-11-07 | USD 1.36 / USD 0.770 | [Mouser 78-VSMB2948SL](https://www.mouser.com/en/ProductDetail/Vishay-Semiconductors/VSMB2948SL?qs=5csRq1wdUj7tHqVBoZkgQA%3D%3D) |+| <a href="https://wiki.adom.inc/adom/vemd2023slx01"><img src="docs/parts/vemd2023slx01.png?v=f5d4d7a1" width="64" alt="VEMD2023SLX01"></a><br>**[VEMD2023SLX01](https://wiki.adom.inc/adom/vemd2023slx01)**<br>Vishay | 2 | PD1 PD2 | VEMD2023SLX01 | IR photodiodes, 750 to 1050 nm | USD 0.860 each at 1; USD 0.460 at 100 units (buy 100+), checked 2026-11-07 | USD 1.72 / USD 0.920 | [Mouser 78-VEMD2023SLX01](https://www.mouser.com/en/ProductDetail/Vishay-Semiconductors/VEMD2023SLX01?qs=5csRq1wdUj48jE77ZOyA1Q%3D%3D) |+| <a href="https://wiki.adom.inc/adom/ws2812b-2020"><img src="docs/parts/ws2812b-2020.png?v=81bc6999" width="64" alt="WS2812B-2020"></a><br>**[WS2812B-2020](https://wiki.adom.inc/adom/ws2812b-2020)**<br>Worldsemi | 5 | D4 D5 D6 D7 D8 | WS2812B-2020 | status lights (logo + 4 gauge) | USD 0.045 each at 1; USD 0.045 at 100 units (buy 1+), checked 2026-11-07 | USD 0.227 / USD 0.227 | [Adom stock adom/ws2812b-2020](https://wiki.adom.inc/adom/ws2812b-2020) |+| <a href="https://wiki.adom.inc/adom/dmn2041l-7"><img src="docs/parts/dmn2041l-7.png?v=3f2108a3" width="64" alt="DMN2041L-7"></a><br>**[DMN2041L-7](https://wiki.adom.inc/adom/dmn2041l-7)**<br>Diodes Incorporated | 2 | Q1 Q2 | DMN2041L-7 | emitter switches | USD 0.530 each at 1; USD 0.222 at 100 units (buy 100+), checked 2026-11-07 | USD 1.06 / USD 0.444 | [Mouser 621-DMN2041L-7](https://www.mouser.com/en/ProductDetail/Diodes-Incorporated/DMN2041L-7?qs=tiksPeNXt0LSbn3jTreVOg%3D%3D) |+| <a href="https://wiki.adom.inc/adom/dmg2305ux-13"><img src="docs/parts/dmg2305ux-13.png?v=3f2108a3" width="64" alt="DMG2305UX-13"></a><br>**[DMG2305UX-13](https://wiki.adom.inc/adom/dmg2305ux-13)**<br>Diodes Incorporated | 1 | Q3 | DMG2305UX-13 | LED rail switch | USD 0.410 each at 1; USD 0.169 at 100 units (buy 100+), checked 2026-11-07 | USD 0.410 / USD 0.169 | [Mouser 621-DMG2305UX-13](https://www.mouser.com/en/ProductDetail/Diodes-Incorporated/DMG2305UX-13?qs=L1DZKBg7t5Hgw5KN3G2IRg%3D%3D) |+| <a href="https://wiki.adom.inc/adom/usb4105-gf-a"><img src="docs/parts/usb4105-gf-a.png?v=4eed2bf6" width="64" alt="USB4105-GF-A"></a><br>**[USB4105-GF-A](https://wiki.adom.inc/adom/usb4105-gf-a)**<br>GCT | 1 | J1 | USB4105-GF-A | USB-C charge input | USD 0.800 each at 1; USD 0.575 at 100 units (buy 100+), checked 2026-11-07 | USD 0.800 / USD 0.575 | [Mouser 640-USB4105-GF-A](https://www.mouser.com/en/ProductDetail/GCT/USB4105-GF-A?qs=KUoIvG%2F9IlY%2FMLlBMpStpA%3D%3D) |+| <a href="https://wiki.adom.inc/adom/s2b-ph-k-s"><img src="docs/parts/s2b-ph-k-s.png?v=cc5c1032" width="64" alt="S2B-PH-K-S"></a><br>**[S2B-PH-K-S](https://wiki.adom.inc/adom/s2b-ph-k-s)**<br>JST | 1 | J2 | S2B-PH-K-S | battery connector (pin 1 +) | USD 0.120 each at 1; USD 0.084 at 100 units (buy 100+), checked 2026-11-07 | USD 0.120 / USD 0.084 | [Mouser 306-S2BPHKSLFSNPP](https://www.mouser.com/en/ProductDetail/JST-Commercial/S2B-PH-K-SLFSN?qs=cdbOS8ANM9A5Ie4gXeMjTA%3D%3D) |+| <a href="https://wiki.adom.inc/adom/smf5-0a"><img src="docs/parts/smf5-0a.png?v=8e37e223" width="64" alt="SMF5.0A"></a><br>**[SMF5.0A](https://wiki.adom.inc/adom/smf5-0a)**<br>Littelfuse | 1 | D10 | SMF5.0A | VBUS surge clamp | USD 0.420 each at 1; USD 0.162 at 100 units (buy 100+), checked 2026-11-07 | USD 0.420 / USD 0.162 | [Mouser 821-SMF5.0ARQG](https://www.mouser.com/en/ProductDetail/Taiwan-Semiconductor/SMF5.0A?qs=1mbolxNpo8eR5rZB%252BCLtCw%3D%3D) |+| <a href="https://wiki.adom.inc/adom/adom-1578"><img src="docs/parts/adafruit-1578.png?v=a610f227" width="64" alt="1578"></a><br>**[1578](https://wiki.adom.inc/adom/adom-1578)**<br>Adafruit | 1 | BT1 | 500mAh 1S LiPo | 500 mAh LiPo, off-board on J2 | USD 7.95 each at 1; USD 7.95 at 100 units (buy 1+), checked 2026-11-07 | USD 7.95 / USD 7.95 | [Mouser 485-1578](https://www.mouser.com/en/ProductDetail/Adafruit/1578?qs=GURawfaeGuBBv%2Fo5AsyERQ%3D%3D) |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/board"><img src="docs/parts/pcb.png?v=4a5e6505" width="64" alt="Bare PCB"></a><br>**[Bare PCB](https://wiki.adom.inc/john/ghost-hand/files/board)**<br>3rd party fab (price is an estimate) | 1 |  | 2-layer FR4 1.6 mm, 44 x 28 mm, HASL (ENIG option noted), green mask, 1 per unit | the board itself, 3rd party fab | USD 16.16 per unit at 1; USD 1.07 at 100 units, checked 2026-11-07 | USD 16.16 / USD 1.07 | Quote required (estimate basis: [public price formula](https://community.aisler.net/t/our-simple-pricing/102), note 8) |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"><img src="docs/parts/case-base.png?v=e1c65b57" width="64" alt="Base + cover + battery spacer (printed)"></a><br>**[Base + cover + battery spacer (printed)](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>Prusa Research (prusa3d.com US store) | 24.33 g |  | UV-stabilized ASA filament, 1.75 mm (Prusament ASA; README colour light sage, Light Grey priced as stand-in) | base, cover and battery spacer (ASA) | USD 0.631 per unit at 1; USD 0.631 at 100 units, checked 2026-11-07 (note 1) | USD 0.631 / USD 0.631 | [Prusa Research (prusa3d.com US store) Not labelled on page (page shows internal IDF/IDS codes only)](https://www.prusa3d.com/product/prusament-asa-light-grey-800g/) |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"><img src="docs/parts/case-gasket.png?v=1243f881" width="64" alt="Perimeter gasket + four screw seals + USB stopper/tether (printed)"></a><br>**[Perimeter gasket + four screw seals + USB stopper/tether (printed)](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>Prusa Research (prusa3d.com US store) | 1.048 g |  | Polyether TPU 95 Shore A filament, 1.75 mm (Prusament TPU 95A, ether-diol type; teal not offered, Urban Grey priced) | seals: perimeter gasket, 4 screw seals, USB stopper (TPU 95A) | USD 0.055 per unit at 1; USD 0.055 at 100 units, checked 2026-11-07 (note 2) | USD 0.055 / USD 0.055 | [Prusa Research (prusa3d.com US store) Not labelled on page (page shows IDF 26759 / IDS 4229)](https://www.prusa3d.com/product/prusament-tpu-95a-urban-grey-500g-nfc/) |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"><img src="docs/parts/case-foot.png?v=23f0c63e" width="64" alt="Foot ring (printed)"></a><br>**[Foot ring (printed)](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>Prusa Research (prusa3d.com US store) | 0.95 g |  | TPU 85 Shore A filament, 1.75 mm (Bedrock 3D TPU 85A, sold as the BASF/Forward AM Ultrafuse TPU 85A successor) | non-slip foot (TPU 85A) | USD 0.061 per unit at 1; USD 0.061 at 100 units, checked 2026-11-07 (note 3) | USD 0.061 / USD 0.061 | [Prusa Research (prusa3d.com US store) Not labelled on page (page shows IDF 24352 / IDS 2095)](https://www.prusa3d.com/product/basf-ultrafuse-tpu-85a-natural-750g) |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"><img src="docs/parts/case-lightpipe-main.png?v=425b4c8e" width="64" alt="Main logo light pipe + four gauge pipes + front IR window (SLA)"></a><br>**[Main logo light pipe + four gauge pipes + front IR window (SLA)](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>Hawk Ridge Systems (US Formlabs reseller) | 0.628 mL |  | Formlabs Clear Resin V5 (Form 4), 1 L cartridge | logo pipe, 4 gauge pipes, IR window (clear resin) | USD 0.075 per unit at 1; USD 0.075 at 100 units, checked 2026-11-07 (note 4) | USD 0.075 / USD 0.075 | [Hawk Ridge Systems (US Formlabs reseller) RS-C2-GPCL-05 (Formlabs part number; not printed on the reseller page)](https://hawkridgesys.com/product/formlabs-form-4-clear-resin-v5-1-l) |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"><img src="docs/parts/m2x12-a4-pan.png?v=56c0aed2" width="64" alt="Cover screws"></a><br>**[Cover screws](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>Fastener SuperStore | 4 |  | M2-0.4 x 12 mm pan-head machine screw, 316 stainless (A4), ISO 7045, Pozi drive | M2 x 12 A4 screws, from below | USD 0.106 per unit at 1; USD 0.106 at 100 units, checked 2026-11-07 (note 5) | USD 0.106 / USD 0.106 | [Fastener SuperStore 605929](https://fastenersuperstore.com/products/605929/machine-screws?pid=18765) |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"><img src="docs/parts/m2-heat-set-insert.png?v=22b80bb2" width="64" alt="Heat-set inserts"></a><br>**[Heat-set inserts](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>Mouser | 4 |  | M2 brass heat-stake/ultrasonic insert, straight wall, thru-threaded, 4.00 mm long, knurl about 3.73 mm, hole 3.23 mm (PEM IUTB-M2) | M2 brass heat-set inserts in the cover | USD 1.84 per unit at 1; USD 1.06 at 100 units, checked 2026-11-07 (note 6) | USD 1.84 / USD 1.06 | [Mouser 153-IUTB-M2](https://www.mouser.com/en/ProductDetail/SI/IUTB-M2?qs=7MVldsJ5Uaxqa%252BXpG0YdCg%3D%3D) |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"><img src="docs/parts/case-ballast.png?v=8b0f6334" width="64" alt="Ballast plate (OPTIONAL)"></a><br>**[Ballast plate (OPTIONAL)](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>McMaster-Carr | 1 |  | Low-carbon steel 20 x 14 x 2 mm, rounded, insulated (estimate cut from 1/16 in x 3/4 in 1018 bar) | optional steel ballast | USD 0.075 per unit at 1; USD 0.075 at 100 units, checked 2026-11-07 (note 7) | USD 0.075 / USD 0.075 (optional, not in total) | [McMaster-Carr 7702N146](https://www.mcmaster.com/product/7702N146/) |+| <a href="https://wiki.adom.inc/john/rc0402fr-075k1l"><img src="docs/parts/rc0402fr-075k1l.png?v=d854fe24" width="64" alt="RC0402FR-075K1L"></a><br>**[RC0402FR-075K1L](https://wiki.adom.inc/john/rc0402fr-075k1l)**<br>Yageo | 3 | R1 R2 R3 | 5.1k | 5.1k (input) | USD 0.100 each at 1; USD 0.007 at 100 units (buy 100+), checked 2026-11-07 | USD 0.300 / USD 0.021 | [Mouser 603-RC0402FR-075K1L](https://www.mouser.com/en/ProductDetail/YAGEO/RC0402FR-075K1L?qs=YUgVZYePFqCSmQuaha43RA%3D%3D) |+| <a href="https://wiki.adom.inc/adom/cc0603krx5r7bb475"><img src="docs/parts/cc0603krx5r7bb475.png?v=3c30bab9" width="64" alt="CC0603KRX5R7BB475"></a><br>**[CC0603KRX5R7BB475](https://wiki.adom.inc/adom/cc0603krx5r7bb475)**<br>Yageo | 2 | C1 C2 | 4.7uF 16V | 4.7uF 16V (input) | USD 0.240 each at 1; USD 0.085 at 100 units (buy 100+), checked 2026-11-07 | USD 0.480 / USD 0.170 | [Mouser 603-CC603KRX5R7BB475](https://www.mouser.com/en/ProductDetail/YAGEO/CC0603KRX5R7BB475?qs=57cj7OiSijmnlq47szjeyw%3D%3D) |+| <a href="https://wiki.adom.inc/adom/rc0402fr-0768kl"><img src="docs/parts/rc0402fr-0768kl.png?v=d854fe24" width="64" alt="RC0402FR-0768KL"></a><br>**[RC0402FR-0768KL](https://wiki.adom.inc/adom/rc0402fr-0768kl)**<br>Yageo | 1 | R4 | 68k | 68k (charger) | USD 0.100 each at 1; USD 0.007 at 100 units (buy 100+), checked 2026-11-07 | USD 0.100 / USD 0.007 | [Mouser 603-RC0402FR-0768KL](https://www.mouser.com/en/ProductDetail/YAGEO/RC0402FR-0768KL?qs=Is6ZsIPfHkZqrkXGHvEfjA%3D%3D) |+| <a href="https://wiki.adom.inc/john/rc0402fr-07100kl"><img src="docs/parts/rc0402fr-07100kl.png?v=d854fe24" width="64" alt="RC0402FR-07100KL"></a><br>**[RC0402FR-07100KL](https://wiki.adom.inc/john/rc0402fr-07100kl)**<br>Yageo | 8 | R5 R6 R13 R16 R17 R21 R25 R26 | 100k | 100k (charger) | USD 0.100 each at 1; USD 0.007 at 100 units (buy 100+), checked 2026-11-07 | USD 0.800 / USD 0.056 | [Mouser 603-RC0402FR-07100KL](https://www.mouser.com/en/ProductDetail/YAGEO/RC0402FR-07100KL?qs=mnq%2FyloZIXzTlUn7JAHSWg%3D%3D) |+| <a href="https://wiki.adom.inc/adom/rc0402fr-07150kl"><img src="docs/parts/rc0402fr-07150kl.png?v=d854fe24" width="64" alt="RC0402FR-07150KL"></a><br>**[RC0402FR-07150KL](https://wiki.adom.inc/adom/rc0402fr-07150kl)**<br>Yageo | 2 | R7 R15 | 150k | 150k (charger) | USD 0.100 each at 1; USD 0.007 at 100 units (buy 100+), checked 2026-11-07 | USD 0.200 / USD 0.014 | [Mouser 603-RC0402FR-07150KL](https://www.mouser.com/en/ProductDetail/YAGEO/RC0402FR-07150KL?qs=UOUeRUa%252B8Wn3KcUL8sT7JA%3D%3D) |+| <a href="https://wiki.adom.inc/barrett-land/cl05a105ka5nqnc"><img src="docs/parts/cl05a105ka5nqnc.png?v=fec952b1" width="64" alt="CL05A105KA5NQNC"></a><br>**[CL05A105KA5NQNC](https://wiki.adom.inc/barrett-land/cl05a105ka5nqnc)**<br>Samsung Electro-Mechanics | 4 | C3 C4 C8 C11 | 1uF 25V | 1uF 25V (power) | USD 0.310 each at 1; USD 0.113 at 100 units (buy 100+), checked 2026-11-07 | USD 1.24 / USD 0.452 | [Mouser 187-CL05A105KA5NQNC](https://www.mouser.com/en/ProductDetail/Samsung-Electro-Mechanics/CL05A105KA5NQNC?qs=X6jEic%2FHinDIeFgZnm60Lw%3D%3D) |+| <a href="https://wiki.adom.inc/adom/c0603c106m8pactu"><img src="docs/parts/c0603c106m8pactu.png?v=3c30bab9" width="64" alt="C0603C106M8PACTU"></a><br>**[C0603C106M8PACTU](https://wiki.adom.inc/adom/c0603c106m8pactu)**<br>KEMET | 2 | C5 C21 | 10uF 10V | 10uF 10V (power) | USD 0.980 each at 1; USD 0.394 at 100 units (buy 100+), checked 2026-11-07 | USD 1.96 / USD 0.788 | [Mouser 80-C0603C106M8PACTU](https://www.mouser.com/en/ProductDetail/KEMET/C0603C106M8PACTU?qs=gt1LBUVyoHk6B7S%252BOYJa0A%3D%3D) |+| <a href="https://wiki.adom.inc/adom/rc0402fr-074m7l"><img src="docs/parts/rc0402fr-074m7l.png?v=d854fe24" width="64" alt="RC0402FR-074M7L"></a><br>**[RC0402FR-074M7L](https://wiki.adom.inc/adom/rc0402fr-074m7l)**<br>Yageo | 2 | R8 R9 | 4.7M | 4.7M (power) | USD 0.120 each at 1; USD 0.008 at 100 units (buy 100+), checked 2026-11-07 | USD 0.240 / USD 0.016 | [Mouser 603-RC0402FR-074M7L](https://www.mouser.com/en/ProductDetail/YAGEO/RC0402FR-074M7L?qs=UOUeRUa%252B8WlB6TmWxXROcg%3D%3D) |+| <a href="https://wiki.adom.inc/barrett-land/cl05b104ko5nnnc"><img src="docs/parts/cl05b104ko5nnnc.png?v=fec952b1" width="64" alt="CL05B104KO5NNNC"></a><br>**[CL05B104KO5NNNC](https://wiki.adom.inc/barrett-land/cl05b104ko5nnnc)**<br>Samsung Electro-Mechanics | 9 | C6 C7 C9 C14 C16 C17 C18 C19 C20 | 100nF | 100nF (power) | USD 0.100 each at 1; USD 0.008 at 100 units (buy 500+), checked 2026-11-07 | USD 0.900 / USD 0.072 | [Mouser 187-CL05B104KO5NNNC](https://www.mouser.com/en/ProductDetail/Samsung-Electro-Mechanics/CL05B104KO5NNNC?qs=hqM3L16%252BxlfT2SKOuAUq6Q%3D%3D) |+| <a href="https://wiki.adom.inc/adom/rc0402fr-074k7l"><img src="docs/parts/rc0402fr-074k7l.png?v=d854fe24" width="64" alt="RC0402FR-074K7L"></a><br>**[RC0402FR-074K7L](https://wiki.adom.inc/adom/rc0402fr-074k7l)**<br>Yageo | 2 | R11 R12 | 4.7k | 4.7k (mcu) | USD 0.100 each at 1; USD 0.007 at 100 units (buy 100+), checked 2026-11-07 | USD 0.200 / USD 0.014 | [Mouser 603-RC0402FR-074K7L](https://www.mouser.com/en/ProductDetail/YAGEO/RC0402FR-074K7L?qs=V1yeUXFNrkn%2FmCXC8N8TTA%3D%3D) |+| <a href="https://wiki.adom.inc/adom/rc0402fr-0710rl"><img src="docs/parts/rc0402fr-0710rl.png?v=d854fe24" width="64" alt="RC0402FR-0710RL"></a><br>**[RC0402FR-0710RL](https://wiki.adom.inc/adom/rc0402fr-0710rl)**<br>Yageo | 1 | R28 | 10R | 10R (receiver) | USD 0.190 each at 1; USD 0.011 at 100 units (buy 100+), checked 2026-11-07 | USD 0.190 / USD 0.011 | [Mouser 603-RC0402FR-0710RL](https://www.mouser.com/en/ProductDetail/YAGEO/RC0402FR-0710RL?qs=V1yeUXFNrkkzkWCUUWS9og%3D%3D) |+| <a href="https://wiki.adom.inc/john/rc0402fr-0710kl"><img src="docs/parts/rc0402fr-0710kl.png?v=d854fe24" width="64" alt="RC0402FR-0710KL"></a><br>**[RC0402FR-0710KL](https://wiki.adom.inc/john/rc0402fr-0710kl)**<br>Yageo | 2 | R14 R18 | 10k | 10k (receiver) | USD 0.100 each at 1; USD 0.007 at 100 units (buy 100+), checked 2026-11-07 | USD 0.200 / USD 0.014 | [Mouser 603-RC0402FR-0710KL](https://www.mouser.com/en/ProductDetail/YAGEO/RC0402FR-0710KL?qs=I1mnnYJTTsxUoNwrUsQExA%3D%3D) |+| <a href="https://wiki.adom.inc/adom/grm1555c1h4r7wa01d"><img src="docs/parts/grm1555c1h4r7wa01d.png?v=fec952b1" width="64" alt="GRM1555C1H4R7WA01D"></a><br>**[GRM1555C1H4R7WA01D](https://wiki.adom.inc/adom/grm1555c1h4r7wa01d)**<br>Murata Electronics | 1 | C12 | 4.7pF | 4.7pF (receiver) | USD 0.130 each at 1; USD 0.042 at 100 units (buy 100+), checked 2026-11-07 | USD 0.130 / USD 0.042 | [Mouser 81-GRM1555C1H4R7WA1D](https://www.mouser.com/en/ProductDetail/Murata-Electronics/GRM1555C1H4R7WA01D?qs=ouTquLLW2S5qwZJBh3x8FA%3D%3D) |+| <a href="https://wiki.adom.inc/part-request/cVJEFouFMqWLi9DTBUq9wLbW4NAleHWO"><img src="docs/parts/grm1555c1h102ja01d.png?v=fec952b1" width="64" alt="GRM1555C1H102JA01D"></a><br>**[GRM1555C1H102JA01D](https://wiki.adom.inc/part-request/cVJEFouFMqWLi9DTBUq9wLbW4NAleHWO)**<br>Murata Electronics<br>component page requested | 1 | C13 | 1nF | 1nF (receiver) | USD 0.110 each at 1; USD 0.020 at 100 units (buy 100+), checked 2026-11-07 | USD 0.110 / USD 0.020 | [Mouser 81-GRM1555C1H102JA1D](https://www.mouser.com/en/ProductDetail/Murata-Electronics/GRM1555C1H102JA01D?qs=%2FOTtAhf8R8ZL4biNptvoUQ%3D%3D) |+| <a href="https://wiki.adom.inc/adom/rc0603fr-0712rl"><img src="docs/parts/rc0603fr-0712rl.png?v=83f5a507" width="64" alt="RC0603FR-0712RL"></a><br>**[RC0603FR-0712RL](https://wiki.adom.inc/adom/rc0603fr-0712rl)**<br>Yageo | 3 | R19 R22 R23 | 12R | 12R (emitter) | USD 0.100 each at 1; USD 0.008 at 100 units (buy 100+), checked 2026-11-07 | USD 0.300 / USD 0.024 | [Mouser 603-RC0603FR-0712RL](https://www.mouser.com/en/ProductDetail/YAGEO/RC0603FR-0712RL?qs=uM1JSSdPjODV%252BWweQ64ZaA%3D%3D) |+| <a href="https://wiki.adom.inc/adom/rc0402fr-07100rl"><img src="docs/parts/rc0402fr-07100rl.png?v=d854fe24" width="64" alt="RC0402FR-07100RL"></a><br>**[RC0402FR-07100RL](https://wiki.adom.inc/adom/rc0402fr-07100rl)**<br>Yageo | 2 | R20 R24 | 100R | 100R (emitter) | USD 0.100 each at 1; USD 0.007 at 100 units (buy 100+), checked 2026-11-07 | USD 0.200 / USD 0.014 | [Mouser 603-RC0402FR-07100RL](https://www.mouser.com/en/ProductDetail/YAGEO/RC0402FR-07100RL?qs=V1yeUXFNrknwaJOOZ4yDtg%3D%3D) |+| <a href="https://wiki.adom.inc/adom/jmk316bj107ml-t"><img src="docs/parts/jmk316bj107ml-t.png?v=41b087be" width="64" alt="JMK316BJ107ML-T"></a><br>**[JMK316BJ107ML-T](https://wiki.adom.inc/adom/jmk316bj107ml-t)**<br>Taiyo Yuden | 1 | C15 | 100uF 6.3V | emitter pulse reservoir | USD 1.07 each at 1; USD 0.488 at 100 units (buy 100+), checked 2026-11-07 | USD 1.07 / USD 0.488 | [Mouser 963-JMK316BJ107ML-T](https://www.mouser.com/en/ProductDetail/TAIYO-YUDEN/JMK316BJ107ML-T?qs=I6KAKw0tg2ze5%252Bz37ec%2FZg%3D%3D) |+| <a href="https://wiki.adom.inc/adom/rc0402fr-0733rl"><img src="docs/parts/rc0402fr-0733rl.png?v=d854fe24" width="64" alt="RC0402FR-0733RL"></a><br>**[RC0402FR-0733RL](https://wiki.adom.inc/adom/rc0402fr-0733rl)**<br>Yageo | 1 | R27 | 33R | 33R (lights) | USD 0.100 each at 1; USD 0.007 at 100 units (buy 100+), checked 2026-11-07 | USD 0.100 / USD 0.007 | [Mouser 603-RC0402FR-0733RL](https://www.mouser.com/en/ProductDetail/YAGEO/RC0402FR-0733RL?qs=V1yeUXFNrkk7PcMc%252BKdghg%3D%3D) |++**Per unit: USD 48.88 building 1, USD 21.64 each building 100** (electronics and battery USD 29.96 / 18.58).++Line cost is the quantity one unit consumes times the price break that the build quantity (1 or 100 units) reaches. Buying for one unit still means whole packs, spools and bottles; those minimum outlays are larger than the consumed cost. Excluded: adhesives and sealant: window rebate fillet, pipe shoulder bonds, tether anchor, flexible foot-ring adhesive, spacer bond and neutral-cure electronics sealant are not yet chosen (compatibility coupons pending) and use well under a gram each; battery-safe removable adhesive pad: product not chosen; negligible cost per unit; ASA-compatible clear exterior coating: product not yet proven on a coupon; small consumable amount; ballast insulation (tape or sleeve): product not specified; negligible; SLA post-processing consumables (IPA wash, sanding papers 800 to 3000 grit, polish): shared shop consumables, not per-part materials; laser marking, print labour, machine time, shipping and sales tax: process costs, not materials; assembly labour, PCB assembly fees, tax and shipping.++1. **Base + cover + battery spacer (printed):** STL solid volume base 8.5417 + cover 9.9544 + spacer 2.1787 = 20.675 cm3 x 1.07 g/cm3 = 22.12 g, plus 10 percent purge/support allowance = 24.33 g. Solid volume x density, upper bound: base and cover print at 35 percent gyroid with 5 walls, so their real mass is lower (the spacer prints 100 percent solid). Price $20.73/800 g = $0.0259/g, an 18 percent sale price (list $25.92/spool); at list price the unit cost would be $0.788. 100 units need about 2.43 kg = 4 spools ($82.92 outlay); no price break applies. Prusa states the ASA is UV stable. Excludes shipping and tax.+2. **Perimeter gasket + four screw seals + USB stopper/tether (printed):** STL volume gasket 0.2686 + screw seals (all four) 0.0221 + USB plug/tether 0.497 = 0.7877 cm3 x 1.21 g/cm3, plus 10 percent allowance = 1.048 g. These parts print 100 percent solid, so the volume figure is close to actual. Prusa's page states an ether-diol TPU with high hydrolysis resistance. Price $26.24/500 g = $0.0525/g, a 24 percent sale price (list $34.99). 100 units use about 105.0 g, still one spool. Excludes shipping and tax.+3. **Foot ring (printed):** STL volume 0.7134 cm3 x 1.21 g/cm3 (85A density not given on the listing; 1.21 assumed, real 85A grades are about 1.1 to 1.2), plus 10 percent allowance = 0.95 g; prints 100 percent solid. Price $47.99/750 g = $0.064/g. The listing does not state a polyether base: confirm on the TDS before buying if hydrolysis resistance matters. The Prusa URL for the BASF Ultrafuse 85A now serves this Bedrock 3D product. Teal is not offered. 100 units use about 94 g, still one spool. Excludes shipping and tax.+4. **Main logo light pipe + four gauge pipes + front IR window (SLA):** STL volume main pipe 0.1764 + four gauge pipes 0.0672 + IR window 0.2396 = 0.4832 cm3, taken as mL of resin, plus 30 percent support/raft/waste allowance = 0.628 mL. Price $119.00/1000 mL = $0.119/mL. The Formlabs store itself refused the request (HTTP 429), so a US reseller price is used; the page shows $ without naming the currency. 100 units use about 63 mL, still one cartridge. Excludes IPA wash, shipping and tax.+5. **Cover screws:** 4 x $0.02656 each at the 1-carton price. 100 units use 400 screws, still one carton, so there is no break. Mouser and DigiKey searches found no A4/316 M2 x 12 pan head (Mouser only had unspecified-grade Essentra 50M020040P012 and 18-8 APM Hexseal seal screws). A small pack of 316 could not be confirmed: the Zoro listing returned HTTP 403 and BelMetric shows no price. ISO 7045 allows head diameter up to 4.0 mm, above the README's 3.8 mm limit (counterbore is 4.2 mm): check the supplier drawing. Stock not shown on the page. Excludes shipping and tax.+6. **Heat-set inserts:** Build of 1: 4 pcs at $0.46. Build of 100: 400 pcs hit the 100-pc break at $0.266 ($106.40 outlay). 14,446 in stock at Mouser (factory lead time 143 days). Dimensions from the PEM catalog page: length 4.00 mm, recommended hole 3.23 mm, minimum hole depth 4.76 mm, deeper than the README's 4.5 mm pocket: check fit or choose a shorter insert. Excludes shipping and tax.+7. **Ballast plate (OPTIONAL):** Optional. Cut-to-size estimate: 14 mm pieces from a 1829 mm bar with 1.5 mm kerf gives about 118 pieces, so $8.86/118 = $0.075 of material each; one bar covers 100 units. This stock is 1.59 mm thick and 19.05 mm wide, close to but not the 20 x 14 x 2 mm spec; 2 mm stock would cost a similar amount. Plate mass at spec is about 4.4 g (0.56 cm3 x 7.85). Excludes cutting, deburring, rounding and insulation labour and materials.+8. **Bare PCB:** Estimate only. The board is made by a 3rd party fab; this public price list is used as an independent reference and is not the fab's price. Area 12.32 cm2. Build of 1: minimum order of 3 = EUR 14.48 = $16.16, all charged to the one unit. Build of 100: 102 boards (sets of 3) = EUR 96.19 = $107.4, $1.074 per unit. ENIG Budget (EUR 0.097/cm2) would be $17.4 for 1 and $1.495 per unit at 100. Prices are net of VAT; the page says shipping is covered by the job fee. Green mask is standard (AISLER portfolio page). The pricing post is dated 2023-08-27 and its worked example uses a different rate (0.051 EUR/cm2), so treat as indicative. Converted at the ECB reference rate 1.1165 USD/EUR of 2026-11-06.++The sourcing BOM with stock checks and every price column is [docs/fab/ghost-hand-sourcing-bom.csv](docs/fab/ghost-hand-sourcing-bom.csv).+ ## Board  The board is an Adom molecule designed with Adom AI Flow in KiCad: schematic, placement, routing, copper@@ -149,12 +220,45 @@ The board's own page, written by AI Flow, is in [board/](board/README.md).  | | | |---|---|-| Parts | 68 fitted, 32 BOM lines, every placement rotation checked |-| Routing | 1137 mm of track in 1054 segments, 153 vias, 0 DRC errors, 0 unconnected |+| Parts | 68 fitted, 32 BOM lines on the board plus BT1 (battery, off-board, do-not-place line), every placement rotation checked |+| Routing | 1136 mm of track in 1051 segments, 153 vias, 0 DRC errors, 0 unconnected | | Copper | GND pours on both layers, wider VBAT and VBUS, heat-spreading copper under the charger | | Current and heat | peak 44 A/mm2, +37 C peak rise in still air while charging (Adom Fields) | | Checks | ERC 0, netlist parity 217 of 217 pins, zone fills current in the Gerbers | | Programming | UPDI on machine contacts MC4 (UPDI), MC3 (3V3), MC1 (GND) |+| Battery connector | J2 pin 1 = VBAT (+, red), pin 2 = GND (-, black), + and - in the silkscreen |++## Why an ATtiny1616 and not an STM32C0++**Keep the ATtiny1616.** It is the only part compared here that runs the whole echo in hardware: a comparator with a learnable DAC threshold, the event system and two single-shot timers, all while the CPU sleeps. It also sleeps at 0.1 uA, which gives about 10 years on the counter between charges.++- **STM32C011:** about $0.38 cheaper at 1000 units. But it has no comparator: an ADC analog-watchdog workaround can trigger TIM1, but only while the chip is awake. Its Stop mode draws 80 uA, so the design would have to use Standby, with a reset on every wake. That cuts idle life from 10 years to 4, and it needs a firmware rewrite and a new layout.+- **Rev B candidate:** TI MSPM0L1306, if its two on-chip op-amps can replace the TLV9062. The MCU plus op-amp would drop from $1.77 to $0.97 at 1000 units, keeping a hardware echo path and 1 uA standby. That needs a bench test first. Rev B would change:+  - U1 becomes an MSPM0L1306 (VQFN-24).+  - The TLV9062 goes, if the bench test passes.+  - Programming moves from UPDI to SWD (SWDIO, SWCLK and NRST on machine contacts).+  - The AC0 and DAC0 threshold becomes COMP with its 8-bit DAC.+  - The two TCB single-shots become event-triggered timer one-shots.+  - The firmware is ported.+  The finished rev A board is not re-laid out for this.++| Chip | at 1 | at 100 | at 1000 | Sleep current | Echo in hardware, CPU asleep | Programming | Idle years on one charge | Fits rev A? |+|---|---|---|---|---|---|---|---|---|+| [ATtiny1616-MNR](https://www.mouser.com/en/ProductDetail/Microchip-Technology/ATTINY1616-MNR?qs=HXFqYaX1Q2yKNpuKQU9qww%3D%3D)<br>VQFN-20 3x3, 16 KB / 2 KB | $0.900 | $0.873 | $0.873 (25+ break) | 0.1 uA power-down; 0.71 uA standby with RTC (DS40002204A t.36-5, 3 V 25 C) | Yes: AC0 with DAC0 threshold -> event system -> TCB0/TCB1 single-shot, runs in standby | UPDI, 1 wire + GND (serialUPDI on any USB-serial adapter, pymcuprog/avrdude, avr-gcc; or PICkit 5) | 10.3 | rev A: fits as built (13.1 KB flash, 368 B RAM used) |+| [ATtiny1606-MNR](https://www.mouser.com/en/ProductDetail/Microchip-Technology/ATTINY1606-MNR?qs=u16ybLDytRanDU%2F7volyWw%3D%3D)<br>VQFN-20 3x3, same pinout, 16 KB / 1 KB | $0.820 | $0.796 | $0.796 (25+ break) | same family figures as the 1616 | Partly: AC0 has only fixed references (no DAC0), so the learnt receiver threshold is lost | UPDI, same tools | 10.3 (no DAC) | does not fit: no DAC0 for the learnt threshold |+| [STM32C011F4U6TR](https://www.mouser.com/en/ProductDetail/STMicroelectronics/STM32C011F4U6TR?qs=IPgv5n7u5Qao9K%252BX0pScKA%3D%3D)<br>UFQFPN-20 3x3, 16 KB / 6 KB | $1.49 | $0.653 | $0.497 | Stop 80 uA typ; Standby 7.45 uA (RAM lost, wake = reset); Shutdown about 20 nA (DS13866 t.31; ST C0 training) | No comparator. Workaround: ADC at 1 Msps with analog watchdog -> TIM1 one-pulse, Run/Sleep only (about 0.5 mA: 0.32 mA Sleep at 16 MHz + 0.19 mA ADC) | SWD, 2 wires + NRST + GND (ST-LINK V3 or any CMSIS-DAP; STM32CubeIDE / OpenOCD) | 4.0 in Standby, 0.6 in Stop | fits with a firmware rewrite and Standby-based sleep |+| [STM32C031K4U6](https://www.mouser.com/en/ProductDetail/STMicroelectronics/STM32C031K4U6?qs=IPgv5n7u5QZ%252B8xUaeF0a2w%3D%3D)<br>UFQFPN-32 5x5, 16 KB / 12 KB | $1.06 | $0.638 | $0.628 (250+ break) | same C0 family figures (Stop about 80 uA, Standby about 7.5 uA) | No comparator; same ADC-watchdog workaround | SWD, same tools | about 4 in Standby | fits with a rewrite; larger package |+| [MSPM0L1306SRGER](https://www.mouser.com/en/ProductDetail/Texas-Instruments/MSPM0L1306SRGER?qs=ulEaXIWI0c8A7hoirNenxw%3D%3D)<br>VQFN-24 4x4, 64 KB / 4 KB | $1.85 | $1.10 | $0.968 | STANDBY 1.0 uA with RAM kept; SHUTDOWN 61 nA (ti.com product page) | Yes: COMP with 8-bit DAC (32 ns) -> event fabric -> timer one-shot; also 2 chopper op-amps (could replace the TLV9062: bandwidth not yet checked) | SWD, same tools (TI XDS110 or CMSIS-DAP; Code Composer / GCC) | 8.7 | fits analog best; rewrite and re-layout; worth a bench test |+| [MSPM0C1104SDDFR](https://www.mouser.com/en/ProductDetail/Texas-Instruments/MSPM0C1104SDDFR?qs=dbcCsuKDzFV0JvqjQIWgGw%3D%3D)<br>SOT-23-8 / small, 16 KB / 1 KB | $0.720 | $0.399 | $0.355 (500+ break) | STANDBY 5 uA; SHUTDOWN 200 nA (ti.com) | No comparator, no event fabric listed: no hardware echo path | SWD | 5.1 | does not fit the echo path |++Prices: Mouser, live 2026-11-07. Idle years: 425 mAh usable, the rest of the board sleeping at 4.6 uA. Sleep figures:+- ATtiny1616: DS40002204A, table 36-5.+- STM32C011: DS13866, table 31, and ST's STM32C0 training.+- MSPM0: ti.com product pages.++ATtiny806, 416 and the other 8 KB and 4 KB parts are too small for the 13.1 KB firmware.++![Why ATtiny1616: price, sleep and echo path](docs/studio/mcu.png)  ## The AI Flow run @@ -231,7 +335,7 @@ machine, the lights, charging, battery life and the 3D models, live as the board | Case STEP | [ballast.step](case/step/ballast.step), [base.step](case/step/base.step), [battery.step](case/step/battery.step), [cover.step](case/step/cover.step), [foot.step](case/step/foot.step), [gasket.step](case/step/gasket.step), [ghost-hand-assembly.step](case/step/ghost-hand-assembly.step), [ghost-hand-exploded.step](case/step/ghost-hand-exploded.step), [ir_window.step](case/step/ir_window.step), [lightpipe_100.step](case/step/lightpipe_100.step), [lightpipe_25.step](case/step/lightpipe_25.step), [lightpipe_50.step](case/step/lightpipe_50.step), [lightpipe_75.step](case/step/lightpipe_75.step), [lightpipe_main.step](case/step/lightpipe_main.step), [print-layout.step](case/step/print-layout.step), [screw_seals.step](case/step/screw_seals.step), [spacer.step](case/step/spacer.step), [usb_plug.step](case/step/usb_plug.step) | | Case STL (print) | [base.stl](case/stl/base.stl), [cover.stl](case/stl/cover.stl), [foot.stl](case/stl/foot.stl), [gasket.stl](case/stl/gasket.stl), [ir_window.stl](case/stl/ir_window.stl), [lightpipe_100.stl](case/stl/lightpipe_100.stl), [lightpipe_25.stl](case/stl/lightpipe_25.stl), [lightpipe_50.stl](case/stl/lightpipe_50.stl), [lightpipe_75.stl](case/stl/lightpipe_75.stl), [lightpipe_main.stl](case/stl/lightpipe_main.stl), [screw_seals.stl](case/stl/screw_seals.stl), [spacer.stl](case/stl/spacer.stl), [usb_plug.stl](case/stl/usb_plug.stl) | | Laser engraving SVG | [laser_engrave.svg](case/laser_engrave.svg) |-| Board fab files (Gerbers and drill, BOM, CPL, 3D) | [ghost-hand-gerbers.zip](docs/fab/ghost-hand-gerbers.zip), [ghost-hand-bom.csv](docs/fab/ghost-hand-bom.csv), [ghost-hand-cpl.csv](docs/fab/ghost-hand-cpl.csv), [ghost-hand-board.glb](docs/fab/ghost-hand-board.glb) |+| Board fab files (Gerbers and drill, BOM, CPL, 3D) | [ghost-hand-gerbers.zip](docs/fab/ghost-hand-gerbers.zip), [ghost-hand-bom.csv](docs/fab/ghost-hand-bom.csv), [ghost-hand-sourcing-bom.csv](docs/fab/ghost-hand-sourcing-bom.csv), [ghost-hand-cpl.csv](docs/fab/ghost-hand-cpl.csv), [ghost-hand-board.glb](docs/fab/ghost-hand-board.glb) | | Board files from AI Flow | [ghost-hand-board-pcm-1.0.0.zip](board/pcm/ghost-hand-board-pcm-1.0.0.zip), [repository.json](board/pcm/repository.json) | | Firmware | [ghost-hand.hex](firmware/build/ghost-hand.hex), [source](firmware/README.md) |