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 hero 3D: the sink, the Moen 8551 and a hand washing under it, around Ghost Hand
3 files changed
+14−9
README.md+5−5@@ -4,7 +4,7 @@ <!-- 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, 3:00 PM Central.+Rev 2 is being built right now by three AI threads in Adom Hydrogen; this section follows their work. Last updated Nov 8, 3:03 PM Central. | Stage | | What it covers | |---|---|---|@@ -23,7 +23,7 @@ Rev 2 is being built right now by three AI threads in Adom Hydrogen; this sectio |---|---| | Board (Claude) | 2:12 PM: Board 3D: routed + poured board STEP and GLB in for the case and studio threads. Next: Fields solve, current, thermal. | | Case (Codex) | 2:17 PM: Case: new board exact fit PASS in reviewed case exports retained. Next: review this source-specific result. |-| Studio and wiki (Claude) | 2:31 PM: Studio: build status table fixed after the director's note: a stage is marked done only when its owner wrote DONE done passed OK for it here. Next: status push. |+| Studio and wiki (Claude) | 3:01 PM: Studio: UV laser engraving live in the hero 3D: built from, mapped with the case script's own frames, decals 0.03 mm proud, matte grey. |  @@ -417,9 +417,9 @@ screen: the chat on the left, the AI Flow dashboard, the Studio and this page in ## Case -The 3D view at the top of this page is the assembled rev 2 gadget next to an adult hand for scale: open its Layers panel to hide the case shell, the light pipes, the battery or the hand, and press Replay to watch it assemble.+The 3D view at the top of this page is the assembled rev 2 gadget on a bathroom counter, 330 mm from the sensor window of a Moen 8551 sensor faucet with a hand washing under the stream, all at true size: open its Layers panel to hide the sink and faucet, the hand, the case shell, the light pipes or the battery, zoom in on Ghost Hand, and press Replay to watch it assemble. -The hand (180 mm wrist to middle fingertip) is cut from the MakeHuman base mesh, CC0; how it was made: [docs/3d/size-hand](docs/3d/size-hand/README.md).+The hand is cut from the MakeHuman base mesh (CC0); the faucet is modelled from Moen's spec sheet. How the scene was made: [docs/3d/size-hand](docs/3d/size-hand/README.md).  @@ -442,7 +442,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) (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) (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
docs/3d/ghost-hand-hero-b0acac08.glbadded⋯ 1 unchanged line ⋯
page.json+9−4@@ -43,16 +43,21 @@ "subcategory": "", "body_size": null, "parts": {- "model_3d": "docs/3d/ghost-hand-hero-56e85c7c.glb"+ "model_3d": "docs/3d/ghost-hand-hero-b0acac08.glb" }, "distributor_links": {}, "viewer_3d": { "repeat": 1, "tooltips": "authored", "camera": {- "alpha": 2.35,- "beta": 0.95,- "radiusScale": 0.85+ "alpha": -1.2,+ "beta": 1.05,+ "radiusScale": 0.6,+ "target": [+ 0.0,+ -0.17,+ 0.02+ ] } } }