MIDIbox CV V2

Created 2012..14

MIDIbox CV V2 is the successor of MIDIbox CV V1 with focus on digital, high-resolution modulation of CV outputs and an enhanced control surface.

This project is currently under development, please follow the progress in this forum article and feel free to contribute with your ideas!

Here a video which has been created with an early prototype:

Below you will find some preliminary informations:

Concept

* Key features

  • Running on a MBHP_CORE_LPC17 (legacy) or MBHP_CORE_STM32F4 module (recommended once PCBs are available)
  • MIDI messages received and sent over multiple (traditional) MIDI IN/OUT ports, USB-MIDI and OSC (Ethernet)
  • limited to 8 CV output channels maximum
  • Up to 64 gate outputs, which can also be used as drum triggers (with configurable pulse width).
  • DIN Sync interface with Start/Stop and 7 Clock Outputs (clock dividers are configurable individually)
  • Various modulation and sequencing functions (see separate list below)
  • Control Surface with graphical LCD support (see separate list below)
  • Remote Control via Lemur, running under iOS
  • Patches stored on SD Card

* Available functions for each CV channel

  • typically 12bit outputs with common MBHP based AOUT modules. Internally working with 16bit
  • Volt/Octave (positive and negative) and Herz/Volt characteristic
  • configurable slew rate to "smooth" the output curve (e.g. if controlled only by 7bit CCs)
  • selectable MIDI port (USB/MIDI/OSC), can also listen to multiple ports
  • selectable MIDI channel and keyboard range (if it listens to MIDI notes)
  • can listen to MIDI Note, Velocity, Aftertouch, CC, NRPN (14bit), PitchBender (14bit)
  • Portamento, Glide, Glissando
  • Octave Transpose, Semitone Transpose, Finetune, Pitch Range for incoming PitchBender events in MIDI Note mode.
  • Legato, SusKey (fingered portamento)
  • Poly chain mode to combine multiple CV for controlling multiple VCOs
  • Arpeggiator with Up/Down/Up&Down, Random, etc. modes. Options: Sort, Sync, Oneshot, Constant Arp Cycle rate, Easy&Expert play, Speed and Gatelength.
  • 303-like Bassline Sequencer with up to 32 steps and 8 sequences. Supports also Glide and Accent
  • 2 LFOs with Amplitude, Rate, Delay, Phase and predefined modulation targets CV output, LFO2/1 Amplitude, LFO2/1 Rate, ENV1/2 Rate.
    Various waveforms such as Sine, Saw, Pulse, Random, Positive Sine/Saw/Pulse, etc. Works in "slow" (0.008..44 Hz) and "fast" mode (up to 440 Hz). Supports also Key Sync, MIDI Clock Sync and Oneshot
  • 1 simple ENV with Amplitude, Delay, Attack, Decay, Sustain, Release and predefined modulation targets CV output, LFO2/1 Amplitude, LFO2/1 Rate,
    Supports Linear and Exponential curve.
    Works in "slow" and "fast" mode. Supports also Key Sync, MIDI Clock Sync and Oneshot.
  • 1 multi-stage ENV with Amplitude, Offset, Rate, 16 steps with selectable loop and sustain step and predefined modulation targets CV output, LFO2/1 Amplitude, LFO2/1 Rate.
    Supports Linear and Exponential curve.
    Works in "slow" and "fast" mode. Supports also Key Sync, MIDI Clock Sync and Oneshot.
  • 4 Modulation Matrices with two sources (incl. constant values), two destination paths (invertable), and operations such as +, -, multiply, XOR, OR, AND, MIN, MAX, <, >, Equal, Sample&Hold

* Control Surface functions

  • a "Standard Control Surface" (SCS), compatible to various other MIDIbox projects, which gives (a cumbersome) access to all parameters.
  • the display used for the SCS can either be a 2x20 character LCD (CLCD), or a 128x64 graphical LCD. The graphical LCD will also print a scope!
  • support for 4 OLEDs which are used as scopes! CV channels can be assigned to the scope displays individually. Selectable oversampling rate and trigger level.
  • all parameters are also bidirectionally accessible via NRPN, this is demonstrated by a sophisticated Lemur template, running on an iPad. A PC/Mac based solution (e.g. based on Ctrlr) is feasible as well
  • user configurable buttons (up to 32)
  • user configurable rotary encoders (up to 16)
  • optional LED rings for encoders

* Additional features:

  • MIDI Router with 16 nodes
  • MIDI Monitor for all ports

Planned/Requested Features

  • support for up to 8 fast scanned analog inputs at J5A and J5B which can be used in the modulation matrix for modulation operations (note LPC17 will only provide 6 inputs, since J5B.A6 and A7 are used for MIDI3)
  • 8 sync inputs for all CV channels
  • a clock sync input which will then be transfered into the divided (or multiplied) clock outputs
  • force-to-scale with selectable keys (no predefined scales)
  • patch morphing

