DIY SynthesizersInterfaces and sub-systemsAudio & Effects
Go to the HomepageWhat's up Doc ?Go to the Linkpagem.bareille


MIDI to CV-Gate Interface MCV-876




The MCV876 is a fast and accurate 8bits MIDI to CV/Gate interface
builded with a PIC16F876 or a PIC18F2320



  • 3 or 4 CV outputs + 6 Gate/Trigger outputs assignable to MIDI messages
  • Voltage range CV 0/+10V - Gate =0/+5V TTL logic 
  • 1V/Oct Pitch CV or Table of 48 independantly tunable notes
  • Midi Clock integrated with divide by N and sequencer Start/Stop/Continue Gate/Trigg
  • Trigger /Gate mode with adjustable pulse time for all Gate ouptuts
  • All parameters are editables by System Exclusive messages
  • "MIDI Learn" to setup quickly MIDI channel, reference note & controler
  • Flash Memory to keep config setup when power is off.
  • Config software (PC) available to edit MCV876's setup by SysEx messages
  • 12 bits mod possible for V/Hz synths like Korg MS series, see here
  • Two firmwares for PIC16F876(20MHz) : monochannel (v2.72) or multichannel (v3.06)
  • One firmware for PIC18F2320 (40MHz) : Multichannel and Polyphonic 2/4 voices (v3.06)
  • MIDI Remote Control unit / LCD panel to edit parameters without PC ...





 The MCV876 interface is builded with a PIC16F876 clocked at 20MHz. Digital to Analog converters are DAC0832 , DAC0831, DAC0830. They are good old industry standart low cost 8 bits DACs with latches.


3CV Outputs
4CV Outputs

The voltage reference is a REF01, more expensive than the TL431, but no need of trimmers & resistors to get a stable +10V reference voltage... For CV output amplifiers i suggest the a good old LM358 who the best quality/price ratio i have found for this application. Anyway most of classics dual amplifiers will work fine here. Best one here are precision ones with a low drift, low offset .

Trimmers near opamps are to adjust CV scale to 1V/Oct with a 0 to 10V range. They are options, but it is recommended to keep them for CVs output accurate calibration.

The MCV876 is powered in standart by +/-15V or +/-12V dc ( env 100mA conso) . It also work fine with asymetrical voltages like +12V and -3V ( ie : integration of the MCV876 into a Roland SH101 )

The PIC18F2320 upgrade ...

The 20MHz crystal is replaced by a 10MHz one. No other hardware changes.
The PIC16F876 is replaced by a PIC18F2320 with the MCV firmware v3.04 inside...

The 12 bit DAC mod ...

The DAC1231 is a 12 bits DAC pin to pin compatible with DAC083x. It is possible to use it in 12bits mode with a minor modification on the MCV876 pcb . Very simple to do. It also require a special firmware/software set ... Check the link bellow !


The MCV876's 12 bits version for V/Hz synths like KORG MS10, MS20...



Firmwares & config softwares

The main piece of code, the brain of the interface. Each firmware (*.hex) have his own MIDI config PC software (*.exe). Burn the Hex file into a PIC and use the config software to setup parameters.

Click here to know all about the last MCV876 firmware versions bug fixes and new features !

Archive file firmware v2.72 PIC16F876

firmware v3.06 PIC16F876

firmware v3.06 PIC18F2320
1,2 or 4 independants
1,2 or 4 independants
1 ,2 or 4 independant voices
1 ,2 or 4 independant voices
2 or 4 voices - 1 channel
2 or 4 voices -1 channel
1V/Oct or 48 notes table
Mode CC
yes, multichannel
yes, multichannel
20 MHz
20 MHz
40 MHz
96 bytes
256 bytes
'on the fly'
fast ITs
fast ITs
Remote Control
PC config software

The Led

It is a multi purpose led! At the first power on the led blink 3 times short + 2 long . It means "All is ok" ," no config found in Flash memory" and "config by default is loaded instead". It is an easy first boot feature. When config parameters are already set into the Flash RAM, the led blink just 3 time at power on. Then the led will monitor all incoming recognised MIDI status bytes.The led also blink 3 long times if the interface receive the "Write To Flash" sysex message. When this message is received, all MCV876 parameters are writen into the flash RAM. So the MCV876 can recall setup even after a long power off ... When the interface is in MIDI Learn mode, the led stay on, until a MIDI message has been received and learned by the interface.
The firmware V3.03 allow to exit the learn mode by pressing again the learn button .

"MIDI learn" switch

The most simple way to setup the interface MIDI channel and reference note /controler number

Here is how it works:

When you push the MIDI Learn switch , the led stay on and the MCV876 is in Learn Mode waiting to receive a MIDI message containing MIDI channel information. When a message arrive ( you play a note on the master keyboard for example) , the MIdI channel is extracted , compared to the actual interface MIDI channel and set to this new value if different. If the MIDI channel of the message is identical to the interface one, and if the message received is a MIDI note ON message, the interface extract the MIDI number of the note played and set this value as the reference ( base) note. This allow to transpose the MCV876 to any note on the keyboard. The reference note is the Lowest note the interface can play ( digital zero).

If the interface receive a MIDI controler message in "Learn Mode" instead of a Note message , the controler number is assigned to CV3 ( DAC2) output and writen to Flash RAM...


