gokul/musegrow
USB‑C powered ESP32‑C3 controller board with regulated 3.3 V supply, USB ESD protection, buttons/status LEDs, ambient-light I²C sensing, and a 555-driven capacitive soil-moisture electrode.
- Version
- 1.2.2
- License
- unset
- Stars
- 1
VALIDATION.md
# MuseGrow V2.1 validation
## Electrical and PCB checks
- tscircuit package: 0.0.2794, the current npm release checked on 2026-10-09
- TypeScript typecheck: pass
- Source diagnostics: 0 errors, 0 warnings
- Netlist DRC: 0 errors, 0 warnings
- Pin specification DRC: 0 errors, 0 warnings
- PCB placement DRC: 0 errors, 0 warnings
- Autorouter: 28 connections, 103 routed traces, 0 jumpers, 0 errors
- Full build routing DRC: pass
- Circuit JSON: 0 errors, 0 warnings
- Board: 44 mm × 84 mm overall, 44 mm × 34 mm electronics head, 14 mm × 50 mm probe, two copper layers, 1.6 mm FR-4
- Assembly sides: 47 PCB components/test features on top, 0 on bottom; bottom copper is used for routing and ground only
- Soil electrodes: top copper, solder-mask covered, no ground plane beneath the probe blade
## Schematic sheets
1. Power and USB
2. Controller and Controls
3. Light and Integrated Soil Probe
All component schematic positions use tscircuit automatic placement. No `schX` or `schY` is present in the project circuit source.
## Tool findings suitable for upstream reports
1. With board-level `schAutoLayoutEnabled`, `tsci check schematic-placement` reports auto-placed net-label collisions and recommends setting `schAutoLayoutEnabled`, although that property is already enabled. The generated sheets remain readable, but the suggested fix is misleading and requires manual `schX`/`schY` moves that defeat the automatic-layout workflow.
2. A top-side USB-C connector with four plated mounting slots produces four `pcb_solder_paste` elements on the bottom layer and therefore a non-empty `B_Paste.gbr`. The plated-hole props provide no paste enable/disable or side selection. This should be configurable because top-only assembly normally requires only a top stencil.
3. Gerber export correctly warns that it cannot verify JLCPCB pick-and-place rotation for D1, LED1, and LED2 because `pin1_location` metadata is absent. This is a component-library metadata improvement rather than a confirmed exporter bug; assembly polarity still requires review.
The earlier custom-component copper-pour concern does not reproduce on 0.0.2794: both integrated soil-electrode combs are present in Circuit JSON, so it is not reported as a current bug.