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
|
||||
|
||||
```
|
||||
hardware/
|
||||
kicad/ # Schematics and PCB
|
||||
panel/ # Front panel design
|
||||
firmware/ # Microcontroller code (if applicable)
|
||||
docs/ # Documentation and user manual
|
||||
SN-L00/
|
||||
├── hardware/
|
||||
│ ├── BOM.md # Bill of materials with LCSC part numbers
|
||||
│ ├── kicad/ # KiCad schematic and PCB
|
||||
│ │ ├── 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
|
||||
- Power: TBD mA (+12V), TBD mA (-12V)
|
||||
- Depth: TBD mm
|
||||
### Components
|
||||
|
||||
## 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
|
||||
|
||||
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