← Commit history
README.md+9−9
@@ -34,7 +34,7 @@ system fires two single-shot timers that light the emitters, all in hardware, un faucet's pulse begins. The echo therefore lands inside the faucet's own listening window and reads as a strong reflection. The CPU only decides *when* to echo. -![Architecture flowchart in Ghost Hand Studio](docs/studio/architecture.png)+![Architecture flowchart in Ghost Hand Studio](docs/studio/architecture-c58dbf60.png)  ### Wavelengths and faucets covered @@ -51,7 +51,7 @@ the common brands: | Kohler K-13460 | 30 s maximum run | | | TOTO EcoPower | 10 or 60 s by model | | -![Faucet and IR beam explainer](docs/studio/ir.png)+![Faucet and IR beam explainer](docs/studio/ir-97cd3b7f.png)  ### Learning the faucet @@ -63,7 +63,7 @@ and pulse width, echoes until the rate drops (that is the timeout), then re-arms from its first miss. Faucets whose rate never changes get a blip every 8 s. What it learns is kept in EEPROM, keyed to the faucet's idle period. -![Firmware state machine and the re-arm blip timeline](docs/studio/learning.png)+![Firmware state machine and the re-arm blip timeline](docs/studio/learning-c070ec94.png)  ## The lights @@ -79,7 +79,7 @@ EEPROM, keyed to the faucet's idle period. | Full | off | all four green 5 s, then a dim pulse every 10 s | | Unplugged | off | the level for 2 s | -![LED state guide with the engraved case top](docs/studio/lights.png)+![LED state guide with the engraved case top](docs/studio/lights-51d4ab6d.png)  ## Charging and battery life @@ -87,7 +87,7 @@ USB-C 5 V feeds an MCP73831 linear charger at 196 mA (about 0.39 C, gentle for a cell in a sealed case): constant current, then constant voltage at 4.2 V, full in about 3.2 h. A TPS7A02 makes the 3.3 V rail on 25 nA of quiescent current. -![USB-C charging sequence](docs/studio/charging.png)+![USB-C charging sequence](docs/studio/charging-cc89151a.png)  The budget is built from the typical current of every part (Adafruit 1578, 500 mAh 1S LiPo, 425 mAh usable, stop at 3.45 V):@@ -104,7 +104,7 @@ stop at 3.45 V): Self-discharge of the cell (3.0 %/month assumed (0.5 mAh/day), larger than the sleep current) matters more than the sleep current. The faucet's pulse rate and the light pattern are the two big unknowns. -![Battery-life numbers](docs/studio/battery.png)+![Battery-life numbers](docs/studio/battery-cd475f0f.png)  ## Board @@ -113,7 +113,7 @@ pours, current and heat analysis, silkscreen and 3D, on a 3rd party fab's 2-laye machine pins are the same pins that seat it in an Adom workcell, and in the case they press into printed sockets that hold the board. -![Ghost Hand schematic](docs/studio/schematic.png)+![Ghost Hand schematic](docs/studio/schematic-d536fe78.png)  The AI Flow run, step by step: [board-claude-opus-5-5-20261106-1434](docs/runs/board-claude-opus-5-5-20261106-1434), [ghost-hand-claude-opus-5-5-20261106-1434](docs/runs/ghost-hand-claude-opus-5-5-20261106-1434). Build clips: [docs/clips.md](docs/clips.md). @@ -129,7 +129,7 @@ The 3D view at the top of this page is the assembled gadget: open its Layers pan  A 54 x 44 mm pebble for a wet sink counter. The roof follows the board's 12 degree nose-up pitch, so drips run off toward the back and the dark front window aims the IR up at the faucet's sensor, with separate transmit and receive openings and an opaque barrier between them. The board's four machine pins press into split printed collets that squeeze them, the same pins that seat it in an Adom workcell. The LiPo lies flat under the board on its own spacer, which also holds an optional steel ballast plate. A TPU gasket seals the seam, a tethered TPU stopper seals the USB-C tunnel, every screw enters from below through a TPU seal, and a TPU ring is the non-slip foot. Five clear-resin light pipes carry the WS2812 lights to the top: the main one is the Adom logo and four pills make the battery gauge. A UV fiber laser engraves the light names on the case. Design notes, print settings and assembly: [case/README.md](case/README.md); engraving guide: [case/laser_engrave.md](case/laser_engrave.md); parametric source: [case/ghost_hand_case.py](case/ghost_hand_case.py). -![UV laser engraving artwork for the top, front, right and bottom faces, in real millimetres](docs/studio/engrave.png)+![UV laser engraving artwork for the top, front, right and bottom faces, in real millimetres](docs/studio/engrave-28497848.png)  ## Firmware @@ -154,7 +154,7 @@ lights and the safety checks, and a 1 s watchdog guards the main loop. Full sour The build dashboard: an Adom app that shows the architecture, the faucet and its beam, the learning state machine, the lights, charging, battery life and the 3D models, live as the board and case come together. -![Ghost Hand Studio 3D view](docs/studio/model3d.png)+![Ghost Hand Studio 3D view](docs/studio/model3d-1eee5a3c.png)  ## Downloads 
docs/studio/architecture-c58dbf60.pngadded
⋯ 1 unchanged line ⋯
docs/studio/battery-cd475f0f.pngadded
⋯ 1 unchanged line ⋯
docs/studio/charging-cc89151a.pngadded
⋯ 1 unchanged line ⋯
docs/studio/engrave-28497848.pngadded
⋯ 1 unchanged line ⋯
docs/studio/ir-97cd3b7f.pngadded
⋯ 1 unchanged line ⋯
docs/studio/learning-c070ec94.pngadded
⋯ 1 unchanged line ⋯
docs/studio/lights-51d4ab6d.pngadded
⋯ 1 unchanged line ⋯
docs/studio/model3d-1eee5a3c.pngadded
⋯ 1 unchanged line ⋯
docs/studio/schematic-d536fe78.pngadded
⋯ 1 unchanged line ⋯