muse/book-reading-clip-lamp

A Wi‑Fi/USB‑C ESP32‑S3 reading lamp with OV5640 camera, microphone, speaker amplifier, rechargeable Li‑Po power management, six-LED boost light, USB protection/charging detection, and a clip/gooseneck enclosure with external FlexPIFA antenna.

Version
0.4.3
License
unset
Stars
0

saved-routing-provenance.json

{
  "type": "autorouter_debug_summary",
  "generatedAt": "2026-10-12T14:00:40.064Z",
  "phaseCount": 1,
  "phases": [
    {
      "subcircuit_id": "subcircuit_source_group_10",
      "componentDisplayName": "<board#2003 />",
      "routingPhaseIndex": 0,
      "phaseOrdinal": 1,
      "phaseCount": 1,
      "connectionCount": 101,
      "obstacleCount": 771,
      "previousTraceCount": 0,
      "autorouterName": "custom",
      "cacheStatus": "disabled",
      "cacheDisabledReason": "custom_algorithm",
      "outputTraceCount": 0,
      "outputJumperCount": 0,
      "errorCount": 0,
      "elapsedMs": 6342,
      "startedAt": "2026-10-12T14:00:31.472Z",
      "completedAt": "2026-10-12T14:00:37.815Z"
    }
  ],
  "circuitJsonElementCount": 5606,
  "targetPhaseReached": false,
  "routingProfile": {
    "source": "work-routing-m10/route-additions.mjs",
    "pipeline": "Incremental four-layer grid A* with exact unchanged baseline escapes",
    "description": "Preserve endpoint/net-matched baseline copper only where clear of new pads and reserved escapes; route remaining islands on a 0.05 mm grid. Normal core DRC and Gerber shorts remain enabled.",
    "preservedRouteCount": 259,
    "newOrRepairedRouteCount": 93,
    "outputTraceCount": 352,
    "compiledTraceCount": 355,
    "compiledViaCount": 438,
    "minViaHoleDiameter": 0.3,
    "minViaPadDiameter": 0.45,
    "newTraceClearanceMm": 0.15,
    "newNpthRoutingMarginMm": 0.21,
    "coordinateNormalization": "Wire endpoints within 1e-6 mm of an adjoining via use the exact via coordinate, avoiding zero-length polygon segments.",
    "inputSha256": "3c28c56c11f453351c7d59ef3e469cba555e21dee2234b21a72159a8f136d225",
    "tracesSha256": "69a88e77b44acd118ab0800fdede2b0c5bfe5cd5570d7dab32b173be5e05b418",
    "holesSha256": "46a267ca2f1eee10f8159cc66b74d83ec45ca403c42c3c5c90670bef3777f2cb",
    "circuitSha256": "84028ad36559843f6d378a6e9d07081a9a230144ab0ed99e46783dd3dab653a4",
    "verifiedAt": "2026-10-12T14:58:53.400822+00:00",
    "checks": {
      "circuitErrors": 0,
      "gerberShortsAllLayers": 0,
      "schematicStyleIssues": 0,
      "styleAnalyzer": "0.0.56",
      "enclosureIntersections": 0
    },
    "limitations": "No impedance/timing/thermal/physical USB qualification. Existing camera connector, VBUS threshold, converter power-layout and supplier footprint findings remain open."
  },
  "capturePurpose": "Unrouted current input capture only; final routing result and validation are recorded below."
}