The firmware v2.71 PIC16F876 is mono-channel = all messages are received on an unique channel .The interface "Play-mode" define the CV/Gate 1 to 4 output setup and associated MIDI messages.

  • CV1+ Gate1 assigned to NoteOn/Off messages
  • CV2 , CV3,CV4 are assignable to controllers, velocity or PitchBend..
  • CV1 +Gate1 and CV2+Gate2 are assigned to NoteOn/Off messages
  • CV3 and CV4 are assignable to controllers, velocity or PitchBend..


  • CV1 to CV4 and Gate1 to 4 are assigned to NoteOn/Off message


  • CV1 to CV4 are assignable to Controllers, Velocity or PitchBend
  • Gate1 to Gate4 are assignable to Controllers or 4 fixed Notes ( one for each gate..

The firmware v3.03 PIC16F876 is Multi-channel.
The firmware v3.04 PIC18F2320 is Multi-channel and Polyphonic

Depend of the Play-mode 1 to 4 channels are available

  • CV1-Gate1 assigned to NoteOn/Off messages
  • CV2, CV3,CV4 are assignable to controllers, velocity or PitchBend..
  • Gates 2,3,4 are assignable to controllers.
  • One channel recognition
  • CV1/Gate1 and CV2/Gate2 are on channel N - CV1 assignable to MIDI notes
  • CV3/Gate3 and CV/Gate4 are on channel N+1 - CV4 assignable to MIDI notes


  • CV1 to CV4 and Gate1 to 4 are respecxtively on channels N to N+4
  • CVs or gates can be assigned to MIDI notes or controllers independantly.
  • CV1 +Gate1 and CV2+Gate2 are assigned to NoteOn/Off messages
  • CV3 and CV4 are assignable to controllers, velocity or PitchBend..
    PIC18F2320 only


  • CV1 to CV4 and Gate1 to 4 are assigned to NoteOn/Off message
    PIC18F2320 only

Gate outputs 5 & 6 are independant of the "Play" mode :

Gate5 is the MIDI Start/Stop output ( assignable to Controller, velocity with the firmware v2.72 only )
Gate6 is the MIDI Clock ouptut ( assignable to Controller, velocity with the firmware v2.72 only )


MIDI Clock & Sequencer Start/Stop

The MCV876 receive real time MIDI clock messages (0xF8) and Sequencer Sart/Stop/Continue messages . MIDI clock and Start/Stop are assigned to Gate outputs 5 and 6. The MCV876 also include a MIDI clock divider with a divide range comprised between 1 and 255. Pulses length are tunable for compatibility with most of analog drumboxes, sequencers ...

Pitch Bend

The Pitch bend is implemented :

Independantly assignable by software and sysex message to CV2,CV3 or CV4

Pitch bend is centered on digital data value 0x2000 = +5V ( half scale in 0..10V mode ).

If Pitch Bend is assigned to a CV output , this DAC do not receive MIDI controlers anymore

Pitch bend and Velocity can be combined freely one CV output

Pitch Bend DAC range is 0..10V by default.

How to use it ? To use CV output assigned to Pitch Bend with a 1VOct source , both signals should be mixed in analog domain with a gain of 1 for the 1V/Oct source and attenuation ratio of 1/10 or 1/20 for the Pitch Bend output The mixer stage can be an external module or a VCO summing stage ...It is also possible to "hard wire" the pitch bend on the MCV876 pcb by adding just one resistor. Here is the tip for the 3CV schematic, transposable to the 4CV version... It use J3 input and R5 as a summing resistor with OUT0 (J1) . Keep 100K for this value and scale the pitch bend range by changing R13 : 1M is generaly ok . 2M will divide the range by two...Another solution is to select resitors with a (rotative) swich to choose the range ...

Controller or Note messages to Trigg/Gate

Gate outputs (1 to 4) are assignable independantly to any controlers numbers or to a fixed MIDI note number when the MCV876 is set in "Controller mode" . This allow to trigg analog drumsynth modules with up to 10 control sources ( 4CV+ 6Gates...)

Note for firmware v2.72 only : the parameter "level" associated to gate1-4 output is a threshold value : if the controller value received is under this value the gate/trigger is not fired. Same thing if the Gate output is assigned to a fixed Note number, the "Level " become a Velocity threshold ...

Exclusive System

All MCV876 parameters are editable by MIDI exclusive system messages. They can be send by the PC config software or written/recorded into patterns on your favorite sequencer/midi editor sofware ( Mac User's...) . Sysex messages are also used by the MCV876 MIDI Remote Control Unit .

Here are 'formulas' and codes charts to write them by yourself ...

MCV876 MIDI system exclusive - firmware v2.7x (txt)

MCV876 MIDI system exclusive - firmware v3.0x (txt)


Remote Control Unit

To edit MCV876's parameters independantly of the PC software, or to avoid to send sysex codes +/-manualy, here is

the MCV876-RC remote control Unit




MCV876 users :

Custom Designed Interface Units for Synthi AKS and VCS3
designed by Steve Thomas (UK)

Clic on pictures for a direct link


The SEMTEX"XL" made by Anyware is fitted with
the MCV876-4CV MIDI to CV-Gate Interface




MCV876 pcbs+construction manual are available on order
Last update 18/03/2010

© Marc BAREILLE 2003-2010