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:
@@ -1,35 +1,117 @@
|
|||||||
# SN-L00
|
# SN-L00 Latency Tester
|
||||||
|
|
||||||
Eurorack latency testing module by SubModular.
|
Eurorack module for measuring round-trip latency in audio/CV signal chains.
|
||||||
|
|
||||||
## Overview
|
**Organization**: [SubModular](https://git.sub-net.at/submodular) / Sub-Net e.U.
|
||||||
|
|
||||||
SN-L00 measures round-trip latency in Eurorack signal chains. Useful for testing delay through effects, digital modules, audio interfaces, and DAW processing.
|
## Features
|
||||||
|
|
||||||
|
- Measures latency from 0.01ms to 999ms
|
||||||
|
- 128×32 OLED display showing milliseconds
|
||||||
|
- Three modes: Single shot, Continuous, Statistics
|
||||||
|
- Skiff-friendly depth (<25mm)
|
||||||
|
- USB serial output for logging
|
||||||
|
|
||||||
|
## Specifications
|
||||||
|
|
||||||
|
| Parameter | Value |
|
||||||
|
|-----------|-------|
|
||||||
|
| Width | 6 HP (30mm) |
|
||||||
|
| Depth | <25mm |
|
||||||
|
| Power +12V | ~25mA |
|
||||||
|
| Power -12V | 0mA |
|
||||||
|
| Resolution | 0.01ms |
|
||||||
|
| Output | 0-3.3V trigger |
|
||||||
|
| Input | 0-10V tolerant |
|
||||||
|
|
||||||
## Project Structure
|
## Project Structure
|
||||||
|
|
||||||
```
|
```
|
||||||
hardware/
|
SN-L00/
|
||||||
kicad/ # Schematics and PCB
|
├── hardware/
|
||||||
panel/ # Front panel design
|
│ ├── BOM.md # Bill of materials with LCSC part numbers
|
||||||
firmware/ # Microcontroller code (if applicable)
|
│ ├── kicad/ # KiCad schematic and PCB
|
||||||
docs/ # Documentation and user manual
|
│ │ ├── SN-L00.kicad_pro
|
||||||
|
│ │ ├── SN-L00.kicad_sch
|
||||||
|
│ │ ├── SN-L00.kicad_pcb
|
||||||
|
│ │ ├── README.md # ASCII schematic reference
|
||||||
|
│ │ └── PCB_LAYOUT.md # Placement guide
|
||||||
|
│ └── panel/
|
||||||
|
│ ├── PANEL_SPEC.md # Dimensions and specifications
|
||||||
|
│ └── SN-L00_panel.svg # Panel design
|
||||||
|
├── firmware/
|
||||||
|
│ ├── CMakeLists.txt # Pico SDK build
|
||||||
|
│ ├── README.md # Build instructions
|
||||||
|
│ ├── include/ # Header files
|
||||||
|
│ └── src/ # Source files
|
||||||
|
└── docs/
|
||||||
|
└── DESIGN.md # Technical design document
|
||||||
```
|
```
|
||||||
|
|
||||||
## Specifications
|
## Hardware
|
||||||
|
|
||||||
- Width: TBD HP
|
### Components
|
||||||
- Power: TBD mA (+12V), TBD mA (-12V)
|
|
||||||
- Depth: TBD mm
|
|
||||||
|
|
||||||
## Status
|
| Part | Description |
|
||||||
|
|------|-------------|
|
||||||
|
| MCU | RP2040-Zero (Waveshare) |
|
||||||
|
| Display | 0.91" OLED 128×32 I2C |
|
||||||
|
| Output buffer | 74LVC1G17 Schmitt trigger |
|
||||||
|
| Input buffer | MCP6001 op-amp |
|
||||||
|
| Regulator | AMS1117-3.3 LDO |
|
||||||
|
|
||||||
Early development - concept phase.
|
Full BOM with LCSC part numbers in [hardware/BOM.md](hardware/BOM.md).
|
||||||
|
|
||||||
|
### Manufacturing
|
||||||
|
|
||||||
|
- PCB: 2-layer, 28×100mm
|
||||||
|
- Assembly: PCBWay or similar (SMD parts)
|
||||||
|
- Hand-solder: RP2040-Zero module, OLED module
|
||||||
|
- Panel: Aluminum or PCB (6HP)
|
||||||
|
|
||||||
|
## Firmware
|
||||||
|
|
||||||
|
Built with Raspberry Pi Pico SDK.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
export PICO_SDK_PATH=/path/to/pico-sdk
|
||||||
|
cd firmware
|
||||||
|
mkdir build && cd build
|
||||||
|
cmake .. && make
|
||||||
|
```
|
||||||
|
|
||||||
|
Flash `sn_l00.uf2` via USB bootloader.
|
||||||
|
|
||||||
|
See [firmware/README.md](firmware/README.md) for details.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
1. Connect **TRIG OUT** to your signal chain input
|
||||||
|
2. Connect your signal chain output to **RETURN IN**
|
||||||
|
3. Press button to measure latency
|
||||||
|
4. Long press to toggle continuous mode
|
||||||
|
|
||||||
|
### Modes
|
||||||
|
|
||||||
|
- **SINGLE**: Press to measure once
|
||||||
|
- **CONT**: Auto-measures every 500ms, shows live reading
|
||||||
|
- **STATS**: Shows min/max/average after continuous mode
|
||||||
|
|
||||||
|
## Typical Latency Values
|
||||||
|
|
||||||
|
| Source | Expected Latency |
|
||||||
|
|--------|------------------|
|
||||||
|
| Analog modules | <0.1ms |
|
||||||
|
| Digital Eurorack (DSP) | 1-5ms |
|
||||||
|
| Audio interface round-trip | 3-20ms |
|
||||||
|
| DAW + plugins | 5-50ms+ |
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
TBD
|
TBD
|
||||||
|
|
||||||
---
|
## Links
|
||||||
|
|
||||||
*SubModular - Eurorack hardware by Sub-Net e.U.*
|
- Repository: https://git.sub-net.at/submodular/SN-L00
|
||||||
|
- Organization: https://git.sub-net.at/submodular
|
||||||
|
- Parent: [Sub-Net e.U.](https://sub-net.at)
|
||||||
|
|||||||
@@ -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 ...)
|
||||||
|
|
||||||
|
)
|
||||||
@@ -0,0 +1,161 @@
|
|||||||
|
# SN-L00 Panel Specification
|
||||||
|
|
||||||
|
## Eurorack 6HP Panel Dimensions
|
||||||
|
|
||||||
|
| Parameter | Value | Notes |
|
||||||
|
|-----------|-------|-------|
|
||||||
|
| Width | 30.00mm | 6 × 5.08mm (6HP) |
|
||||||
|
| Height | 128.50mm | 3U standard |
|
||||||
|
| Thickness | 1.5-2.0mm | Aluminum or PCB |
|
||||||
|
| Corner radius | 0mm | Square corners |
|
||||||
|
|
||||||
|
## Mounting Holes
|
||||||
|
|
||||||
|
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 |
|
||||||
|
| Bottom Left | 7.5mm | 125.5mm | 3.2mm | Horizontal slot optional |
|
||||||
|
| Bottom Right | 22.5mm | 125.5mm | 3.2mm | Horizontal slot optional |
|
||||||
|
|
||||||
|
**Note**: Slots (elongated holes) of 3.2mm × 4mm allow for rail tolerance.
|
||||||
|
|
||||||
|
## Component Holes
|
||||||
|
|
||||||
|
| 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 |
|
||||||
|
|
||||||
|
## Panel Layout Drawing
|
||||||
|
|
||||||
|
```
|
||||||
|
←───── 30.00mm ─────→
|
||||||
|
|
||||||
|
┌─────────────────────┐ ─┬─ 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
|
||||||
|
```
|
||||||
|
|
||||||
|
## OLED Display Window
|
||||||
|
|
||||||
|
The 0.91" 128×32 OLED module dimensions:
|
||||||
|
|
||||||
|
| Parameter | Value |
|
||||||
|
|-----------|-------|
|
||||||
|
| Module size | ~38 × 12mm |
|
||||||
|
| Active area | ~22 × 6mm |
|
||||||
|
| Mounting | Pin header on edge |
|
||||||
|
|
||||||
|
**Panel cutout**: 28mm × 10mm rectangle, centered at (15.0, 25.0)
|
||||||
|
|
||||||
|
Alternatively, a slightly larger window (30 × 12mm) gives tolerance for module alignment.
|
||||||
|
|
||||||
|
## Material Options
|
||||||
|
|
||||||
|
### Option A: Aluminum (Professional)
|
||||||
|
|
||||||
|
- Material: 1.5mm aluminum 5052-H32
|
||||||
|
- Finish: Brushed, anodized black
|
||||||
|
- Printing: Laser engraved or UV printed
|
||||||
|
- Cost: ~€10-15/panel (qty 5)
|
||||||
|
|
||||||
|
### Option B: PCB Panel (DIY-friendly)
|
||||||
|
|
||||||
|
- Material: 1.6mm FR4
|
||||||
|
- Finish: Black soldermask, ENIG
|
||||||
|
- Printing: Silkscreen white
|
||||||
|
- Cost: ~€2-5/panel (qty 5 from PCBWay)
|
||||||
|
|
||||||
|
### Option C: Acrylic (Budget)
|
||||||
|
|
||||||
|
- Material: 3mm black acrylic
|
||||||
|
- Finish: Laser cut
|
||||||
|
- Printing: Engraved or adhesive labels
|
||||||
|
- Cost: ~€3-5/panel
|
||||||
|
|
||||||
|
## PCB Panel Design
|
||||||
|
|
||||||
|
If using a PCB as the panel:
|
||||||
|
|
||||||
|
```
|
||||||
|
Front copper: None (for clean look) or decorative pattern
|
||||||
|
Back copper: Optional ground plane
|
||||||
|
Silkscreen: All text and graphics
|
||||||
|
Soldermask: Black (or custom color)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Graphics & Text
|
||||||
|
|
||||||
|
### Suggested Layout
|
||||||
|
|
||||||
|
| 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 |
|
||||||
|
| "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 |
|
||||||
|
|-----------|---------|-----------|
|
||||||
|
| Mounting | 3.2mm | +0.1/-0.0 |
|
||||||
|
| Jack | 6.0mm | +0.1/-0.0 |
|
||||||
|
| Button | 7.0mm | +0.2/-0.0 |
|
||||||
|
| LED | 3.0mm | +0.1/-0.0 |
|
||||||
|
|
||||||
|
## Files to Create
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
## Assembly
|
||||||
|
|
||||||
|
1. Mount OLED module with M2 standoffs or double-sided tape
|
||||||
|
2. Jacks mount through panel, secured with nut
|
||||||
|
3. Button may need extension shaft or cap
|
||||||
|
4. LED can use light pipe for front visibility
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
<?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">
|
||||||
|
|
||||||
|
<title>SN-L00 Eurorack Panel</title>
|
||||||
|
<desc>6HP Eurorack panel for SN-L00 Latency Tester</desc>
|
||||||
|
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.panel { fill: #1a1a1a; }
|
||||||
|
.hole { fill: none; stroke: #ff0000; stroke-width: 0.1; }
|
||||||
|
.cutout { fill: none; stroke: #00ff00; stroke-width: 0.1; }
|
||||||
|
.text { fill: #ffffff; font-family: Arial, sans-serif; }
|
||||||
|
.text-small { font-size: 2px; }
|
||||||
|
.text-medium { font-size: 2.5px; }
|
||||||
|
.text-large { font-size: 3px; }
|
||||||
|
.silkscreen { fill: none; stroke: #ffffff; stroke-width: 0.2; }
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
|
||||||
|
<!-- Panel background -->
|
||||||
|
<rect class="panel" x="0" y="0" width="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"/>
|
||||||
|
<!-- 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"/>
|
||||||
|
|
||||||
|
<!-- OLED display window (28x10mm rectangle) - GREEN for cutout -->
|
||||||
|
<rect class="cutout" x="1" y="20" width="28" height="10" rx="0.5"/>
|
||||||
|
|
||||||
|
<!-- Button hole (7mm) -->
|
||||||
|
<circle class="hole" cx="15" cy="45" r="3.5"/>
|
||||||
|
|
||||||
|
<!-- LED hole (3mm) -->
|
||||||
|
<circle class="hole" cx="24" cy="45" 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"/>
|
||||||
|
|
||||||
|
<!-- Text labels - WHITE silkscreen -->
|
||||||
|
<text class="text text-medium" x="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-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="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="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"/>
|
||||||
|
|
||||||
|
<!-- Display frame -->
|
||||||
|
<rect class="silkscreen" x="0.5" 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"/>
|
||||||
|
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.7 KiB |
Reference in New Issue
Block a user