the framlin logo framlin Wolfgang Egger · Hard- & Software, Berlin

05 CV Input Signal Types

V/Octave (1V/Oct)

V/Octave CV signal — Constructivist linocut illustration
PropertyValue
CategoryPitch
Voltage Range-5V..+5V (typ.), up to -3V..+7V or 0..+10V
PolarityBipolar
BandwidthDC..~100Hz (portamento, fast sequences)
Precision<1 cent over 5+ octaves targeted

Description

The V/Octave signal is the Eurorack standard for pitch control. Each volt of voltage change doubles (or halves) the frequency — corresponding to one octave. 1/12 volt equals a semitone, 1/1200 volt equals one cent.

For a usable range of 8–10 octaves, the input stage must map 8–10V of voltage swing at a resolution of <1mV (corresponding to ~1.7 cents).

Use Cases

  • Control oscillator pitch (primary use)
  • Track filter cutoff frequency (keytracking)
  • Set resonator pitch (e.g., Karplus-Strong fundamental frequency)

Eurorack Examples (Mutable Instruments)

  • Plaits: V/OCT input, software calibration routine in menu
  • Rings: V/OCT for resonator fundamental frequency
  • Marbles: Can generate and receive quantized or unquantized V/Oct

Hardware Implementation

Input Stage: Inverting Summing Amplifier

Topology: MCP6004, single supply (V+=3.3V, V-=GND), -10V reference (LM4040DBZ-10, fed from the -12V Eurorack rail via series resistor).

Plaits CV pitch input — inverting summing amplifier with MCP6004

Plaits-specific variant: The schematic above shows the Plaits variant with R_ref = 140k (instead of 200k). This shifts the offset from 1.65V to 2.36V and maps the asymmetric range -3V..+7V — optimized for V/Oct signals that are primarily positive (C1 ≈ 0V upward). The general topology is identical; only the resistor values differ.

Resistor values for -5V..+5V → 3.3V..0V:

R_inR_refR_fbV_refV_in=-5V→V_outV_in=0V→V_outV_in=+5V→V_out
100k200k33k-10V3.3V1.65V0V

Transfer function: V_out = -(V_in × 33k/100k + (-10V) × 33k/200k) = -(V_in × 0.33 - 1.65)

Signal is inverted (higher input voltage → lower ADC value). Conversion in software.

Precision Requirements

  • 0.1% resistors for R_in, R_ref, R_fb (same temperature coefficient, e.g., 25ppm/°C)
  • Anti-aliasing: 100–470pF capacitor across R_fb (at 100pF: f_c ≈ 48kHz)
  • Voltage reference drift: LM4040DBZ-10 has ±100ppm/°C → at 30°C warming: 30mV drift → 20–30 cents! Consider better reference (≤15ppm/°C)

Calibration (Firmware)

Multi-point calibration (recommended): Two-point calibration (slope + offset) suffices for 3–4 octaves. For >5 octaves, multi-point calibration is superior:

  1. Feed known voltages (e.g., 1V, 3V, 5V)
  2. Record ADC values
  3. Linear interpolation or cubic spline between support points
  4. Compensates op-amp nonlinearity near the rails and reference errors

ADC Requirements

  • Dedicated reference voltage for ADS8866: REF3033 (3.3V) recommended
  • Settling time: After mux switching, op-amp output and RC network must be fully settled before ADC conversion
  • Oversampling + averaging for noise reduction (e.g., 4× oversampling → +1 bit effective resolution)

I'm Wolfgang — I build open-source Eurorack modules in Berlin and take commissions for custom modules and embedded firmware.