master
SN-L00 Latency Tester
Eurorack module for measuring round-trip latency in audio/CV signal chains.
Organization: SubModular / Sub-Net e.U.
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 | 8 HP (40mm) |
| Depth | <25mm |
| Power +12V | ~25mA |
| Power -12V | 0mA |
| Resolution | 0.01ms |
| Output | 0-3.3V trigger |
| Input | 0-10V tolerant |
Project Structure
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
Hardware
Components
| 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 |
Full BOM with LCSC part numbers in hardware/BOM.md.
PCB Layout (KiCad 8)
-
Open
hardware/kicad/SN-L00.kicad_pro -
Update PCB from schematic: Tools → Update PCB from Schematic (F8)
-
Automated routing (from terminal):
cd hardware/kicad python3 scripts/autoroute.pyThis places components, routes, and runs DRC automatically.
Or manually in KiCad Scripting Console:
exec(open('scripts/autoroute_full.py').read()) -
Fill zones: Press B
-
Run DRC: Inspect → Design Rules Checker
-
Export Gerbers: File → Fabrication Outputs → Gerbers
Manufacturing
- PCB: 2-layer, 40×100mm (8HP)
- Assembly: PCBWay or similar (SMD parts)
- Hand-solder: RP2040-Zero module, OLED module
- Panel: Aluminum or PCB (8HP, 40.30×128.50mm)
Firmware
Built with Raspberry Pi Pico SDK.
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 for details.
Usage
- Connect TRIG OUT to your signal chain input
- Connect your signal chain output to RETURN IN
- Press button to measure latency
- 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
- Repository: https://git.sub-net.at/submodular/SN-L00
- Organization: https://git.sub-net.at/submodular
- Parent: Sub-Net e.U.
Description
Languages
Python
51.6%
C
31.8%
Shell
15.3%
CMake
1.3%