Introduction

A Shared Hardware Platform

Each Via module is built around a method for controlling a minimal but versatile circuit. You can transform a module into one of its family members, but each was designed to be engaging and inspiring enough that you may never want to.

Specifications

Width: 12hp with expander, 8hp without
Depth: 38mm
Power consumption +12V/-12V: ~105mA/50mA

Platform Overview

Via's core analog circuit offers you two inputs. Each travels through a track and hold followed by a VCA. The results are mixed at the output.

A digital signal generator animates the circuit and broadcasts a set of complementary outputs. Assignable controls and inputs are tailored to each module.

Controls and IO

You can use the button at the bottom of the screen to reference the faceplate layout.

You are encouraged to try just about any patch you can think of with Via. While the exact function of the controls, inputs, and outputs varies from module to module, a few things are always true:

The markings adjacent to each jack convey some useful information to guide patching:

  • Inputs are outlined. Outputs have solid fill.
  • Logic inputs and outputs are marked with sharp corners. The corners are rounded for CV/Audio IO.
  • Exposed copper indicates the analog IO. White silkscreen indicates the IO that varies from module to module.
  • Likewise with knobs, the manually set reference voltages for the analog circuit have grey caps while the knobs that interact with the programmable parts of the module have black caps.

The rest of the section lays out the key operating details for the following UI features:

Core Inputs

The A and B inputs follow an analog signal path through the module. Each input passes through a digitally controlled sample and hold/VCA circuit.

This allows a pair of digitally generated signals to be be injected into the linear VCA control inputs. In this fashion, the digital signal can scale the analog signal, or vice versa.

The inputs can accept voltages from -10V to 10V.

Core Controls

The B scale control sets an attenuverter on the B input. Noon is off. Fully counterclockwise, it is inverted. Fully clockwise, it passes at unity gain. With nothing plugged into the B input, the control to behaves as a reference voltage with a range of -5V to 5V.

The A normal control on the expander sets another -5V to 5V reference voltage with a dead zone at ground. Plugging a signal into the A input overrides A normal control. When the expander is disconnected, A is normally to 0V

Main Output

After processing, the analog inputs are mixed at the output. The output clips at -10V and 10V. The output impedance is 560 Ohms.

The relationship between the output and the inputs on a given module depends on how the main circuit is controlled, for more details check out this section on circuit control scheme.

Manual Controls

KNOB1, KNOB2, and KNOB3 provide manual controls with mappings that vary from module. The knobs are a quick way to explore the range of the module in a patch.

CV Inputs

Like the manual controls, the CV inputs are implemented in a different way on each module.

The input voltage range is -5V to 5V.

CV1 is scaled for V/oct response. It has a sampling rate of 3kHz and a precision of 12 bits, making it more suitable for CV than audio.

CV2 and CV3 sample at 50kHz with 16 bits of precision, making them suitable for audio or CV.

CV Attenuators

The CV2 and CV3 knobs always act as attenuators for signals connected to the CV2 and CV3 inputs. The exact effect of those inputs (and hence attenuating them) vary from module to module, but it helps to know that these knobs will have no effect unless a signal is patched into the corresponding input.

The two black knobs on the expander provide attenuation for the CV2 and CV3 inputs. Counterclockwise mutes the inputs, clockwise passes at unity gain. With no CV input, they have no effect.

From a hardware design perspective, the function of these knobs never changes, but from a user perspective, the perceived result will depend on a given module's implementation for that CV.

Logic Inputs

The main logic input and aux logic input detect the rising and falling transitions with a voltage threshold of about .7V, allowing for trigger, gate, clock, and step-style inputs. Square or pulse inputs give the most consistent results, but other clean, simple waveforms can be used as well. Complex waveforms will cross the logic threshold multiple times per cycle, yielding unpredictable results.

Pushbutton

The pushbutton on the expander is a simple switch, detecting press and release events. It usually provides a manual control for one of the logic inputs but is defined per-firmware.

Across all firmwares, holding this button down and pressing a touch sensor allows for storage and recall of presets.

Wildcard Output

The signal output ranges from -5.33V to 5.33V, and can be trimmed for V/Oct scaling. It has 12 bits of precision with frequency response down to DC. Typical sample rate is 50kHz with the possibility of oversampling (an experimental video oscillator samples at 1.6 mHz). The same bit-depth and sample rate specifications apply to the VCA control signals.

Logic Outputs

The logic outputs have two levels, high (~5V) or low (0V). Sometimes they are used as gate or trigger outputs, sometimes they are driven at audio rates to create a square/pulse wave output.

LED Display

The triangular RGB display and the 4 white LEDs in the jack field serve two purposes: they give visual feedback when setting parameter modes using the touch interface, and they display information about the state of the module.

The bicolor LED provides a visual representation of the main output. Green represents a positive voltage, red negative, and brightness the level relative to ground.

Expander

