Table of Contents

PS201 - MIDI to CV

UsbMidi/Midi to Controll Voltage converter is the interface that lets other computers, synthesizers and controllers integrate into the modular synthesizer world. While an old standard, Midi keeps its place as the universal data connector in synthesizer world, as well as for other creative controllers ranging from vj and dj controllers, to custom diy button banks, and media artworks.

Control voltage is the analog old school version of midi, where change in voltage means a change in pitch or some other parameter. One instrument is represented as a Volt/Octave output changing the pitch, Gate output telling if the note is on or off, and velocity output, changing the dynamics of the sound.

Our midi to cv offers two of such instruments, with additional midi clock to clock output, and two midi cc to cv output. The converter talks with both USBmidi and normal Midi via midi cable.

The converter offers:

It is powered over standard Eurorack power connector (+12V,-12V). A 12V powered box is also possible with adding an dc-dc converter in the box.

The Circuit is built around an Arduino Pro Micro controller, and a two channel precision digital-to-analog converter.


Hardware

Schematic

Midi In, Out or Thru:

Controll Voltage:

Board for Eurorack


ps201_-_midi_to_cv_12.ai.zip
ps201_-_midi_to_cv_printout_for_eurorack.pdf

USB powered board

ATTENTION! Powering this version with anything more than 5 volts will destroy the Arduino board IMMEDIATELY!

ps201_-_midi_to_cv_12-usb_powered.pdf
ps201_-_midi_to_cv_12-usb_powered_printout.pdf
ps201_-_midi_to_cv_12_usb_powered.zip

Faceplate


ps201_midi_to_cv_faceplate_02.ai.zip

Parts

—-

Software

MIDI to CV code

The MIDI to CV code for the Arduino Leonardo Arcore is here on Github:
https://github.com/dernulleffekt/midi_to_cv.git

Arduino IDE hack

ARCORE USB-Midi hack for the Leonardo. One has to modify the Arduino IDE to run MIDI over USB.
https://github.com/rkistner/arcore

Arduino MIDI Library

The Arduino MIDI Library v4.2 for Midi over TX/RX is here:
https://github.com/FortySevenEffects/arduino_midi_library


Installation Guide

How to setup Arduino IDE for uploading or editing MIDI TO CV software on …

LINUX
MAC
WINDOWS

*Download midi library from the link and unzip.

*Move MIDI folder to …/program files/arduino/library/

*Download arcore-master.zip from github and unzip.

*Move arcore-master folder into …/program files/Arduino/hardware/.

*Inside …/Program files/Arduino/hardware/arcore-master/hardware/ folder, you find two folders, aver and sam. They need to be moved up one folder to …/Program files/Arduino/hardware/arcore-master/

*Open Arduino software and select Arduino micro(archer) board.


Knowledge

The Arduino Pro Micro clone

https://www.sparkfun.com/products/12640

The cheap chinese clones don`t have the 3.3V converter on the board, they have a 5V converter. That means when powered over USB the Pro Micro runs on 4.7V. To close the jumper will avoid that (it´s next to the USB socket). But never power the Pro Micro again over the RAW input! Check the original sparkfun schematic for details.

LM4040c41 Precision Voltage Reference

Datasheet LM4040
Pinout:

Digital-to-Analog Converter MCP4922

Datasheet MCP4922

Filter

http://sim.okawa-denshi.jp/en/Fkeisan.htm
http://www.ekswai.com/en_lowpass.htm


Fast PWM

A super tutorial for the fast PWM on Arduino Leonardo:
http://r6500.blogspot.de/2014/12/fast-pwm-on-arduino-leonardo.html.
Due to the fact that the Pro Micro has no pin 11 or 13 I had to activate fast PWM on pin 5. It is the complementary channel A and thats why all values are 255 - value.

And here's the code:

void pwmSet5(int value)
{
 OCR4A = 255 - value; // Set the negativ PWM value
 DDRC |= 1 << 6; // Set Output Mode C6
 TCCR4A = 0x42; // Activate the complementary channel A
}
MIDI Library

Here are the links for the MIDI library for MIDI over the serial pins (TX, RX).
MIDI Library 4.2
MIDI Library Callbacks Description

MIDI Specifications

https://www.midi.org/specifications/item/midi-din-electrical-specification
http://www.midi.org/techspecs/midimessages.php

MIDI Bytes

http://dernulleffekt.de/midi/table1.html
http://dernulleffekt.de/midi/table2.html
http://dernulleffekt.de/midi/table3.html
http://dernulleffekt.de/midi/table4.html


Modifications

Clock Divider Switch (coming soon)
A board and code for adding a rotary switch for selecting midi clock division

Duophony (coming soon)
A modification to control two synth voices in a duophonic arrangement. A rotary switch is added to switch between two separate midi channels, unison, duophony and different voice stealer arrangements while in duophony mode.


License

The PS201 - MIDI to CV was designed by Wolfgang Spahn 2015-21.
It is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Creative Commons License