Trevor Page's MIDI-to-CV Converter

This simple MIDI to CV converter design was produced during the summer for use with my dual TB303 project. In addition to the usual Gate and Pitch CV as you would expect from a basic MIDI to CV converter, it also provides Accent and Slide outputs- useful if you want to use it with a TB303 clone. A second CV is also provided (CV1) which can be assigned in the firmware to provide velocity, aftertouch or controller information etc.

The design is based around the very familiar 16F84 PIC microcontroller (4MHz version). This must be preprogrammed with the firmware for this project which is downloadable from this page. I can also supply pre-programmed PIC's for this project.

The basic specifications for the converter are:

The component layout of the converter is quite simple and is easily modified. Some may wish to use a different DAC, voltage reference IC, or Op-Amps. The diagram I have provided here is only intended for guidance.

Operation of this MIDI to CV converter is very straightforward. The MIDI channel is set via the four switches S1 - S4. These are intended to be mounted on the board. Where S1 is the switch connected to RB0, channel selection is as follows:

ChannelS4,S3,S2,S1ChannelS4,S3,S2,S1
1000091000
20001101001
30010111010
40011121011
50100131100
60101141101
70110151110
80111161111

To calibrate the circuit, first send note C0 via your sequencer. The offset voltage preset is then adjusted until the Pitch CV output produces exactly 0 volts. Then adjust the scale preset to give a range of 1V / octave, i.e. note C6 will produce 6V etc. The second CV output, CV1, produces a voltage between 0 to 10V and what it actually responds to depends on the firmware.

The gate, slide and accent outputs all provide 5V in their 'on' state. Slide is activated when two or more notes are held, i.e. to give a portamento effect of your synth has it. The accent goes high simply when the last note struck has a velocity greater than 100.

The design uses a dual DAC made by Analogue Devices, the AD7528. This relatively inexpensive device contains two matched eight-bit DACs. It has to be said that this type of cheap'n'cheerful DAC is a bit of a compromise since it is not wonderfully accurate. Personally, I am happy using it for bass use in my synth. Some may, however, find its performance to be totally unacceptable and will wish to use something a bit better, such as a 12-bit DAC for example. A single DAC could be used if only the Pitch CV is required.

Source code for this project is available for download below. It is provided in the MPASM format. If you would like a pre-programmed PIC containing firmware for this project they are available from myself at 12UKP each plus 1.50UKP postage and packaging. Please email me for more information.

For those of you who are familiar with the MPASM language, tailoring the firmware to suit your own needs should not be too difficult. However, I am producing a number of variants of the firmware. Hopefully you might find one that meets your own requirements. If you really get stuck or have questions regarding the firmware then email me. All criticism and comments are welcome.

WARNING: USE THE INFORMATION PROVIDED HERE AT YOUR OWN RISK. I CANNOT BE RESPONSIBLE FOR WHAT YOU DO WITH IT! THE INFORMATION SUPPLIED ON THIS PAGE MAY NOT BE USED FOR COMMERCIAL PURPOSES!

Firmware VersionDateDescriptionText FileMPASM .asm Source File
rx1.303a.asm6/10/99As used in the prototype circuit. Specifications are as given above. CV1 responds to controller #100.soon[attachment:rx1_303a.asm rx1_303a.asm]
rx1.303b.asmsoonAs above, except CV1 provides note velocity informationsoonsoon

[attachment:MIDITOCV.GIF Schematic of MIDI-CV]

All material is Copyright 1999 by Trevor Page. No use without permission! For the latest information on this project, please visit Trevor Page's website:

[http://introspectiv.org/ Introspectiv]