Files
florian.berthold a8e63aa45c Fix PCB file format and add placement script
- Fixed KiCad 8 PCB file format (text rotation syntax)
- PCB now loads correctly with board outline and labels
- Added Python placement script for KiCad scripting console
- Updated PCB_LAYOUT.md with quick start instructions

Next step: Open in KiCad, run Update PCB from Schematic,
then use Freerouting or manual routing to complete traces.
2026-01-23 05:36:14 +01:00

7.7 KiB

SN-L00 PCB Layout Guide

Quick Start - Complete the Layout in KiCad

  1. Open the project: SN-L00.kicad_pro
  2. Import footprints:
    • Open PCB Editor
    • Tools → Update PCB from Schematic (F8)
    • Click "Update PCB" to import all footprints
  3. Place components:
    • In Scripting Console (Tools → Scripting Console):
    exec(open('scripts/place_components.py').read())
    
    • Or manually place using coordinates below
  4. Add mounting holes:
    • Place MountingHole:MountingHole_3.2mm_M3 at (14, 5) and (14, 95)
  5. Route traces:
    • Use Freerouting: File → Export → Specctra DSN, then import routed SES
    • Or route manually with 'X' key
  6. Fill zones:
    • Press 'B' to fill all zones
  7. Run DRC: Inspect → Design Rules Checker
  8. Export Gerbers: File → Fabrication Outputs → Gerbers

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
MOD1 RP2040-Zero 14.0 46.5

User Interface

Ref Component Center X Center Y Rotation
SW1 Tactile 6x6mm 14.0 31.5
D2 Power LED 24.0 31.5
R2 LED resistor 1K 24.0 36.0 90°

Connectors

Ref Component Center X Center Y Rotation
J2 Thonkiconn TRIG 7.0 83.0
J3 Thonkiconn RETURN 21.0 83.0
J1 2x5 Eurorack 14.0 92.0
Ref Component Center X Center Y Rotation Side
D1 SS14 Schottky 7.0 65.0 Back
U1 AMS1117-3.3 14.0 65.0 Back
C1 10uF input 10.0 60.0 Back
C2 10uF output 18.0 60.0 Back
C3 100nF output 21.0 60.0 Back

Signal Conditioning

Ref Component Center X Center Y Rotation Side
U2 74LVC1G17 7.0 72.0 Front
C4 100nF (U2) 7.0 68.0 Front
R3 100R trig 7.0 76.0 90° Front
U3 MCP6001 21.0 72.0 Front
C5 100nF (U3) 21.0 68.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

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