I built a MFOS Mini Synth Mark II.
For my other Synthesizer I use the MCV876 from Marc Bareille, which has more features, but also has the tendency to crash with some reasons.
I'm still searching for the problem.

So a different interface was needed, and I found a project based on the Atmega 168 uC. It is based on a project from Wolf Schuster
http://wolf.schuster.ws/?page_id=156 (It's in German )

I added the DIP Switch, fixed some bugs in the Software and created a PCB file.

All Outputs are set to 5V but can be easily increased to 10V by editing the Software. For the Power Supply +/- 12V are needed.

For the Panel i used Aluminium Dibond (direct UV Print, 3mm)
There is also the technique of printing on photo paper and using a foil (lamination) to stick it to the aluminium dibond. But i ordered a sample and it wasn't so hard and didn't look good. The foil will also come off if you drill many holes.

This is the PCB, but the DIP Switch must be vice versa. The settings are explained in the Code comments of the Firmware. It can be opened with the Arduino IDE.

The RAR File contains all the Eagle files, the Parts Layout, schematic, Code and PCB Layout (which is very tight, so if you think about using the Iron Transfer method for making your own PCB, you might have to change the layout size in eagle!):
http://electro-music.com/forum/download.php?id=35530

It should all work, i tried it and even a mass of fast Midi Input didn't crash it. But if you find any mistakes, please write me.
For the Future there could also be:
- Pitchbend
- DIN Sync Output for Roland Drum Machines
- Learn Button (Instead of the Dip Switch)
- A second CV/Velocity Output
- Controller Message Output

Faceplate.JPG

Description:

Filesize:

583.66 KB

Viewed:

289 Time(s)

This image has been reduced to fit the page. Click on it to enlarge.

Circuit.JPG

Description:

Filesize:

1.13 MB

Viewed:

219 Time(s)

This image has been reduced to fit the page. Click on it to enlarge.

Dibond.JPG

Description:

The Aluminium Dibond. 3mm is perfect for the Potentiometers and isn't very flexible at all!

@LFLab
Yes, the UV direct print is the best solution in my opinion.
I think it's hard enough for this application. I'm not sure if the colour will fade a bit whithin some years, but i think it should stay like this if not exposed directly to sunlight for years...

i have only glanced at the sketch for this, my understanding is that you pick what midi channel you want to transmit over to the DACs. do you think that it would be possible to extend all 16 channels with separate DACs for each channel(access through an analog switchs or rotary). I am aware the ATmega328 limit of 14 digital I/O pins, and 6 analog. the ATmega2560 has 54 digital I/O and 16 analog. that sounds like i could build something like this around that? also this sketch weighs in around 5.5kb what do you guys think the estimated size of said sketch? I/O stuff aside i do not think a sketch this size would fit on a 32kb micro controller...

Am i missing something simple? the last few days i have been full speed on Midi like its a new thing again. Hello world 2014

So do you want to receive and convert Midi at all Channels simultaneously?
Because you are writing that you want to use a rotary switch, and I don't completely understand for what?

If you want to use them in parallel, the sketch wouldn't definitely not become too huge for the Atmega328, and if you want to use 16 DACs you can chain them in an i2c bus, so they will only need 2 digital pins, like before.

But you should consider that the MAX Dac isn't so cheap, and depending on what you want to do, this is maybe an overkill. Do you want to control 16 Synths at one time? Or just switch lights or something else by midi?

So do you want to receive and convert Midi at all Channels simultaneously?

yes

Quote:

Because you are writing that you want to use a rotary switch, and I don't completely understand for what?

you are right i think i was getting ahead of myself with the rotary, I was thinking of a ways around the dip to enable active channels...

Quote:

If you want to use them in parallel, the sketch wouldn't definitely not become too huge for the Atmega328, and if you want to use 16 DACs you can chain them in an i2c bus, so they will only need 2 digital pins, like before.

this sounds good what needs to be changed in the sketch? And as for DACs i want to start with just two channels 1 and 2. and then add channels maybe thats when i started thinking about rotary encoders and what not haha.

