Diagnostic confirmed: the L2/L3 zones have copper geometry but are
missing net assignments (effectiveNetId is null), so DRC treats them
as decorative copper, not net-bound planes.
Fix in two steps:
STEP 1 — Create missing zones with explicit net assignment
The L2 GND zone and L3 3V0 dominant zone do not exist as proper
queryable nodes. Create them now:
a) L2 GND PLANE
Layer: Mid-Layer 1 (L2)
Net: GND (assign explicitly — set effectiveNetId / net property)
Shape: circle, diameter 57.4mm, centred at (0, 0) — slightly
smaller than the 58mm board outline to maintain 0.3mm edge
clearance
Fill type: solid copper pour
Connection style: thermal relief to net-matching pads
Shape: circle, diameter 57.4mm, centred at (0, 0), MINUS the
two existing island regions (VSYS and 1V8_SGP41) — i.e., the
3V0 pour fills L3 everywhere EXCEPT inside the islands
Fill type: solid copper pour
Connection: thermal relief, same parameters as L2
STEP 2 — Assign net to existing islands
The L3 VSYS and L3 1V8_SGP41 island zones exist but have no net
assignment. Set them now:
c) L3 VSYS ISLAND
Existing zone at (10, 18), 10×12mm
Net: VSYS (assign explicitly — currently has no effectiveNetId)
d) L3 1V8_SGP41 ISLAND
Existing zone at (-10, 22), 8×8mm
Net: 1V8_SGP41 (assign explicitly)
After Step 1 and Step 2:
Force a pour rebuild / fill regeneration on all 4 zones
Verify each zone now reports a valid effectiveNetId matching its
intended net
Re-run DRC and report:
New total airwire count
Specifically the GND, 3V0, VSYS, 1V8_SGP41 airwire counts
Render each layer (L1, L2, L3, L4) separately so I can verify
the copper fills look correct
Expected result: airwire count should drop dramatically (from 170 to
under 30), because most of the GND/3V0/VSYS airwires resolve through
the now-net-bound planes.
If after this the count is still > 50, do NOT iterate further. Report
back and stop. I'll handle the next decision from outside Flux.
I’ll attempt the four-zone net binding exactly as specified, then verify DRC and layer rendering. First I’m checking whether the layout editor exposes net assignment for copper pours; if it does, I’ll apply the plane fixes and validate immediately.
Blocked: I can’t complete this safely because the current layout controls do not expose any editable net/effectiveNetId/net-name property for zones. I verified that connectedLayers, shape, stitching, and thermal-style rules exist, but net, Net Name, and effectiveNetId are not valid editable zone rules.
I did not create more decorative copper, because that would repeat the same failure mode. The next decision needs to happen outside this interface: bind the copper pours to nets in the PCB editor/API, then rerun DRC and layer renders.
L2 is configured as a continuous GND plane; this provides ground fill under/around the crystal region.
There is a named keepout/placeholder geometry near the previous crystal area (Y1 L1 GND Keepout Placeholder) still represented as a layout zone, but it is not a silkscreen text label.
Fix 2: D1 USB ESD proximity
Moved:
Table
Component
Final X (mm)
Final Y (mm)
Notes
D1 USBLC6-2SC6
4.20
-14.20
Moved directly above J1 data pads
Relevant J1/D1 pad positions from the 2D layout:
Table
Pad
X (mm)
Y (mm)
J1 DP1
2.75
-16.43
J1 DP2
3.75
-16.43
J1 DN1
3.25
-16.43
J1 DN2
2.25
-16.43
D1 I/O2 left
3.10
-15.15
D1 I/O2 right
5.30
-15.15
D1 I/O1 left
3.10
-13.25
D1 I/O1 right
5.30
-13.25
Check:
Nearest D1 data-side pad to J1 DP/DN cluster is about 1.32 mm, so D1 is within the requested 2 mm of J1 D+/D-.
D1 pad overlaps with J1 pads were cleared after nudging D1 upward.
Fix 3: Annotation silkscreen and visualization cleanup
Deleted the following non-production visualization items:
ZONE A SENSORS placement marker
ZONE B MCU STORAGE placement marker
Battery VHB Adhesive Marker 35mm
Rear VHB/Kapton adhesive outline 35mm
SPS30 Rear Body Outline 40.6mm
SPS30 Air Intake Arrow
Previously deleted:
Zone A Label
Zone B Label
Zone C Label
overlapping placeholder REF text instances
Remaining text nodes after cleanup are production-style labels only: bottom revision/product/date/origin text, HAELO/Clip text, component pin-1 indicators, LED A/K labels, battery labels, USB insertion arrow, and test-point labels.
Note: Several layout zones still have internal names containing terms like L2, L3, Island, or Dominant. These are not silkscreen text strings; they are layout-zone metadata/geometry used by the design rules and power-plane setup.
Fix 4: J2 / L1 identity and designator check
The 5-pin connector at 12 o'clock is physically J2, the B5B-ZR-SM4-TF JST ZH 5-pin SPS30 cable connector.
J2 is at X=0.00 mm, Y=22.00 mm.
J2 pads are pins 1-5 plus mounting pads; it is not L1.
L1 is the DFE201610E-2R2M=P2 2.2 uH buck inductor.
L1 is at X=4.30 mm, Y=16.60 mm in Zone C near U1 and C9.
U1 is at X=-0.27 mm, Y=15.50 mm.
C9 is at X=3.05 mm, Y=14.00 mm.
Approximate placement distances:
L1 centre to U1 centre: 4.70 mm.
L1 centre to C9 centre: 2.89 mm.
This keeps L1 in the power zone and close to the buck switching loop components. Final routed loop area still depends on the actual trace path, so it must be verified after routing.
Fix 5: 3D red/grey left-edge artefact
The red/grey object visible at the board edge is not a duplicate electrical component. The available 3D assets are:
round-lipo-40x5-placeholder.gltf — round LiPo placeholder with flying leads.
The connector-with-wires appearance is consistent with the round LiPo placeholder/flying-lead visualization. It is an asset/model, not a schematic component, and it does not add electrical connectivity beyond the schematic nets.
Current review status
A post-change review still reports one overlapping-copper item referencing older placeholder/reference geometry UIDs. The visible placement changes and the new Y1/C15/C16/D1 locations were applied, and component-related overlaps introduced during the moves were cleared. If the stale placeholder reference persists after a layout refresh, it should be removed before manufacturing export.
Preview exports
2D SVG preview ZIP: latest export generated after these fixes.
3D GLB preview: latest export generated after these fixes.
Latest targeted fixes before lock-and-route
Fix 1: Y1 32.768 kHz crystal proximity
Fix 2: D1 USB ESD proximity
Fix 3: Annotation silkscreen and visualization cleanup
Round LiPo placeholder 40mm diameter x 5mm with flying leads
round-lipo-40x5-placeholder.gltf3D Model
gltf
SPS30 placeholder 40.6x40.6x12.45mm mechanical model
sps30-placeholder.gltf3D Model
nRF52840 Wearable Power Tree
Battery-powered nRF52840 wearable power-tree schematic with USB-C charging, nPM1100 PMIC, 3V0, 1V8_SGP41, and 5V_SPS30 rails.
Properties
Haelo Clip v2 round-puck PCB: 58 mm circular outline centered at origin; Standard 4 Layer with L2 continuous GND plane, L3 power planes for 3V0/1V8_SGP41/VSYS; requested fabrication notes: 1.0 mm finished thickness, ENIG, matte black solder mask preferred with white silkscreen; matte white mask with black silkscreen acceptable if cheaper at JLCPCB.
Pricing & Availability
Distributor
Qty 1
Arrow
$10.02–$11.43
Digi-Key
$16.02–$20.31
HQonline
$8.71–$8.81
LCSC
$19.40–$20.49
Mouser
$17.72
TME
$8.03
Verical
$12.13–$17.73
Controls
Welcome 👋
Flux helps you build PCBs faster with an AI teammate!
Create your account to collaborate, stay updated, fork your own version, and get instant answers from our AI agent.