The vital functions of some modules are partitioned off onto the 8hp core unit, allowing you to break off a 4hp expander to free up that space in your system.

Touch

Each touch sensor is dedicated to a parameter. Tap a sensor to cycle to the next mode for that parameter. If a sensor is held for more than a second, the parameter does not change, allowing you to reference the current mode if you are unsure of its setting. The triangle blinks to indicate the one second timeout.

When selecting modes for a parameter, a clockwise pattern represent the numbers 1-8 on the white LEDs:

1.1
2.2
3.3
4.4
5.5
6.6
7.7
8.8

On some firmwares, one or more of the buttons are loaded with an auxiliary parameter, indicated by a subscript on the button legend.

To access an auxiliary parameter, use the bottom middle sensor like a "shift" button. While holding shift, tap a button to change its aux parameter and hold for more than second to display the current value.

8

A preset storage and recall system is activated by pressing and holding the pushbutton.

push button

The preset system works like an old car stereo tuner. Each sensor functions as a preset storage slot and is associated with a color on the LED display.

With the pushbutton held, double tap a sensor to recall the associated preset. The preset hue is shown on the RGB led and a short animation plays on the white LEDs.

With the pushbutton held, press and hold a sensor to store the current state as the preset for that slot. As you hold, you will see the RGB led fade. Keep holding until it fades completely and an animation plays on the white LEDs. This indicates successful storage.

Core Circuit

Crossfader

In the crossfader configuration, the module generates a signal that controls the level of the two inputs in tandem.

When the contour is at its minimum value, the A channel passes at unity gain while the B channel is muted. As the contour moves toward its maximum value, the level of B increases and the level of A decreases until the maximum value is reached, at which point B passes at unity gain and A is muted.

The crossfader inputs are equally suited for audio or CV signals.

If you were to plug an audio source into one input and ground into the other, you would be effectively fading into silence (which is roughly equivalent to a familiar envelope/VCA configuration). CV interaction can be envisioned as a path drawn from one input to the other, tracing out the shape of the crossfade contour.

When an analog input is in the audio range and the contour generator is at a sub-audio frequency, the contour generator controls the amplitude of the input. When the contour generator in the audio range, the analog levels determine the minimum and maximum amplitude of the contour generator.

Audio-rate contour generator, one CV rate input, and the other at ground. The percieved result is like tremolo.

CV-rate contour generator, one audio input, and the other at ground. The result is the same as if the crossfader were a VCA block.

CV-rate contour generator and two CV-rate inputs. The result is a complex combination of the three signals.

In the crossfader configuration, the module generates a signal that controls the level of the two inputs in tandem.

When the contour is at its minimum value, the A channel passes at unity gain while the B channel is muted. As the contour moves toward its maximum value, the level of B increases and the level of A decreases until the maximum value is reached, at which point B passes at unity gain and A is muted.

The crossfader inputs are equally suited for audio or CV signals.

If you were to plug an audio source into one input and ground into the other, you would be effectively fading into silence (which is roughly equivalent to a familiar envelope/VCA configuration). CV interaction can be envisioned as a path drawn from one input to the other, tracing out the shape of the crossfade contour.

When an analog input is in the audio range and the contour generator is at a sub-audio frequency, the contour generator controls the amplitude of the input. When the contour generator in the audio range, the analog levels determine the minimum and maximum amplitude of the contour generator.

Practically, this allows you to create resampling effects in the analog domain. The results can be strange and striking, including harmonious aliasing and pseudorandom modulation curves. A good strategy to get the feel for this functionality is to patch into the analog inputs, monitor the outputs, change the sample and hold parameter per the module's implementation, and listen.

Differential

An extension of the crossfader configuration applies an amplitude envelope on the full-scale volume of each channel, the common mode control signal. Meanwhile, the differential mode signal (the contour generator) fades back and forth between the attenuated inputs.

With DC inputs set by the manual controls, the common mode envelope is applied to the amplitude of the contour generator. It also acts as an amplitude envelope on input signals.

Differential

The two VCA control signals can also be completely independent. In this case, the inputs can act as attenuverters on the control signals, or with a twist of perspective, the control signals provide amplitude envelopes for the signal inputs.

The result of these processing blocks is then summed. Given that both channels can be active simultaneously means that the manual controls no longer ensure that the output will stay between +/-5 volts but can now go all the way to +/-10V, and if large signals are fed into the A and B inputs the output can saturate under the right circumstances.

Installation

Directions

Connect a 16 pin to 10 pin eurorack power cable to your power bus.

Connect the power cable to the 10 pin connector on the smaller "backpack" sized power board. Red stripe faces down as marked with a stripe on the PCB. Tap the touch sensors; you should see the LEDs respond.

Carefully install the module into its new home, perhaps powering your case down as you do this to avoid any shorts. After attaching the screws, power on your case and enjoy.

Removing Expander