Hardware

* Core Module

The brain of MIDIbox CV V2 is one of following core modules:

* SD Card

MIDIbox CV V2 stores patches and configuration data on a SD Card. For MBHP_CORE_LPC17 it will be required to build an adapter, the MBHP_CORE_STM32F4 has an on-board SD Card slot!

* CV Outputs

Following MBHP based modules are recommended:

  • MBHP_AOUT: was the first AOUT module, and is still popular, although the two MAX525 makes it expensive.
  • MBHP_AOUT_NG: the preferred AOUT module, which uses the TLV5630, and also provides a bipolar option for +/- 5V

* CV Gates

The 8 CV channels have dedicated CV outputs which can be assigned to a shift register of a MBHP_DOUT module. By default, they are assigned to the first shift register in the SRIO chain, but the assignment can be changed in the DEFAULT.CV2 file which is stored on SD Card.

Note that the gates are assigned from the left to the right output pin, accordingly:

  • Gate of CV1 is available at the D7 output
  • Gate of CV2 is available at the D6 output
  • Gate of CV3 is available at the D5 output
  • Gate of CV4 is available at the D4 output
  • Gate of CV5 is available at the D3 output
  • Gate of CV6 is available at the D2 output
  • Gate of CV7 is available at the D1 output
  • Gate of CV8 is available at the D0 output

TODO: add interconnection diagram.

In addition, it will be possible to assign up to 7 additional shift registers for gate outputs which are unrelated to the CV channels. Note values, channel and port are free assignable, and it's also possible to specify a pulse lenght for the case that the outputs should be used as drum triggers.

The gates are switching between 0V and 5V level, and should be protected with a serial 220 Ohm resistor (already part of the MBHP_DOUT module)

* DIN Sync outputs

Another MBHP_DOUT based shift register can be assigned to DIN Sync outputs:

  • D7 outputs a Start/Stop signal
  • D6..D0 output clock #1..#7 with individually configurable clock dividers

The signals are switching between 0V and 5V level, and should be protected with a serial 220 Ohm resistor (already part of the MBHP_DOUT module)

TODO: add interconnection diagram.

* Sync inputs

Not implemented yet... they will require a dedicated assignment of a MBHP_DIN based shift register.

The inputs have to be protected against too low/high voltage ranges with diodes against ground and 5V.

TODO: add interconnection diagram.

* CV inputs and potentiometers

Not implemented yet... they will require a dedicated assignment of a MBHP_AINSER8 based analog input.

The inputs have to be protected against too low/high voltage ranges with diodes against ground and 5V.

TODO: add interconnection diagram.

* SCS

The optional Standard Control Surface (SCS) allows to edit some (but not all) configuration values without the need of a computer.

A detented rotary encoder and 6 buttons are directly connected to J10 of the core module to control the menu system:
Schematic of the Standard Control Surface
In addition a 2x20 LCD or a 128x64 graphical LCD is required.

The MIDIO128 and MIDIbox NG project use the same control surface, which means that users who built a MIDIO128 or MBNG can upload the MIDIbox CV firmware and control it with their existing hardware, and vice versa!

* Scope displays

Up to 4 SSD1306 based "scope displays" can be connected to display CV output waveforms with a selectable oversampling rate and trigger level:

Interconnection diagrams:

Note: certain PCB breakout boards for this OLED have a different pinning, please check the datasheet! TODO: document at least one alternative connection diagram for different pinning!

* Dedicated Buttons

Up to 32 free assignable button functions are available. The buttons have to be connected to a MBHP_DIN module, and can be assigned to functions in the DEFAULT.CV2 file.

* Rotary Encoders and LED Rings

Up to 32 free assignable rotary encoder functions with support for LED rings are available. The encoders have to be connected to a MBHP_DIN module, the LED rings to four shift registers of a MBHP_DOUT module.

A complete frontpanel PCB with encoders, LED rings, DIN and DOUT shift registers has been created by Fairlightiii and is documented at this page. Up to two LRE8x2 are supported by the firmware.

* iPad + Lemur

The Lemur based control surface gives you full remote access to MIDIbox CV V2! I used it during the development phase, and maintain it frequently (to test new features), therefore it's the reference for full parameter access. If you don't own an iPad yet, you could buy it second-hand via Ebay; even an iPad of the first generation (search for iPad1) will work with a sufficient performance!

Lemur is available at iTunes for ca. 25 EUR, and it's definitely worth the money. Especially due to the scripting capabilities I was able to create sophisticated control panels which communicate via NRPN parameters (= 14bit value range) bidirectionally! Means: the parameters used by MIDIbox CV V2 are in sync with the panels!

The .jzml file for Lemur is part of the installation package, and can be found in the lemur/ directory.

* Frontpanel PCBs

Currently under discussion, see the forum thread for further details.



Last update: 2023-11-04

Copyright © 1998-2023, Thorsten Klose. All rights reserved.