Two Bits Dual Logic Processor with Chaining and CV Functions Owner’s Manual
- June 8, 2024
- Two Bits
Table of Contents
Dual logic processor with chaining and CV functions
Overview
Two dual-input sections can be used independently, put in parallel for 4-input wide logic, or chained for more advanced processing. Each section presents normal and inverted outputs. The two sections offer a set of common and specific functions for a total 15 different ones. Several functions offer real-time CV control for dynamic changes of the conditions. All time-related functions can be independently user adjusted and are saved automatically. LEDs tell permanently the actual status of all outputs.
Features
- Two dual-input logic processors
- 15 different functions
- Simultaneously available normal and inverted outputs
- LEDs on all outputs
- Chaining can be activated and inverted by a dedicated button with LEDs
- Chaining does not waste any input or output; an additional virtual input is created in the second section
- Functions with duration, voltage, percentage, and ratio are user editable.
- User settings are stored automatically
- Random pass, voltage comparator, clock mult/div and delay line functions allow CV control
- White LEDs next to the pots confirm the matching of knob position and function
- The outputs can be Ored by simple shorting in a multiple
- Firmware upgradeable by playing an audio file
- Low consumption, skiff-friendly & compact module
- Complements Klavis’ Logica XT with a varied feature set
Installation and security
Purpose
This module is meant for installation in a Eurorack-compliant chassis.
It adheres to Doepfer Eurorack mechanical and electrical specifications.
Do not attempt using this module in other mechanical or electrical contexts.
Installation
Before the installation, disconnect the mains power supply from your modular
system. Some power supplies are not safely isolated; there is a risk of
injury!
See in the specifications if this module requires 5V from the supply rails. If
5V is needed and your rack is not providing 5V, do not attempt connection!
Check that the current consumption requirements of this module, when added to
your installed set of modules do not exceed the available current from your
supply. This is done by adding up the current draw of all modules (mA)
separately for each of 5V, 12V and -12V rails. If any of these 3 sums exceeds
the available current of your supply for that voltage, do not connect the
module to your system; you need a stronger power supply.
The provided supply flat cable can only be inserted in the appropriate
orientation at the back of the module, so there is no risk of error on that
end. However, you should pay attention to the orientation of the cable in the
socket of the supply PCB inside your chassis. Cheap sockets without shrouding
may allow you to plug in the connector the wrong way!
The red stripe on the cable should match a stripe printed on the supply board.
The stripe also indicates the -12V side. In case there is no stripe, a -12V
marking is a safe indication of the orientation.
Double check that the connectors are fully inserted and correctly oriented
before switching on the power supply. In case of an anomaly, switch off the
power supply immediately and check everything again.
Factory reset
The module has a number of user editable settings. In case you experience unexpected result, this may due to polarity and/or delay settings that are inadequate for the current purpose. In case you’re lost, you can restart fresh by resetting all settings to their default value. This is done by holding the Chain button while powering on. Keep the supply on for at least 10 seconds after a reset procedure for the default data to be stored in non-volatile memory.
Firmware update
The product can be updated by playing an audio file such as “TwoBits_x.xx.wav”.
Procedure
- Connect a mono or stereo cable between your audio playing device headphone output and the TwoBits 1A input.
- Prepare to play the audio file
- Set the play level at two thirds
- While pressing both buttons, switch on your modular case supply
- The two white LEDs are flashing fast; the Inv blue LEDs remain On permanently
- Start playing the audio file
If everything goes fine
- Chain and Inv LEDs are On
- The white LEDs go progressively On one after the other
- When the update succeeded, the Set green LED goes On while the white ones are flashing
- Switch the supply off then on to restart the module
If nothing happens
- Stop audio playback
- Slightly increase the audio playback level or check for error causes hereafter
- Start audio playback from the beginning
If there is an error during the playback
It is possible that the sound setting was too loud to begin with. Diminish the
sound level drastically and restart the procedure.
If the procedure fails after starting fine: the two red LEDs are On while
Chain LED flashes.
Press any key to reinitiate the FwU procedure.
Playback error can also be due to various parasitic sound causes:
- Touching the cable
- Sound-generating features of your phone or computer (alarms, key-click, …)
- Audio “enhancing” features – that you may not be aware of – e.g. equalizer, 3D-effect, …
- Some power saving feature that affects the audio playback
- Surrounding noisy modules, bad electrical grounding or modular supply noise
Try a different playback device; older ones tend to lack the “audio enhancing” features that hamper the audio stream. You could also try using a dedicated USB/audio adapter.
Quick overview
The Two Bits presents two sections that can be used independently or chained internally for more versatility against using external patching. The functions offered can be split in 3 categories:
Logic category | Functions | User setting | Section |
---|---|---|---|
Simple logic | AND, OR, XOR | None | Both |
Advanced logic | S/R, -A&B | None | Section 1 |
Rise to Pulse, Fall to Pulse, Edge to Pulse | Pulse length | ||
Gater (Gate merger) | Gap length | Section 2 | |
Vote | None | ||
CV functions | Random | Max chance % | |
Comparator | Threshold | ||
Divider/Multiplier | Ratio | ||
Delay | Duration |
The Chain button allows chaining the two sections and invert the chained
signal. Chaining takes the output signal from section 1 and connects it to
section 2 as a 3rd input or an output control depending on the function in
section 2. Invert selects the normal or inverted output.
The Set button is about adjusting the continuous setting present in various
functions. (e.g. pulse duration)
Normal and Inverted output signals
Complementary logic is always simultaneously available (e.g. OR and NOR) on
separate jacks.
In this manual, this is not repeated everywhere.
Function descriptions always relate to normal (non-inverted) logic.
LEDs
All outputs have LEDs that indicate a logic level 1 when lit.
The white LEDs next to the potentiometers provides various feedback:
correlation between the potentiometer position and the currently active
function, direction of settings matching, and setting level. See details in
setting editing.
The Set LED is on during setting editing Chain and Inv LEDS indicate chaining
and inverted chaining.
Selecting a function
Function selection is done by turning the potentiometer.
When moving from a function to another, the white LED goes briefly off.
By default, the white LED is on when the pot is matching the function
currently active. This might not be the case during setting change. See
setting editing.
Input jacks
Inputs A and B can be used indifferently and work the same. However, when a
CV-related function is selected in section 2 (red labelling) input 2B becomes
a bipolar CV control.
Unconnected inputs
All unconnected input jacks are “cleverized” (made virtually missing to avoid
interfering with the function).
Output jacks
Outs 1 and 2 present the result of the currently selected function.
Inv 1 and 2 provide the opposite state of their related main out jacks (Out 1,
2). They therefore represent the complementary logic of the currently selected
option. (See further)
Oring of the outputs
It is possible to Or the outputs of the Two Bits without additional module or
processing. In practice, the signals generated by the module can be joined
together via a “multiple”, stackable jack, or any other passive patching
accessory normally used to distribute a signal over several destinations. Such
capability is only for the Two Bits, Klavis Logica XT or other modules with an
Oring feature.
There is no limit to the number of signals Ored that way.
In usage, as long as one of the signals joined is at level one, the end result
will be one.
Note that since the Main out and the Inv out are the opposite of each other,
joining them will result in a signal permanently stuck at one!
Chaining and port expansion
Chaining is activated by the Chain button; the yellow LED indicates when chain
is active.
The cascaded signal can be inverted by one more press of the Chain button.
The Invert blue LED indicates the inversion.
When chain is active
There are two possible use cases:
-
Function 2 is without CV capability
The out 1 signal becomes a virtual third input of section 2.
For example, selecting AND in section 2 offers a 3-input AND/NAND gate.
-
Function 2 is CV capable (red labelling: Random, Comparator, div/mult, Delay)
A virtual AND gate is created between the result of Section 2 and its output jacks.
The result of section 2 is dependent of the result of section 1; both section’s results should be at One for the output of section 2 to be at One. Consider that section 1 enables section 2 result.
Setting editing
Several functions offer a user-editable setting.
- In section 1, these are the 3 edge-to-pulse functions
- In section 2, these are the Gater and the 4 functions with CV.
Editing is entered by briefly pressing the Set button.
While the green Set LED is on, a function with a setting can be edited by
turning its section’s pot.
Note that if the functions in both sections have an editable setting, both can
be edited during the same editing session.
The white LED tells in which direction the current pot setting can be found by
creating a ramp up (turn right) or ramp down (turn left) animation. Once the
pot catches the actual setting, the ramp stops and the setting’s value is
reflected by the white LED’s intensity.
From there, the setting change is applied in real time.
When setting is done, pressing the Set button exits the editing; the setting
change is stored while the current function selection is maintained.
However, there is likely a visual discrepancy between the active function and
the pot’s cursor indication! Therefore, the pot must be brought back to the
current function (to “catch” it) before possibly selecting another function.
Here again, the white LED indicates the required pot movement by a ramp up or
down animation. Once the pot is at the right place, the animation stops and
the LED goes full bright.
Editable functions indication
Functions that present a user-editable setting are indicated by a regular
flash (or black blip) on the Chain LEDs:
- The yellow Chain LED for a function in section 1
- The blue (Chain) Inv LED for a function in section 2
These LED indications do not affect the status of the Chain/Inv setting.
Unconnected inputs
All unconnected input jacks are “cleverized” (made virtually absent to avoid
interfering with the function).
Logic terminology
There is a correspondence between the various terms used when dealing with
logic.
Logic | 1 | 0 |
---|---|---|
State and LED | On | Off |
Voltage presence (positive!) | Yes | No |
Level | High | Low |
Rising edge: change from low to high
Falling edge: change from high to low
Edge: any change above
Logic voltages
Logic signals are represented by a voltage or lack of it. In the modular
world, any gate, trigger, clock and even square output from an LFO or VCO can
be considered a logic signal.
Logic functions are the interaction of logic signals. Logic functions do not
respond to amplitude nuances in the way analog signals do. Nevertheless, they
obey to electrical ranges and levels. Logic signals are normally positive
only; negative voltages are ignored and interpreted as zero. Typically, a
voltage close to zero volt will be considered logic 0 (off) and a voltage of
at least a few volts will be seen as logic 1 (on). Incoming voltages can go
beyond or below what are valid one and zero without any problem. In other
words, you can’t go beyond On when it’s already On!
Therefore, it is perfectly valid to drive this module with almost anything,
including analog signals from any source. Moreover, you are not limited to
“squary” type signals; any wave shape can be used as a logic source signal.
For example, passing the saw wave output of an oscillator through an OR
function will create pulses since only the positive half of the wave will be
accepted, and within that half, only levels high enough will produce a logic
one on the output. So, changing the amplitude or the voltage offset of the saw
will change the width of the resulting pulse: saw to PWM waveshaping !
Simple logic functions available in both sections
These are also known as combinatorial logic, or Boolean logic.
Or & Nor
The main output goes On when at least one input is on. OR is the logic
equivalent of a mixer: if there is something being On at any input there’s
something coming out (On).
And & Nand
The main output goes On when both inputs are On. AND is somehow the logic
equivalent of a VCA where one input has to be On for the other to pass
through. The difference being that, contrarily to a VCA, all inputs are
simultaneously controlling and controlled.
Xor & Xnor
This logic works like OR, except that the output goes Off when both inputs are
On.
Xor is typically used as a controllable inverter.
When chaining is active, an unusual 3-input Xor is implemented in Section 2.
Its results are different from chaining a pair of 2-input Xor gates. See
table:
Section 2 inputs | Out jack = Xor | Inv out jack = Xnor |
---|---|---|
All low | low | high |
One or more high, but not all | high | low |
All high | low | high |
Functions unique to section 1
SR (Set/Reset)
This function creates a toggle activated by the two inputs: Input A is Set,
input B is reset.
A rising edge on A sets the output; a rising edge on B clears the output.
Additional pulses on the same input have no effect on the current state.
-A &B (Minus A And B)
“Minus A” means inverted A.
This function is useful when an And or an Or is needed where one of the input
signals comes with the “wrong” polarity.
This function can fulfill the And and Or roles by using the normal or inverted
output.
If you feel lost by the explanation, simply refer to the table hereafter.
In 1 | In 2 | Out | Inv |
---|---|---|---|
A | B | X | -X |
0 | 0 | 0 | 1 |
1 | 0 | 0 | 1 |
0 | 1 | 1 | 0 |
1 | 1 | 0 | 1 |
For the techie in you awaiting the illumination: Using the normal output, this is a 2 input AND gate with an inverter at input A.
Using the inverted output, the function can be seen as A OR –B, which is an OR gate with an inverter at input B
Alternate
This is an edge-controlled logic function.
When one of the inputs sees a rising edge arriving:
- That incoming signal is allowed to pass through till its end (its falling edge)
- The other input is ignored (disabled)
When the currently active input sees the falling edge of the allowed signal:
- The output goes low
- That input disables itself
- The other input becomes enabled (= allowed to check for a rising edge)
The roles between the two inputs are now inverted
Note: if an input was already at level one before becoming enabled, the signal is not passed through as there was no rising edge detected!
Start condition
At power up and when first selecting the function, both inputs are initially
allowed to be first to detect and pass a signal.
Pulse on rise (up arrow), fall (down arrow), change (u/d arrows)
These 3 functions are variations of the same.
They all create a positive length-adjustable pulse (each variation has its own
duration setting).
They only differ in what they react to:
Function | Pulse when detecting | Does not react to |
---|---|---|
Pulse arrow up | Rising edge | Falling Edges |
Pulse arrow down | Falling edge | Rising edges |
Pulse arrow u/d | Any edge | Always react to all edges |
Another active edge arriving while the out pulse is ongoing retriggers the
timer, thus extending the current pulse.
The pulse duration setting is arranged in two consecutive segments each
covering one half of the pot course:
- short: 1 to 20ms
- long: from 21ms to 10 sec
Functions unique to section 2 (with no CV)
Gater (Gate merger)
The Gater combines the inputs as an Or function does, but also retriggers the
output every time a new gate starts while the output is already active.
The output signal reflects the duration of the incoming gate signals.
The user-adjustable setting determines the duration of the retrigger gap; the
lengths available are the same as in Pulse functions hereabove. When used for
gate merging, the Gater gap will be set as short as possible to minimize
retriggering delays. The reason to extend the gap is for modules possibly not
retriggering when the gap is too short.
Vote
A majority of the active inputs should be at, or reach a common value for the
output to reflect that value. In other words, the inputs have to agree for the
output to take that value. When the inputs disagree, no change occurs.
With two active inputs:
Inputs | Output |
---|---|
A ≠ B | Don’t change the current state |
A = B = 0 | 0 |
A = B = 1 | 1 |
When section 2 has its 3rd input active, we have a standard majority vote:
In A | In B | In C | Out |
---|---|---|---|
0 | 0 | x | 0 |
1 | 1 | x | 1 |
Note: x can be any state
In the table above, inputs A, B, C naming is an abstraction of In 2A, In 2B,
and virtual In 2C, that can be swapped in any order.
Functions unique to section 2 (with CV)
Since input 2B becomes a CV input, there’s a single logic input (2A).
Random
When a rising edge is detected at input 2A, the maximum chances to pass the
signal depends on a random percentage:
- If not allowed, the output remains low
- If allowed, the signal is passed through entirely until it ends (= up to its falling edge)
The random allowance is user adjustable between 1% and 99%; the CV allows altering that setting in real time.
Delay line (DEL)
The incoming signal is delayed in a FIFO way (first in, first out). It means
that a string of pulses can be delayed with respect to their individual timing
and spacing. Thisfunction is more than a basic “single pulse delay”.
The delay setting on the pot is user adjustable and arranged in two
consecutive segments: one for short settings (1 to 20ms) followed by one that
goes from 21ms to 10sec).
The sample rate is 1KHz, implying a resolution (precision) of 1 millisecond.
Comparator
This function offers a real analog comparator. The two analog sources are
input jack 2B and an internal user-adjustable value. The voltage on input 2B
is compared against that setting which covers the same span as the input
signal (+/-5V).
When the incoming voltage is higher than the user setting, the output is true.
Input 2A, when high, inverts the comparison logic (voltages lower than the
setting make the output go true). When not connected, input 2A is considered
at zero.
Div/Mult
This function allows dividing or multiplying a regular incoming clock. The
ratio of division/multiplication can be changed on the fly by a CV.
There is a total of 9 different ratios available: /16, /8, /4, /2, x1, x2, x4,
x8, x16 The default ratio is user adjustable and can be altered by a CV; a
positive CV changes the ratio to faster output rates; a negative one to slower
rates.
Ranges and timings in Div/Mult
For useability, the output pulses and off states cannot be shorter than 1
millisecond.
With the fastest multiplication at 16X, the maximum incoming clock rate is
thus 31.25Hz (= above 1800 BpM). When the incoming clock is beyond that rate,
there is garbage out.
Comparison between Two Bits and Logica XT
| Two Bits| Logica XT
---|---|---
Module width| 5 hp
Logic sections| 2| 1
Inputs| 2 x 2 jacks| 3 jacks + 1 button
Chained sections| Yes, with virtualized 3rd input in section 2|
Outputs| 2 x 2 (normal, inverted)| 3 (normal, inverted, div/2)
Outputs direct ORing| allowed
Input logical inversion| | Yes, on the manual button
Total different functions| 15| 12 + 2 forced states
CV control| Changes a setting in 4 functions| Selects a function among 8
FUNCTIONS
AND/NAND| Yes, simultaneously
OR/NOR| Yes, simultaneously
XOR/XNOR| Yes, simultaneously
Gater (gate merger)| Yes, retrigger gap adjustable
Gate to Trigger/Pulse| Yes, duration adjustable
Divider (multiplier)| Yes, div/mult ratio adjustable + CV| Yes, div/2 output
Random pass-thru or Coin throw| Yes, random % adjustable + CV| Yes, Coin, with
combinable ratios from 3 inputs
Delay line| Yes, duration adjustable + CV| Yes, adjustable / ext clock
Set/Reset| Yes| Yes, + toggle clock in
One high logic| For 2 inputs = XOR| Yes, also for 3 inputs
One low logic| For 2 inputs = XOR| Yes, also for 3 inputs
Even| For 2 inputs = XNOR| Yes, also for 3 inputs
Locker sequence| | Yes, in 3 steps
Digital S/H| | Yes, combined with delay
Forced zero| | Yes
Forced one| | Yes
– A AND B / A OR – B| Yes|
Voltage comparator| Yes, CV in, threshold adjustable|
End of gate to pulse| Yes, duration adjustable|
Start + End of gate to pulse| Yes, duration adjustable|
Majority vote| Yes|
Alternate right to talk| Yes|
Specifications
Mechanical
Dimensions | mm | inches | Eurorack compliance |
---|---|---|---|
Height | 128.40 | 5.06 | 3HE |
Width | 25.20 | 0.99 | 5HP |
Depth behind panel | 21.00 | 0.83 |
Supply
The supply socket is protected against reverse insertion.
Supply rail | Current draw |
---|---|
+12V | 31 mA |
-12V | 1 mA |
+5V | 0 mA |
Input/output
All inputs and outputs can withstand signals between -12V and +12V without
harm.
Jack | Effective voltage range received or generated |
---|---|
CV control input 2B | -5V to +5V |
All outputs | 0 or 10V (logic levels) can be Ored electrically |
Input low to high change | 1.8V or higher |
Input high to low change | 1.4V or lower (incl. negative voltage) |
Signals
Parameter | Values |
---|---|
Frequency range | DC to beyond audio |
Packing list
The box contains:
- Two Bits module
- 2x M3 black mounting screws + washers
- Eurorack-compliant 10/16-pin supply cable
Klavis products, including PCB and metalwork, are designed and manufactured in Europe.
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>