Via is at home in small systems where every HP counts. To that end, three of the modules (META, SYNC, SCANNER) consolidate essential functions onto an 8HP core unit capable of operating without the 4HP expander. The expander is not so much a premium upgrade as it is a detachable extremity of the platform, allowing you to free up a few HP without sacrificing the core functions of your Via module.

All modules ship with the expander integrated, so to remove it, the first step is to remove the interconnect cable between the two boards.

Next, snap the faceplate along the scored line separating the core unit from the expander; best results usually come from bending inwards with the front of the panel facing you. We recommend holding the module with something soft, as pliers will damage the faceplate. You have to apply some pressure, but we are confident enough that you won't damage anything that we will take care of it if you do. You might want to give the freshly snapped edges a quick polish with a dull edge or some fine sandpaper to remove any fiberglass splinters.

Three jumpers, included with each module, are then placed on the 90 degree pin header below the smaller board on the core unit. Jumpers are installed vertically, connecting pairs of pins on top of one another. The pin pairs that need jumpers are indicated on the silkscreen.

After connecting the jumpers, power the module up, and test the A input, CV2, and CV3 to ensure that the jumpers were installed correctly.

If you reinstall the expander, please mind that the white stripe on the cable lines up with the markings on the PCB. Triple check it before powering up because you will almost surely damage your module and potentially other devices on the power rails with a misoriented expander cable.

Viaflash

You can use the Viaflash app to reprogram your module. It pulls the latest firmware version and even stores your presets and calibration data so that you can pick up where you left off after trying out another module.

Installation

Mac

Copy Viaflash.app to a folder outside of the disk image and then run it from the new location on your computer. For now, you may need to install libusb with Homebrew.

Linux

Working on it, contact us for assistance.

Windows

  1. Download and run Zadig.

  2. The Via should not be plugged into a power supply and the expander cable should be unplugged.  Next, push down and hold the "DFU" button while plugging in your via.  Once it's plugged in, you can let go of the button.

  3. Click options/list all devices.

  4. If the module is in DFU mode, you should see "STM32 BOOTLOADER" appear in the drop-down list.

  5. Select it, and set "target driver" (to the right of the green arrow) to WinUSB.

  6. Click "Install Driver" and you're done!

If you get an error message, "Device descriptor request failed", try a different USB port on another USB controller if you have it. If you are unable to install the correct driver, contact us.

Flashing

  1. Disconnect Via from eurorack power.

  2. Disconnect the expander cable from the expander if installed (no need to disconnect the end connected to the digital board). Some USB hosts don't mind the expander, but some do.

  3. Connect it to your computer with a micro-USB data cable while pressing the DFU button adjacent to the usb port. You can release the button once the connection has been made.

  4. Click "Detect Via Module". If successful the status bar located at the bottom will show you the serial number and currently installed firmware, and save presets if available.

  5. If it's your first time flashing with a given Via and computer, and it has firmware installed, Viaflash will ask if you want to store the preset as a calibration preset. If you got the module from Starlingyou want to do this. It will allow your calibration data to persist across firmwares after reflashing. You should only need to do this step once. It's recommended (though not necessary) to use the same computer to reflash Via for this reason.

  6. If this is a new DIY build with no firmware, the status bar will report an "option bytes error" which is expected in this case.

  7. If connected to the internet, select the firmware from the list and click flash. If you select "local firmware" from the drop-down menu, any local firmware you load will not save new or restore previous presets.

  8. If you want to restore the default presets, check the "Load Default Presets" button. Otherwise if there is previous preset data stored it will display information about it on the lower status bar. If there isn't, the default presets will be automatically loaded.

  9. After the flashing has completed, disconnect the module from USB power, reconnect the expander cable, reinstall, and enjoy. To reflash, the module needs to be unplugged and Viaflash must be restarted.

Faceplate Swap

You can use a Via module with the "incorrect faceplate" by only flashing new firmware, but from our experience, it can be a frustrating experience. To complete the transformation, follow these steps:

  1. Remove the knobs. You may have to yank a bit; thats OK, just be sure to pull straight up so as to not put extra strain on the potentiometer shaft.

  2. Remove the jack and pot nuts. Drivers REALLY help here. Beware, if you use pliers, and scratch your faceplate, Starling can't cover that under warranty.

  3. Remove the faceplate. The expander will practically fall right out, but you might need to with the main board a little bit.

  4. Place the main board on the new faceplate, taking care to seat the header socket into the long pins that extend up from the main Via PCB. Throw on a jack nut and pot nut or two to lightly secure the main board to the faceplate.

  5. Seat the expander in the faceplate and attach a nut or two to secure it.

  6. Replace and tighten the rest of the nuts. You want to tighten them enough to not wiggle off, but no need to torque them to oblivion.

  7. Replace the pots. Helpful hint, the indicator on the knobs lines up with the flatted part of the potentiometer shaft.

  8. Install your firmware of choice to complete the transformation.You might want to test the touch sensors before fully reinstalling in your rack just to be sure.