project
Ghost Hand
Public Unreviewedby John Lauer
A small battery gadget that keeps an automatic sink faucet running while you use the sink: it learns the faucet's timeout, re-arms with the shortest blip, and stops after 10 minutes or when picked up.
← Commit history
Rev 2: case costs in the components table, film back at the top, 38 x 32 x 17 mm case size
7 files changed
+59−30
README.md+44−15@@ -1,6 +1,12 @@ <!-- studio:begin --> # Ghost Hand +::adom-video{src="/john/ghost-hand/render/docs/videos/ghost-hand-film.video.json"}++The film shows how **rev 1** was built: one prompt in Adom Hydrogen, AI Flow and three AI threads (two+Claude, one Codex) taking Ghost Hand from idea to a priced, finished board and case; rev 2 below was built+the same way. [Download the film](docs/videos/ghost-hand-film.mp4) ([captions](docs/videos/ghost-hand-film.vtt)).+ Ghost Hand is a small battery gadget you set on the counter beside a sink with an automatic faucet. It aims infrared light at the faucet's sensor so the water keeps running while you wash your hair, do the dishes or fill a jug, then hands the faucet back when you are done. It learns each faucet's safety@@ -17,17 +23,9 @@ Rev 1's files stay at release [0.1.0 "Rev 1"](https://wiki.adom.inc/download/joh > 10 minutes per session, it stops the moment it is picked up or tipped, and it stops when its battery is > low. It will not run while it is charging. Nothing beyond what an ordinary manual tap already allows. -### The rev 1 build, in two minutes--::adom-video{src="/john/ghost-hand/render/docs/videos/ghost-hand-film.video.json"}--The film shows how **rev 1** was built: one prompt in Adom Hydrogen, AI Flow and three AI threads (two-Claude, one Codex) taking Ghost Hand from idea to a priced, finished board and case. Rev 2 was built the-same way. [Download the film](docs/videos/ghost-hand-film.mp4) ([captions](docs/videos/ghost-hand-film.vtt)).- | | Rev 2 | |---|---|-| Size on the counter | about 38 x 32 mm (rev 1: 54 x 44 mm, 27 mm tall) |+| Size on the counter | 38 x 32 mm, 17 mm tall (rev 1: 54 x 44 mm, 27 mm tall) | | Board | Adom molecule, 30 x 22 mm, 2 layers on a 3rd party fab's rules, 4 corner machine pins | | Brain | ATtiny1616, asleep between faucet pulses | | IR | one 850 nm and two 940 nm emitters behind 8.2 ohm, two VEMD2023 photodiodes (750 to 1050 nm) |@@ -231,7 +229,7 @@ comes mostly from a 100 uF capacitor, so the pack only ever sees about 3 mA on a ## Components -Every part of one rev 2 Ghost Hand, with its live price, the break a build reaches and the date it was checked. The case parts and hardware join the table when the rev 2 case is finished.+Every part of one rev 2 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 | |---|---|---|---|---|---|---|---|@@ -250,6 +248,21 @@ Every part of one rev 2 Ghost Hand, with its live price, the break a build reach | <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) | | <br>**1317**<br>Adafruit | 1 | BT1 | 150mAh 1S LiPo | 150 mAh LiPo (PCM, JST PH), under the board on J2 | USD 5.95 each at 1; USD 5.95 at 100 units (buy 1+), checked 2026-11-08 | USD 5.95 / USD 5.95 | [Mouser 485-1317](https://www.mouser.com/c/?q=485-1317) |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"><img src="docs/parts/case-base.png?v=e1c65b57" width="64" alt="base"></a><br>**[base](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>printed | 1 | | PETG | base, prints in PETG | USD 0.102 per unit at 1; USD 0.102 at 100 units, checked 2026-11-08 (note 1) | USD 0.102 / USD 0.102 | Quote required |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"><img src="docs/parts/case-cover.png?v=5161c89f" width="64" alt="cover"></a><br>**[cover](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>printed | 1 | | PETG | cover with the light pipes and engraved names (PETG) | USD 0.106 per unit at 1; USD 0.106 at 100 units, checked 2026-11-08 (note 2) | USD 0.106 / USD 0.106 | Quote required |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"><img src="docs/parts/case-gasket.png?v=1243f881" width="64" alt="gasket"></a><br>**[gasket](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>printed | 1 | | TPU 95A | perimeter gasket (TPU 95A) | USD 0.006 per unit at 1; USD 0.006 at 100 units, checked 2026-11-08 (note 3) | USD 0.006 / USD 0.006 | Quote required |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"><img src="docs/parts/case-foot.png?v=23f0c63e" width="64" alt="foot"></a><br>**[foot](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>printed | 1 | | TPU 95A | non-slip foot (TPU 95A) | USD 0.018 per unit at 1; USD 0.018 at 100 units, checked 2026-11-08 (note 4) | USD 0.018 / USD 0.018 | Quote required |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"><img src="docs/parts/case-usb-plug.png?v=b0a38616" width="64" alt="usb plug"></a><br>**[usb plug](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>printed | 1 | | TPU 95A | tethered USB-C seal (TPU 95A) | USD 0.019 per unit at 1; USD 0.019 at 100 units, checked 2026-11-08 (note 5) | USD 0.019 / USD 0.019 | Quote required |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"><img src="docs/parts/case-ir-window.png?v=0821b834" width="64" alt="ir window"></a><br>**[ir window](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>printed | 1 | | clear SLA resin | IR window (clear resin) | USD 0.005 per unit at 1; USD 0.005 at 100 units, checked 2026-11-08 (note 6) | USD 0.005 / USD 0.005 | Quote required |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"><img src="docs/parts/case-lightpipe-25.png?v=be6c834b" width="64" alt="lightpipe status"></a><br>**[lightpipe status](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>printed | 1 | | clear SLA resin | STATUS light pipe, 1.5 mm dot (clear resin) | USD 0.001 per unit at 1; USD 0.001 at 100 units, checked 2026-11-08 (note 7) | USD 0.001 / USD 0.001 | Quote required |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"><img src="docs/parts/case-lightpipe-25.png?v=be6c834b" width="64" alt="lightpipe 25"></a><br>**[lightpipe 25](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>printed | 1 | | clear SLA resin | gauge light pipe 25 % | USD 0.001 per unit at 1; USD 0.001 at 100 units, checked 2026-11-08 (note 8) | USD 0.001 / USD 0.001 | Quote required |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"><img src="docs/parts/case-lightpipe-25.png?v=be6c834b" width="64" alt="lightpipe 50"></a><br>**[lightpipe 50](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>printed | 1 | | clear SLA resin | gauge light pipe 50 % | USD 0.001 per unit at 1; USD 0.001 at 100 units, checked 2026-11-08 (note 9) | USD 0.001 / USD 0.001 | Quote required |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"><img src="docs/parts/case-lightpipe-25.png?v=be6c834b" width="64" alt="lightpipe 75"></a><br>**[lightpipe 75](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>printed | 1 | | clear SLA resin | gauge light pipe 75 % | USD 0.001 per unit at 1; USD 0.001 at 100 units, checked 2026-11-08 (note 10) | USD 0.001 / USD 0.001 | Quote required |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"><img src="docs/parts/case-lightpipe-25.png?v=be6c834b" width="64" alt="lightpipe 100"></a><br>**[lightpipe 100](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>printed | 1 | | clear SLA resin | gauge light pipe 100 % | USD 0.001 per unit at 1; USD 0.001 at 100 units, checked 2026-11-08 (note 11) | USD 0.001 / USD 0.001 | Quote required |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"><img src="docs/parts/case-screw-seals.png?v=85a8e747" width="64" alt="screw seals"></a><br>**[screw seals](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>printed | 4 | | TPU 95A | screw seals (TPU 95A) | USD 0.001 per unit at 1; USD 0.001 at 100 units, checked 2026-11-08 (note 12) | USD 0.001 / USD 0.001 | Quote required |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"></a><br>**[screws](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>hardware | 4 | | M1.6 x 14 stainless, 0.35 pitch, pan head <=3.2 mm diameter and <=1.0 mm high | cover screws, from below | USD 0.800 per unit at 1; USD 0.800 at 100 units, checked 2026-11-08 (note 13) | USD 0.800 / USD 0.800 | Quote required |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"></a><br>**[inserts](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>hardware | 4 | | PSM MINI-TECH MTEC-B-M1.6, 2.5 mm length, 2.5 mm OD, 2.15 mm pilot | heat-set inserts in the cover | USD 0.600 per unit at 1; USD 0.600 at 100 units, checked 2026-11-08 (note 14) | USD 0.600 / USD 0.600 | Quote required |+| <a href="https://wiki.adom.inc/john/ghost-hand/files/case"></a><br>**[adhesive coating grease](https://wiki.adom.inc/john/ghost-hand/files/case)**<br>hardware | 1 | | | adhesive, conformal coating, grease | USD 0.250 per unit at 1; USD 0.250 at 100 units, checked 2026-11-08 (note 15) | USD 0.250 / USD 0.250 | Quote required | | <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 | 2 | R1 R2 | 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.200 / USD 0.014 | [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) | | <br>**RC0402FR-0713KL**<br>Yageo | 1 | R3 | 13k | 13k (charger) | Unknown (not checked) | Unknown (not checked) / Unknown (not checked) | [Mouser 603-RC0402FR-0713KL](https://www.mouser.com/c/?q=RC0402FR-0713KL) |@@ -270,9 +283,25 @@ Every part of one rev 2 Ghost Hand, with its live price, the break a build reach | <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 27.56 building 1, USD 16.54 each building 100** (electronics and battery USD 27.56 / 16.54). Partial: unpriced RC0402FR-0713KL, RC0603FR-078R2L.--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: case parts and hardware: waiting for the rev 2 case (case/mech_costs.json); assembly labour, PCB assembly fees, tax and shipping.+**Per unit: USD 29.47 building 1, USD 18.46 each building 100** (electronics and battery USD 27.56 / 16.54). Partial: unpriced RC0402FR-0713KL, RC0603FR-078R2L.++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: bare PCB (quote from the 3rd party fab); case shipping, tax, machine time, labour, resin wash and cure consumables; assembly labour, PCB assembly fees, tax and shipping.++1. **base:** 3.4103 g of PETG with a 15 % print allowance at USD 0.02999/g; planning budget; sources in the case notes+2. **cover:** 3.5358 g of PETG with a 15 % print allowance at USD 0.02999/g; planning budget; sources in the case notes+3. **gasket:** 0.0903 g of TPU 95A with a 15 % print allowance at USD 0.06998/g; planning budget; sources in the case notes+4. **foot:** 0.2562 g of TPU 95A with a 15 % print allowance at USD 0.06998/g; planning budget; sources in the case notes+5. **usb plug:** 0.2755 g of TPU 95A with a 15 % print allowance at USD 0.06998/g; planning budget; sources in the case notes+6. **ir window:** 0.0997 g of clear SLA resin with a 15 % print allowance at USD 0.05/g; planning budget; sources in the case notes+7. **lightpipe status:** 0.0102 g of clear SLA resin with a 15 % print allowance at USD 0.05/g; planning budget; sources in the case notes+8. **lightpipe 25:** 0.0116 g of clear SLA resin with a 15 % print allowance at USD 0.05/g; planning budget; sources in the case notes+9. **lightpipe 50:** 0.0116 g of clear SLA resin with a 15 % print allowance at USD 0.05/g; planning budget; sources in the case notes+10. **lightpipe 75:** 0.0116 g of clear SLA resin with a 15 % print allowance at USD 0.05/g; planning budget; sources in the case notes+11. **lightpipe 100:** 0.0116 g of clear SLA resin with a 15 % print allowance at USD 0.05/g; planning budget; sources in the case notes+12. **screw seals:** 0.0156 g of TPU 95A with a 15 % print allowance at USD 0.06998/g; planning budget; sources in the case notes+13. **screws:** 4 x USD 0.2; unquoted planning allowance, procure exact head dimensions+14. **inserts:** 4 x USD 0.15; RFQ required; comparable CNC Kitchen 100-pack is USD 11.50, different pilot/minimum wall+15. **adhesive coating grease:** planning allowance, compatible products require coupons The sourcing BOM with stock checks and every price column is [docs/fab/ghost-hand-rev2-sourcing-bom.csv](docs/fab/ghost-hand-rev2-sourcing-bom.csv). @@ -360,7 +389,7 @@ The rev 2 case is being built now, about half of rev 1's footprint and much lowe ## Firmware -Plain C for the ATtiny1616, updated for rev 2 (the STATUS dot takes the logo's job at about half the drive, a 30 mA light cap for the small cell, the 77 mA charge) (avr-gcc, about 13.1 KB of the 16 KB flash). The echo path is pure hardware:+Plain C for the ATtiny1616, updated for rev 2 (the STATUS dot takes the logo's job at about half the drive, a 30 mA light cap for the small cell, the 77 mA charge), updated for rev 2 (the STATUS dot takes the logo's job at about half the drive, a 30 mA light cap for the small cell, the 77 mA charge) (avr-gcc, about 13.1 KB of the 16 KB flash). The echo path is pure hardware: AC0, the event system and TCB0/TCB1 single-shots. The CPU runs the state machine, the learner, the lights and the safety checks, and a 1 s watchdog guards the main loop. Full source is in [firmware/](firmware/README.md), with a host test that runs the learner against simulated faucets@@ -387,7 +416,7 @@ machine, the lights, charging, battery life and the 3D models, live as the board | | Rev 1 (0.1.0) | Rev 2 (0.2.0) | |---|---|---|-| Case on the counter | 54 x 44 mm, 27 mm tall | about 38 x 32 mm, much lower |+| Case on the counter | 54 x 44 mm, 27 mm tall | 38 x 32 mm, 17 mm tall, much lower | | Board | 44 x 28 mm, 2 layers | 30 x 22 mm, 2 layers, parts on both sides | | Battery | Adafruit 1578, 500 mAh, 196 mA charge in 3.2 h | Adafruit 1317, 150 mAh, 77 mA charge in 2.4 h | | Battery life | about a year at one session a day | 39 days at six sessions a day, 168 at one: charge about once a month |
docs/fab/ghost-hand-rev2-sourcing-bom.csv+15−15@@ -40,19 +40,19 @@ MC1,GND,molecule,no part,,MachineContactMedium,no part,,,,machine contact,board, MC2,VBAT,molecule,no part,,MachineContactMedium,no part,,,,machine contact,board,,1,,,, MC3,3V3,molecule,no part,,MachineContactMedium,no part,,,,machine contact,board,,1,,,, MC4,UPDI,molecule,no part,,MachineContactMedium,no part,,,,machine contact,board,,1,,,, -TP1,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot for VBAT (test plan),board,,1,,,, -TP2,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot for 3V3 (test plan),board,,1,,,, -TP3,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot for VBUS (test plan),board,,1,,,, -TP4,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot for PROG (test plan),board,,1,,,, -TP5,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot for CHG_STAT (test plan),board,,1,,,, -TP6,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot for VLED (test plan),board,,1,,,, -TP7,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot for RX_REF (test plan),board,,1,,,, -TP8,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot for TIA_OUT (test plan),board,,1,,,, -TP9,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot for RX_SIG (test plan),board,,1,,,, -TP10,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot for ECHO_EVT (test plan),board,,1,,,, -TP11,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot for IR850_G (test plan),board,,1,,,, -TP12,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot for IR850_D (test plan),board,,1,,,, -TP13,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot for IR940_D (test plan),board,,1,,,, -TP14,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot for LED_D0 (test plan),board,,1,,,, -TP15,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot for UPDI (test plan),board,,1,,,, +TP1,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot,board,,1,,,, +TP2,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot,board,,1,,,, +TP3,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot,board,,1,,,, +TP4,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot,board,,1,,,, +TP5,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot,board,,1,,,, +TP6,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot,board,,1,,,, +TP7,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot,board,,1,,,, +TP8,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot,board,,1,,,, +TP9,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot,board,,1,,,, +TP10,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot,board,,1,,,, +TP11,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot,board,,1,,,, +TP12,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot,board,,1,,,, +TP13,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot,board,,1,,,, +TP14,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot,board,,1,,,, +TP15,TP_0.5mm,test,no part,,Adom_TestPoint_D0.5mm,no part,,,,probe spot,board,,1,,,, BT1,150mAh 1S LiPo,battery,1317,Adafruit,"pouch 19.75 x 26.02 x 3.8 mm, 127.5 mm leads, JST PHR-2",Mouser,485-1317,111,https://www.mouser.com/c/?q=485-1317,"off-board, plugs into J2. Polarity: + on JST circuit 1 (red), - on circuit 2 (black), as on every Adafruit pack; J2 pin 1 = VBAT. PKCell LP402025 with PCM, 1 C max continuous",off-board,2026-11-08,1,5.95,5.95,1,2026-11-08
docs/parts/case-cover.pngadded⋯ 1 unchanged line ⋯
docs/parts/case-ir-window.pngadded⋯ 1 unchanged line ⋯
docs/parts/case-lightpipe-25.pngadded⋯ 1 unchanged line ⋯
docs/parts/case-screw-seals.pngadded⋯ 1 unchanged line ⋯
docs/parts/case-usb-plug.pngadded⋯ 1 unchanged line ⋯