Add 8HP layout with fully automated routing pipeline
- Update PCB to 8HP format (40x100mm) with v2 component placement - Add automated routing scripts (autoroute.py runs full pipeline headlessly) - Update panel spec and SVG for 8HP dimensions - Board routes in <1 second with 0 unconnected pads Scripts: - autoroute.py: Full CLI pipeline (place → export → route → import → DRC) - autoroute_full.py: Same pipeline for KiCad scripting console - place_8hp.py: Component placement only - route.sh/freeroute.sh: Routing helpers
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
# SN-L00 Panel Specification
|
||||
|
||||
## Eurorack 6HP Panel Dimensions
|
||||
## Eurorack 8HP Panel Dimensions
|
||||
|
||||
| Parameter | Value | Notes |
|
||||
|-----------|-------|-------|
|
||||
| Width | 30.00mm | 6 × 5.08mm (6HP) |
|
||||
| Width | 40.30mm | 8 × 5.08mm (8HP) |
|
||||
| Height | 128.50mm | 3U standard |
|
||||
| Thickness | 1.5-2.0mm | Aluminum or PCB |
|
||||
| Corner radius | 0mm | Square corners |
|
||||
@@ -16,9 +16,9 @@ Eurorack standard mounting rail positions:
|
||||
| Hole | X | Y | Diameter | Notes |
|
||||
|------|---|---|----------|-------|
|
||||
| Top Left | 7.5mm | 3.0mm | 3.2mm | Horizontal slot optional |
|
||||
| Top Right | 22.5mm | 3.0mm | 3.2mm | Horizontal slot optional |
|
||||
| Top Right | 32.8mm | 3.0mm | 3.2mm | Horizontal slot optional |
|
||||
| Bottom Left | 7.5mm | 125.5mm | 3.2mm | Horizontal slot optional |
|
||||
| Bottom Right | 22.5mm | 125.5mm | 3.2mm | Horizontal slot optional |
|
||||
| Bottom Right | 32.8mm | 125.5mm | 3.2mm | Horizontal slot optional |
|
||||
|
||||
**Note**: Slots (elongated holes) of 3.2mm × 4mm allow for rail tolerance.
|
||||
|
||||
@@ -26,47 +26,47 @@ Eurorack standard mounting rail positions:
|
||||
|
||||
| Component | X | Y | Diameter | Notes |
|
||||
|-----------|---|---|----------|-------|
|
||||
| OLED cutout | 15.0mm | 25.0mm | 28×12mm rect | Rectangular window |
|
||||
| Button | 15.0mm | 45.0mm | 7.0mm | For 6mm tactile + cap |
|
||||
| LED (power) | 24.0mm | 45.0mm | 3.0mm | For 3mm LED or light pipe |
|
||||
| Jack TRIG | 7.5mm | 95.0mm | 6.0mm | Thonkiconn PJ398SM |
|
||||
| Jack RETURN | 22.5mm | 95.0mm | 6.0mm | Thonkiconn PJ398SM |
|
||||
| OLED cutout | 20.15mm | 25.0mm | 28×12mm rect | Rectangular window |
|
||||
| Button | 20.15mm | 50.0mm | 7.0mm | For 6mm tactile + cap |
|
||||
| LED (status) | 32.0mm | 50.0mm | 3.0mm | For 3mm LED or light pipe |
|
||||
| Jack RETURN | 10.0mm | 95.0mm | 6.0mm | Thonkiconn PJ398SM |
|
||||
| Jack TRIG | 30.0mm | 95.0mm | 6.0mm | Thonkiconn PJ398SM |
|
||||
|
||||
## Panel Layout Drawing
|
||||
|
||||
```
|
||||
←───── 30.00mm ─────→
|
||||
←─────── 40.30mm ───────→
|
||||
|
||||
┌─────────────────────┐ ─┬─ 0.00mm
|
||||
│ ○ ○ │ │ 3.00mm (mounting holes)
|
||||
│ │ │
|
||||
│ SubModular │ │ 12.00mm
|
||||
│ │ │
|
||||
│ ┌───────────────┐ │ │
|
||||
│ │ │ │ │
|
||||
│ │ OLED │ │ │ 19-31mm (display window)
|
||||
│ │ DISPLAY │ │ │
|
||||
│ │ │ │ │
|
||||
│ └───────────────┘ │ │
|
||||
│ │ │
|
||||
│ SN-L00 │ │ 38.00mm
|
||||
│ │ │
|
||||
│ ◯ • │ │ 45.00mm (button + LED)
|
||||
│ BTN PWR │ │
|
||||
│ │ │
|
||||
│ │ │
|
||||
│ │ │
|
||||
│ ┌───┐ ┌───┐ │ │
|
||||
│ │ │ │ │ │ │
|
||||
│ │ ○ │ │ ○ │ │ │ 95.00mm (jacks)
|
||||
│ │ │ │ │ │ │
|
||||
│ └───┘ └───┘ │ │
|
||||
│ TRIG RETURN │ │ 105.00mm (labels)
|
||||
│ │ │
|
||||
│ LATENCY TESTER │ │ 115.00mm
|
||||
│ │ │
|
||||
│ ○ ○ │ │ 125.50mm (mounting holes)
|
||||
└─────────────────────┘ ─┴─ 128.50mm
|
||||
┌───────────────────────────┐ ─┬─ 0.00mm
|
||||
│ ○ ○ │ │ 3.00mm (mounting holes)
|
||||
│ │ │
|
||||
│ SubModular │ │ 12.00mm
|
||||
│ │ │
|
||||
│ ┌─────────────────┐ │ │
|
||||
│ │ │ │ │
|
||||
│ │ OLED │ │ │ 19-31mm (display window)
|
||||
│ │ DISPLAY │ │ │
|
||||
│ │ │ │ │
|
||||
│ └─────────────────┘ │ │
|
||||
│ │ │
|
||||
│ SN-L00 │ │ 42.00mm
|
||||
│ │ │
|
||||
│ ◯ • │ │ 50.00mm (button + LED)
|
||||
│ BTN PWR │ │
|
||||
│ │ │
|
||||
│ │ │
|
||||
│ │ │
|
||||
│ ┌───┐ ┌───┐ │ │
|
||||
│ │ │ │ │ │ │
|
||||
│ │ ○ │ │ ○ │ │ │ 95.00mm (jacks)
|
||||
│ │ │ │ │ │ │
|
||||
│ └───┘ └───┘ │ │
|
||||
│ RETURN TRIG │ │ 105.00mm (labels)
|
||||
│ │ │
|
||||
│ LATENCY TESTER │ │ 115.00mm
|
||||
│ │ │
|
||||
│ ○ ○ │ │ 125.50mm (mounting holes)
|
||||
└───────────────────────────┘ ─┴─ 128.50mm
|
||||
```
|
||||
|
||||
## OLED Display Window
|
||||
@@ -79,7 +79,7 @@ The 0.91" 128×32 OLED module dimensions:
|
||||
| Active area | ~22 × 6mm |
|
||||
| Mounting | Pin header on edge |
|
||||
|
||||
**Panel cutout**: 28mm × 10mm rectangle, centered at (15.0, 25.0)
|
||||
**Panel cutout**: 28mm × 10mm rectangle, centered at (20.15, 25.0)
|
||||
|
||||
Alternatively, a slightly larger window (30 × 12mm) gives tolerance for module alignment.
|
||||
|
||||
@@ -124,17 +124,11 @@ Soldermask: Black (or custom color)
|
||||
| Element | Position | Size | Font |
|
||||
|---------|----------|------|------|
|
||||
| "SubModular" | Top center, Y=12mm | 2.5mm | Bold sans-serif |
|
||||
| "SN-L00" | Above button, Y=38mm | 3.0mm | Bold |
|
||||
| "TRIG" | Below left jack, Y=105mm | 2.0mm | Regular |
|
||||
| "RETURN" | Below right jack, Y=105mm | 2.0mm | Regular |
|
||||
| "SN-L00" | Above button, Y=42mm | 3.0mm | Bold |
|
||||
| "RETURN" | Below left jack, Y=105mm | 2.0mm | Regular |
|
||||
| "TRIG" | Below right jack, Y=105mm | 2.0mm | Regular |
|
||||
| "LATENCY TESTER" | Bottom, Y=115mm | 1.5mm | Light |
|
||||
|
||||
### Icon Ideas
|
||||
|
||||
- Small waveform graphic near jacks
|
||||
- Clock/timer icon
|
||||
- Sub-Net logo (if available)
|
||||
|
||||
## Hole Tolerances
|
||||
|
||||
| Hole Type | Nominal | Tolerance |
|
||||
@@ -144,14 +138,11 @@ Soldermask: Black (or custom color)
|
||||
| Button | 7.0mm | +0.2/-0.0 |
|
||||
| LED | 3.0mm | +0.1/-0.0 |
|
||||
|
||||
## Files to Create
|
||||
## Files
|
||||
|
||||
For manufacturing:
|
||||
|
||||
1. **DXF/DWG** - For laser cutting (aluminum/acrylic)
|
||||
2. **KiCad PCB** - For PCB panel
|
||||
3. **SVG** - For graphics reference
|
||||
4. **PDF** - Dimensional drawing
|
||||
- **PANEL_SPEC.md** - This file
|
||||
- **SN-L00_panel.svg** - Vector graphic for manufacturing
|
||||
- **SN-L00_panel.kicad_pcb** - PCB panel (if using FR4)
|
||||
|
||||
## Assembly
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
width="30mm" height="128.5mm"
|
||||
viewBox="0 0 30 128.5">
|
||||
width="40.30mm" height="128.5mm"
|
||||
viewBox="0 0 40.30 128.5">
|
||||
|
||||
<title>SN-L00 Eurorack Panel</title>
|
||||
<desc>6HP Eurorack panel for SN-L00 Latency Tester</desc>
|
||||
<desc>8HP Eurorack panel for SN-L00 Latency Tester</desc>
|
||||
|
||||
<defs>
|
||||
<style>
|
||||
@@ -20,53 +20,53 @@
|
||||
</defs>
|
||||
|
||||
<!-- Panel background -->
|
||||
<rect class="panel" x="0" y="0" width="30" height="128.5"/>
|
||||
<rect class="panel" x="0" y="0" width="40.30" height="128.5"/>
|
||||
|
||||
<!-- Mounting holes (3.2mm) - RED for drill -->
|
||||
<!-- Top mounting holes -->
|
||||
<circle class="hole" cx="7.5" cy="3" r="1.6"/>
|
||||
<circle class="hole" cx="22.5" cy="3" r="1.6"/>
|
||||
<circle class="hole" cx="32.8" cy="3" r="1.6"/>
|
||||
<!-- Bottom mounting holes -->
|
||||
<circle class="hole" cx="7.5" cy="125.5" r="1.6"/>
|
||||
<circle class="hole" cx="22.5" cy="125.5" r="1.6"/>
|
||||
<circle class="hole" cx="32.8" cy="125.5" r="1.6"/>
|
||||
|
||||
<!-- OLED display window (28x10mm rectangle) - GREEN for cutout -->
|
||||
<rect class="cutout" x="1" y="20" width="28" height="10" rx="0.5"/>
|
||||
<rect class="cutout" x="6.15" y="20" width="28" height="10" rx="0.5"/>
|
||||
|
||||
<!-- Button hole (7mm) -->
|
||||
<circle class="hole" cx="15" cy="45" r="3.5"/>
|
||||
<circle class="hole" cx="20.15" cy="50" r="3.5"/>
|
||||
|
||||
<!-- LED hole (3mm) -->
|
||||
<circle class="hole" cx="24" cy="45" r="1.5"/>
|
||||
<circle class="hole" cx="32" cy="50" r="1.5"/>
|
||||
|
||||
<!-- Jack holes (6mm) -->
|
||||
<circle class="hole" cx="7.5" cy="95" r="3"/>
|
||||
<circle class="hole" cx="22.5" cy="95" r="3"/>
|
||||
<circle class="hole" cx="10" cy="95" r="3"/>
|
||||
<circle class="hole" cx="30" cy="95" r="3"/>
|
||||
|
||||
<!-- Text labels - WHITE silkscreen -->
|
||||
<text class="text text-medium" x="15" y="12" text-anchor="middle">SubModular</text>
|
||||
<text class="text text-medium" x="20.15" y="12" text-anchor="middle">SubModular</text>
|
||||
|
||||
<text class="text text-large" x="15" y="38" text-anchor="middle" font-weight="bold">SN-L00</text>
|
||||
<text class="text text-large" x="20.15" y="42" text-anchor="middle" font-weight="bold">SN-L00</text>
|
||||
|
||||
<text class="text text-small" x="15" y="52" text-anchor="middle">BTN</text>
|
||||
<text class="text text-small" x="24" y="52" text-anchor="middle">PWR</text>
|
||||
<text class="text text-small" x="20.15" y="57" text-anchor="middle">BTN</text>
|
||||
<text class="text text-small" x="32" y="57" text-anchor="middle">PWR</text>
|
||||
|
||||
<text class="text text-small" x="7.5" y="105" text-anchor="middle">TRIG</text>
|
||||
<text class="text text-small" x="22.5" y="105" text-anchor="middle">RETURN</text>
|
||||
<text class="text text-small" x="10" y="105" text-anchor="middle">RETURN</text>
|
||||
<text class="text text-small" x="30" y="105" text-anchor="middle">TRIG</text>
|
||||
|
||||
<text class="text text-small" x="15" y="115" text-anchor="middle">LATENCY TESTER</text>
|
||||
<text class="text text-small" x="20.15" y="115" text-anchor="middle">LATENCY TESTER</text>
|
||||
|
||||
<!-- Decorative elements -->
|
||||
<!-- Jack nut indicators (circles around jacks) -->
|
||||
<circle class="silkscreen" cx="7.5" cy="95" r="5"/>
|
||||
<circle class="silkscreen" cx="22.5" cy="95" r="5"/>
|
||||
<circle class="silkscreen" cx="10" cy="95" r="5"/>
|
||||
<circle class="silkscreen" cx="30" cy="95" r="5"/>
|
||||
|
||||
<!-- Display frame -->
|
||||
<rect class="silkscreen" x="0.5" y="19.5" width="29" height="11" rx="0.5"/>
|
||||
<rect class="silkscreen" x="5.65" y="19.5" width="29" height="11" rx="0.5"/>
|
||||
|
||||
<!-- Horizontal lines for visual separation -->
|
||||
<line class="silkscreen" x1="2" y1="55" x2="28" y2="55"/>
|
||||
<line class="silkscreen" x1="2" y1="85" x2="28" y2="85"/>
|
||||
<line class="silkscreen" x1="2" y1="110" x2="28" y2="110"/>
|
||||
<line class="silkscreen" x1="4" y1="60" x2="36.30" y2="60"/>
|
||||
<line class="silkscreen" x1="4" y1="85" x2="36.30" y2="85"/>
|
||||
<line class="silkscreen" x1="4" y1="110" x2="36.30" y2="110"/>
|
||||
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Reference in New Issue
Block a user