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 finished: every part priced (R22 4.7 ohm), status section shrunk
1 file changed
+4−29
README.md+4−29@@ -2,32 +2,7 @@ # Ghost Hand <!-- rev2-status:begin -->-## Rev 2 build status--Rev 2 is being built right now by three AI threads in Adom Hydrogen; this section follows their work. Last updated Nov 8, 8:52 PM Central.--| Stage | | What it covers |-|---|---|---|-| Aim | *in progress* | faucet drawing, window height and the tilt |-| Case | **done** | the smaller sealed case, light pipes, engraving |-| Parts | **done** | every part in stock with its symbol, footprint and 3D |-| Placement | **done** | parts placed on both sides of the 30 x 22 mm board |-| Routing | **done** | every net routed, vias and copper pours |-| Silkscreen | **done** | names of every light and part, 0.6 / 0.3 mm text |-| Checks | **done** | DRC, current and heat (Adom Fields), finish |-| 3D | **done** | the finished board in 3D, inside the case |-| Fab files | **done** | Gerbers, drill, BOM and placement file |-| Wiki | **done** | this page, the hero image and the release |--| Thread | Now |-|---|---|-| Board (Claude) | 8:40 PM: Board: DONE export after the light-row fix: and, finished STEP and GLB. |-| Case (Codex) | 8:39 PM: Case: new board exact fit PASS in reviewed case exports retained. Next: review this source-specific result. |-| Studio and wiki (Claude) | 8:44 PM: Studio: DONE rev 2 page and release: is at 0.2.0 with the rev 2, hero image and her. |----*The latest rev 2 board model, 8:34 PM.*+**Rev 2 finished November 8, 2026.** <!-- rev2-status:end --> ::adom-video{src="/john/ghost-hand/render/docs/videos/ghost-hand-film.video.json"}@@ -310,12 +285,12 @@ Every part of one rev 2 Ghost Hand, with its live price, the break a build reach | <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-08 | 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-08 | 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/john/rc0603fr-078r2l"></a><br>**[RC0603FR-078R2L](https://wiki.adom.inc/john/rc0603fr-078r2l)**<br>Yageo | 1 | R19 | 8.2R | 8.2R (emitter) | USD 0.100 each at 1; USD 0.016 at 100 units (buy 100+), checked 2026-11-08 | USD 0.100 / USD 0.016 | [Mouser 603-RC0603FR-078R2L](https://www.mouser.com/en/ProductDetail/YAGEO/RC0603FR-078R2L?qs=EiqXWrxQq61TNcRzjaXGOA%3D%3D) |-| <a href="https://wiki.adom.inc/glenn/rc0603fr-074r7l"></a><br>**[RC0603FR-074R7L](https://wiki.adom.inc/glenn/rc0603fr-074r7l)**<br>Yageo | 1 | R22 | 4.7R | 4.7R (emitter) | Unknown (not checked) | Unknown (not checked) / Unknown (not checked) | [Mouser 603-RC0603FR-074R7L](https://www.mouser.com/c/?q=RC0603FR-074R7L) |+| <a href="https://wiki.adom.inc/glenn/rc0603fr-074r7l"></a><br>**[RC0603FR-074R7L](https://wiki.adom.inc/glenn/rc0603fr-074r7l)**<br>Yageo | 1 | R22 | 4.7R | 4.7R (emitter) | USD 0.100 each at 1; USD 0.012 at 100 units (buy 100+), checked 2026-11-08 | USD 0.100 / USD 0.012 | [Mouser 603-RC0603FR-074R7L](https://www.mouser.com/c/?q=RC0603FR-074R7L) | | <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-08 | 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-08 | 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-08 | 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 28.99 building 1, USD 18.10 each building 100** (electronics and battery USD 27.08 / 16.18). Partial: unpriced RC0603FR-074R7L.+**Per unit: USD 29.09 building 1, USD 18.11 each building 100** (electronics and battery USD 27.18 / 16.19). 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. @@ -449,7 +424,7 @@ Design notes, print settings and assembly: [case/README.md](case/README.md); eng ## 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), 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), 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), 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), 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), 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), 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), 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), 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), 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), 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:+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), 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), 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), 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), 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), 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), 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), 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), 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), 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), 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