Add PCB layout and panel design
PCB: - 28x100mm 2-layer board outline - Mounting holes for M3 screws - Component placement guide with coordinates - Routing guidelines and design rules Panel: - 6HP (30x128.5mm) Eurorack panel specification - SVG design with hole positions - Supports aluminum, PCB, or acrylic manufacturing Updated main README with full project documentation.
This commit is contained in:
@@ -0,0 +1,216 @@
|
||||
# SN-L00 PCB Layout Guide
|
||||
|
||||
## Board Dimensions
|
||||
|
||||
| Parameter | Value | Notes |
|
||||
|-----------|-------|-------|
|
||||
| Width | 28.0mm | 6HP panel = 30mm, PCB 1mm clearance each side |
|
||||
| Height | 100.0mm | Fits standard 3U with clearance |
|
||||
| Thickness | 1.6mm | Standard PCB |
|
||||
| Layers | 2 | Front + Back copper |
|
||||
| Depth (mounted) | ~22mm | Skiff-friendly (<25mm) |
|
||||
|
||||
## Mounting Holes
|
||||
|
||||
| Hole | Position | Size |
|
||||
|------|----------|------|
|
||||
| MH1 (top) | 14.0, 5.0 | 3.2mm (M3) |
|
||||
| MH2 (bottom) | 14.0, 95.0 | 3.2mm (M3) |
|
||||
|
||||
## Component Placement (Top to Bottom)
|
||||
|
||||
```
|
||||
0mm 28mm
|
||||
│←────── 28mm ───────→│
|
||||
┌────────────────────┐ ─┬─ 0mm
|
||||
│ ○ MH1 (M3) │ │
|
||||
│ │ │ 5mm
|
||||
├────────────────────┤ ─┤
|
||||
│ │ │
|
||||
│ ┌──────────────┐ │ │
|
||||
│ │ OLED │ │ │ 10-25mm
|
||||
│ │ MOD2 │ │ │
|
||||
│ │ (128x32) │ │ │
|
||||
│ └──────────────┘ │ │
|
||||
│ │ │
|
||||
├────────────────────┤ ─┤
|
||||
│ [BTN] │ │ 28-35mm
|
||||
│ SW1 │ │
|
||||
├────────────────────┤ ─┤
|
||||
│ │ │
|
||||
│ ┌──────────────┐ │ │
|
||||
│ │ RP2040-Zero │ │ │ 38-55mm
|
||||
│ │ MOD1 │ │ │
|
||||
│ │ (18x23mm) │ │ │
|
||||
│ └──────────────┘ │ │
|
||||
│ │ │
|
||||
├────────────────────┤ ─┤
|
||||
│ SMD Components │ │
|
||||
│ U1 U2 U3 │ │ 58-75mm
|
||||
│ C1-C5 R1-R6 │ │
|
||||
│ D1-D4 D2(LED) │ │
|
||||
├────────────────────┤ ─┤
|
||||
│ │ │
|
||||
│ ○ J2 ○ J3 │ │ 78-88mm
|
||||
│ TRIG RETURN │ │
|
||||
│ │ │
|
||||
├────────────────────┤ ─┤
|
||||
│ ═══════════════ │ │ 88-95mm
|
||||
│ J1 │ │
|
||||
│ (Eurorack 2x5) │ │
|
||||
├────────────────────┤ ─┤
|
||||
│ ○ MH2 (M3) │ │ 95mm
|
||||
└────────────────────┘ ─┴─ 100mm
|
||||
```
|
||||
|
||||
## Detailed Placement Coordinates
|
||||
|
||||
### Modules (Hand-solder)
|
||||
|
||||
| Ref | Component | Center X | Center Y | Rotation |
|
||||
|-----|-----------|----------|----------|----------|
|
||||
| MOD2 | OLED 128x32 | 14.0 | 17.5 | 0° |
|
||||
| MOD1 | RP2040-Zero | 14.0 | 46.5 | 0° |
|
||||
|
||||
### User Interface
|
||||
|
||||
| Ref | Component | Center X | Center Y | Rotation |
|
||||
|-----|-----------|----------|----------|----------|
|
||||
| SW1 | Tactile 6x6mm | 14.0 | 31.5 | 0° |
|
||||
| D2 | Power LED | 24.0 | 31.5 | 0° |
|
||||
| R2 | LED resistor 1K | 24.0 | 36.0 | 90° |
|
||||
|
||||
### Connectors
|
||||
|
||||
| Ref | Component | Center X | Center Y | Rotation |
|
||||
|-----|-----------|----------|----------|----------|
|
||||
| J2 | Thonkiconn TRIG | 7.0 | 83.0 | 0° |
|
||||
| J3 | Thonkiconn RETURN | 21.0 | 83.0 | 0° |
|
||||
| J1 | 2x5 Eurorack | 14.0 | 92.0 | 0° |
|
||||
|
||||
### Power Section (Back side recommended)
|
||||
|
||||
| Ref | Component | Center X | Center Y | Rotation | Side |
|
||||
|-----|-----------|----------|----------|----------|------|
|
||||
| D1 | SS14 Schottky | 7.0 | 65.0 | 0° | Back |
|
||||
| U1 | AMS1117-3.3 | 14.0 | 65.0 | 0° | Back |
|
||||
| C1 | 10uF input | 10.0 | 60.0 | 0° | Back |
|
||||
| C2 | 10uF output | 18.0 | 60.0 | 0° | Back |
|
||||
| C3 | 100nF output | 21.0 | 60.0 | 0° | Back |
|
||||
|
||||
### Signal Conditioning
|
||||
|
||||
| Ref | Component | Center X | Center Y | Rotation | Side |
|
||||
|-----|-----------|----------|----------|----------|------|
|
||||
| U2 | 74LVC1G17 | 7.0 | 72.0 | 0° | Front |
|
||||
| C4 | 100nF (U2) | 7.0 | 68.0 | 0° | Front |
|
||||
| R3 | 100R trig | 7.0 | 76.0 | 90° | Front |
|
||||
| U3 | MCP6001 | 21.0 | 72.0 | 0° | Front |
|
||||
| C5 | 100nF (U3) | 21.0 | 68.0 | 0° | Front |
|
||||
| R4 | 10K input | 21.0 | 76.0 | 90° | Front |
|
||||
| R5 | 10K divider | 18.0 | 76.0 | 90° | Front |
|
||||
| R6 | 22K divider | 18.0 | 72.0 | 90° | Front |
|
||||
| D3 | BAT54 clamp | 24.0 | 70.0 | 90° | Front |
|
||||
| D4 | BAT54 clamp | 24.0 | 74.0 | 90° | Front |
|
||||
|
||||
### Button
|
||||
|
||||
| Ref | Component | Center X | Center Y | Rotation |
|
||||
|-----|-----------|----------|----------|----------|
|
||||
| R1 | 10K pullup | 10.0 | 35.0 | 0° |
|
||||
|
||||
## Routing Guidelines
|
||||
|
||||
### Net Classes
|
||||
|
||||
| Class | Width | Clearance | Via Drill |
|
||||
|-------|-------|-----------|-----------|
|
||||
| Default | 0.25mm | 0.2mm | 0.3mm |
|
||||
| Power | 0.5mm | 0.3mm | 0.4mm |
|
||||
| Signal | 0.2mm | 0.2mm | 0.3mm |
|
||||
|
||||
### Power Routing
|
||||
|
||||
1. **+12V** path: J1 pin 4 → D1 → C1 → U1 VIN
|
||||
2. **+3.3V** path: U1 VOUT → C2/C3 → distribute to all ICs
|
||||
3. **GND**: Use ground pour on back layer, via stitch near decoupling caps
|
||||
|
||||
### Signal Routing Priority
|
||||
|
||||
1. I2C (SDA/SCL): Keep short, parallel, 0.5mm spacing
|
||||
2. TRIG_OUT: Direct from RP2040 GP2 → U2 → R3 → J2
|
||||
3. RETURN_IN: J3 → R4 → divider → U3 → RP2040 GP3
|
||||
4. BTN: RP2040 GP4 → R1 → SW1 → GND
|
||||
|
||||
### Ground Plane
|
||||
|
||||
- Fill back copper with GND zone
|
||||
- Via stitch every 5-10mm
|
||||
- Keep clear around power input for thermal relief
|
||||
- Connect GND pins of J2/J3 directly to plane
|
||||
|
||||
## Design Rules (PCBWay Compatible)
|
||||
|
||||
| Parameter | Value |
|
||||
|-----------|-------|
|
||||
| Min trace width | 0.15mm (0.2mm preferred) |
|
||||
| Min clearance | 0.15mm (0.2mm preferred) |
|
||||
| Min via drill | 0.3mm |
|
||||
| Min via diameter | 0.6mm |
|
||||
| Min hole size | 0.3mm |
|
||||
| Min annular ring | 0.15mm |
|
||||
|
||||
## Silkscreen
|
||||
|
||||
### Front
|
||||
|
||||
- Component references (small, 0.8mm text)
|
||||
- Jack labels: "TRIG" and "RETURN"
|
||||
- "SN-L00 v0.1" at bottom
|
||||
- "SubModular" at top
|
||||
|
||||
### Back
|
||||
|
||||
- "SN-L00" centered
|
||||
- Pin 1 indicators for ICs
|
||||
- Polarity markers for D1, power header
|
||||
- "git.sub-net.at/submodular/SN-L00"
|
||||
|
||||
## Gerber Output
|
||||
|
||||
When exporting for PCBWay:
|
||||
|
||||
```
|
||||
Required files:
|
||||
- F.Cu (Front copper)
|
||||
- B.Cu (Back copper)
|
||||
- F.SilkS (Front silkscreen)
|
||||
- B.SilkS (Back silkscreen)
|
||||
- F.Mask (Front soldermask)
|
||||
- B.Mask (Back soldermask)
|
||||
- Edge.Cuts (Board outline)
|
||||
- *.drl (Drill file)
|
||||
|
||||
Settings:
|
||||
- Format: Gerber X2
|
||||
- Drill: Excellon
|
||||
- Units: mm
|
||||
- Coordinate format: 4.6
|
||||
```
|
||||
|
||||
## Assembly Notes
|
||||
|
||||
1. PCBWay can assemble all SMD parts on both sides
|
||||
2. Hand-solder: MOD1 (RP2040-Zero), MOD2 (OLED)
|
||||
3. Jacks (J2, J3) can be assembled or hand-soldered
|
||||
4. Power header (J1) usually hand-soldered for alignment
|
||||
|
||||
## Checking Before Order
|
||||
|
||||
- [ ] DRC passes with no errors
|
||||
- [ ] All nets connected (no airwires)
|
||||
- [ ] Mounting holes align with panel
|
||||
- [ ] Jacks align with panel holes
|
||||
- [ ] Power header polarity marked
|
||||
- [ ] Silkscreen readable and not over pads
|
||||
- [ ] Ground plane connected properly
|
||||
@@ -0,0 +1,191 @@
|
||||
(kicad_pcb
|
||||
(version 20240108)
|
||||
(generator "pcbnew")
|
||||
(generator_version "8.0")
|
||||
(general
|
||||
(thickness 1.6)
|
||||
(legacy_teardrops no)
|
||||
)
|
||||
(paper "A4")
|
||||
(title_block
|
||||
(title "SN-L00 Latency Tester")
|
||||
(date "2026-01-23")
|
||||
(rev "0.1")
|
||||
(company "SubModular")
|
||||
)
|
||||
(layers
|
||||
(0 "F.Cu" signal)
|
||||
(31 "B.Cu" signal)
|
||||
(32 "B.Adhes" user "B.Adhesive")
|
||||
(33 "F.Adhes" user "F.Adhesive")
|
||||
(34 "B.Paste" user)
|
||||
(35 "F.Paste" user)
|
||||
(36 "B.SilkS" user "B.Silkscreen")
|
||||
(37 "F.SilkS" user "F.Silkscreen")
|
||||
(38 "B.Mask" user)
|
||||
(39 "F.Mask" user)
|
||||
(40 "Dwgs.User" user "User.Drawings")
|
||||
(41 "Cmts.User" user "User.Comments")
|
||||
(42 "Eco1.User" user "User.Eco1")
|
||||
(43 "Eco2.User" user "User.Eco2")
|
||||
(44 "Edge.Cuts" user)
|
||||
(45 "Margin" user)
|
||||
(46 "B.CrtYd" user "B.Courtyard")
|
||||
(47 "F.CrtYd" user "F.Courtyard")
|
||||
(48 "B.Fab" user)
|
||||
(49 "F.Fab" user)
|
||||
(50 "User.1" user)
|
||||
(51 "User.2" user)
|
||||
(52 "User.3" user)
|
||||
(53 "User.4" user)
|
||||
(54 "User.5" user)
|
||||
(55 "User.6" user)
|
||||
(56 "User.7" user)
|
||||
(57 "User.8" user)
|
||||
(58 "User.9" user)
|
||||
)
|
||||
(setup
|
||||
(pad_to_mask_clearance 0)
|
||||
(allow_soldermask_bridges_in_footprints no)
|
||||
(pcbplotparams
|
||||
(layerselection 0x00010fc_ffffffff)
|
||||
(plot_on_all_layers_selection 0x0000000_00000000)
|
||||
(disableapertmacros no)
|
||||
(usegerberextensions no)
|
||||
(usegerberattributes yes)
|
||||
(usegerberadvancedattributes yes)
|
||||
(creategerberjobfile yes)
|
||||
(dashed_line_dash_ratio 12.000000)
|
||||
(dashed_line_gap_ratio 3.000000)
|
||||
(svgprecision 4)
|
||||
(plotframeref no)
|
||||
(viasonmask no)
|
||||
(mode 1)
|
||||
(useauxorigin no)
|
||||
(hpglpennumber 1)
|
||||
(hpglpenspeed 20)
|
||||
(hpglpendiameter 15.000000)
|
||||
(pdf_front_fp_property_popups yes)
|
||||
(pdf_back_fp_property_popups yes)
|
||||
(dxfpolygonmode yes)
|
||||
(dxfimperialunits yes)
|
||||
(dxfusepcbnewfont yes)
|
||||
(psnegative no)
|
||||
(psa4output no)
|
||||
(plotreference yes)
|
||||
(plotvalue yes)
|
||||
(plotfptext yes)
|
||||
(plotinvisibletext no)
|
||||
(sketchpadsonfab no)
|
||||
(subtractmaskfromsilk no)
|
||||
(outputformat 1)
|
||||
(mirror no)
|
||||
(drillshape 1)
|
||||
(scaleselection 1)
|
||||
(outputdirectory "")
|
||||
)
|
||||
)
|
||||
(net 0 "")
|
||||
(net 1 "GND")
|
||||
(net 2 "+12V")
|
||||
(net 3 "+3.3V")
|
||||
(net 4 "SDA")
|
||||
(net 5 "SCL")
|
||||
(net 6 "TRIG_OUT")
|
||||
(net 7 "RETURN_IN")
|
||||
(net 8 "BTN")
|
||||
|
||||
;; Board outline - 6HP Eurorack PCB
|
||||
;; Width: 28mm (6HP = 30mm panel, PCB slightly narrower)
|
||||
;; Height: 100mm (fits behind panel with clearance)
|
||||
(gr_rect
|
||||
(start 0 0)
|
||||
(end 28 100)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type solid)
|
||||
)
|
||||
(fill none)
|
||||
(layer "Edge.Cuts")
|
||||
(uuid "board-outline")
|
||||
)
|
||||
|
||||
;; Mounting holes (M3, 3.2mm)
|
||||
;; Top mounting hole
|
||||
(footprint "MountingHole:MountingHole_3.2mm_M3"
|
||||
(layer "F.Cu")
|
||||
(uuid "mh1")
|
||||
(at 14 5)
|
||||
(property "Reference" "MH1"
|
||||
(at 0 -3 0)
|
||||
(layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(property "Value" "MountingHole"
|
||||
(at 0 3 0)
|
||||
(layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(pad "" np_thru_hole circle
|
||||
(at 0 0)
|
||||
(size 3.2 3.2)
|
||||
(drill 3.2)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
)
|
||||
)
|
||||
|
||||
;; Bottom mounting hole
|
||||
(footprint "MountingHole:MountingHole_3.2mm_M3"
|
||||
(layer "F.Cu")
|
||||
(uuid "mh2")
|
||||
(at 14 95)
|
||||
(property "Reference" "MH2"
|
||||
(at 0 -3 0)
|
||||
(layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(property "Value" "MountingHole"
|
||||
(at 0 3 0)
|
||||
(layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(pad "" np_thru_hole circle
|
||||
(at 0 0)
|
||||
(size 3.2 3.2)
|
||||
(drill 3.2)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
)
|
||||
)
|
||||
|
||||
;; Component placement guide (active from top to bottom):
|
||||
;; Y=10-25: OLED module (MOD2)
|
||||
;; Y=28-35: Button (SW1)
|
||||
;; Y=38-55: RP2040-Zero (MOD1)
|
||||
;; Y=58-75: SMD components (LDO, buffers, passives)
|
||||
;; Y=78-90: Jacks (J2, J3) and Power header (J1)
|
||||
|
||||
;; Text annotations for assembly
|
||||
(gr_text "SN-L00 v0.1"
|
||||
(at 14 98 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "title-text")
|
||||
(effects
|
||||
(font (size 1.2 1.2) (thickness 0.2))
|
||||
(justify center)
|
||||
)
|
||||
)
|
||||
|
||||
(gr_text "SubModular"
|
||||
(at 14 2 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "company-text")
|
||||
(effects
|
||||
(font (size 0.8 0.8) (thickness 0.15))
|
||||
(justify center)
|
||||
)
|
||||
)
|
||||
|
||||
;; Ground plane zones would be added here
|
||||
;; (zone ...)
|
||||
|
||||
)
|
||||
Reference in New Issue
Block a user