Another option might be a multichannel DAC. I'm using the ATMega328 (Arduino Nano) to drive an 8 channel serial DAC through the SPI interface. Two of these DACs would require 4 digital pins - shared data and clk plus one enable pin for each DAC. Or you can just get a 16 channel DAC._________________My synth build blog: http://gndsynth.blogspot.com/

ok this makes sense I need to gather my thoughts and see if what i want to do is feasible. I looked at the sketch and now the DIP switch makes sense very clever, i might still build one like this but for what i am trying to work out it would make sense that it looks something like this :

R25 (3,3k) which acts as a pullup resistor in the Midi input section, right after the optocuppler can be left out. Because the Atmega 328 already has an internal 10k pullup resistor, so this would be too much in some cases (for example if the current provided to the LED inside the optocuppler by the MIDI input signal is too low, the phototransistor wouldn't switch properly and couldn't ground the signal with a too small pullup resistor...)

You should also replace R24 (220 ohm) with a smaller resistor. 220 ohm is often used in the Midi input schematics, but in fact for a 4N28 it is too high.
In the datasheet you can see that the 4N28"s internal LED needs 1.3V@50mA which gives a series resistor of 74 Ohms, so 100 Ohm works fine.

P.S.
This problem was only notable when I used my Midi Thru expander box (1 Input, 5 Outputs). It uses a schmitt trigger to buffer and sharpen the signal, but unfortunately schmitt triggers have a rather low output current, which was not enough to drive the optocupplers LED. with the reistor change it works again. I will also try to add a second schmitt trigger ontop of the first one (Parallel) for increasing the maximum Output current.

... and another bug in the code, where the Trigger wouldn't go low after a short time. I fixed that and uploaded a new rar package.

PPS:
If you are looking for a really clever designed and simple Midi -> device you should have a look at this:
http://mutable-instruments.net/modules/cvpal
I built it and it works very well. The DAC is doesn't even need a trimmer. Everything is calibrated by software, and even the non linearity of the DAC+Trimmer (higher notes tend to be slightly out of tune) is corrected by its software.

I had some trouble with the optocoupler recently, where some midi keyboards didn't worke with the circuit.
The problem is not the LED resistor, it's rather the fact that an 4N28 (passive) is crap in midi applications.

You should use an 6N137 or 6N138 which is an active coupler and requires a Vcc Connection.

I had some trouble with the optocoupler recently, where some midi keyboards didn't worke with the circuit.
The problem is not the LED resistor, it's rather the fact that an 4N28 (passive) is crap in midi applications.

You should use an 6N137 or 6N138 which is an active coupler and requires a Vcc Connection.

Hi capicoso, I also did this (You should change R4 to some higher value like 10k when using a stanalone microcontroler, because in this example pin 0 of the AVR on the arduino board is also connected to the USB Serial chip, that's why R4 has to be so low in this case)

The problem is that with a very cheap Midi Keyboard (Kawai Datacat) it still receives faulty Midi signals.

I tried to switch it to an 6n138, but it still fails (It's also too slow I think).

Weird, i thought the 6n138 was the "best" opto for this...
My modular has a mcv628 from bareille, it uses 6n136, and it worked with everything, until I bought a casio cz5000, with that one it doesn't work. On the other hand, my arduino sequencer has midi in for transpose, with 4n28 and it works with everything i have, luck i guess heh

+-15V should work fine (LF444 is rated at +-22V).
But you will get +15V as a gate out.

----

I wouldn't recommend this project, since the DAC are only 8-bit and the opamps' non-linearity is also a problem. Furthermore the MAX517 are so expensive now. With 8-bit resolution it could also be done with the Atmega328 and PWM+Low Pass Filter.

For a better Pitchbend (which is 14-bit) to CV convertion to MCP4922 (12-bit and cheaper) could be used. Together with a 5V reference and a opamp voltage doubler.

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot vote in polls in this forumYou cannot attach files in this forumYou can download files in this forum

Please support our site. If you click through and buy from our affiliate partners, we earn a small commission.