#8 - Check your manufacturers'/distributors' holidays

A project log for MAD 1.1 - Modular Audio Devices

An ecosystem of Eurorack modules that enable users to make studio quality MIDI/CV controls, audio interfaces and synths

Michele PerlaMichele Perla 10/06/2018 at 22:420 Comments

Hey there,

So, I failed hard: my to-go PCB manufacturer and main component supplier (both Chinese) had holidays just when I was going to order all the stuff for the new CORE revision, as well as for the 3 full analog modules I talked about in the previous log, and guess what? Boards and components are on their way, yes, but sadly they'll get delivered AFTER the Musical Instrument's challenge deadline.

What does this mean? For the sake of the project it's not a big deal because as long as I get my boards, everything's fine. For the Musical Instrument challenge, though, it means that I have to make whatever I can with the only prototype that I got available, a board that has design flaws and straight hardware issues in the most important part (the CV out), issues limit the amount of things that I can do with it; it also means that since I don't yet have any analog module with CVs to test, I can't really test and show the CV out capablities, like sending 1V/Oct signals to oscillators or sending envelopes to filters or amplifiers. Finally, a strange issue somewhere between the 2nd Teensy DAC pin, the MUX, the S&H circuit and the output buffer makes CVs 5,6,7, and 8 barely usable. So, I'm left with 4 CV outs with a limited voltage range (not the 10Vpp I originally intended), that cannot use the full 12 bit resolution of the DAC (because of wrong positioning of the gain stage in the S&H), and with no voltage-controllable stuff. 

So, I spent the last days implementing proper digital oscillators on the CORE, one of the many functions I'd like to have on the CORE in the future. At the moment each CV out is actually used as an oscillator output, and each oscillator is controlled by a different MIDI channel. 

I first implemented the 4 basic waves: sine, tri, saw, and pulse with pulse width control.

Then, I implemented a rudimentary single note handler, that I then evolved in a 8-note buffer for each channel, with pitch bend.

To test this setup I have a DAW that gets notes from a USB MIDI keyboard and sends them to the CORE via USB MIDI on several channels, while the CV/audio outs are connected to different channels of a mixer and finally the mixer stereo output is connected to two channels of an audio interface for monitoring and recording.

Because of the issues mentioned before, I only have 4 outputs coming from the CORE, but I repeat, the CORE's software is already handling 8 concurrent oscillators with MIDI-to-frequency conversion; the 4 broken outs are just not connected to anything.

Here's a quick improvisation (with issues) that I made with it (cheat: I'm using arpeggiators in the DAW on the 4 different MIDI channels since I yet have to implement one in the CORE). 

This video should act as my Hackaday Prize entry video / Musical Instrument challenge composition, In case I don't manage to make any more progress.

For reference, here are scope pictures of outputs 5,6, 7 and 8.

CV 5 output is stuck at 4 V, trying to output a voltage from the DAC may get just a small chunk of the least significant bits out, everything else is just saturated. I guess there's an issue in the S&H gain stage here.

CV 6 is just dead, it looks like the jack is connected to nothing. This could be a broken/not properly soldered buffer output resistor, but I double checked and everything seems alright; no idea.

CV 7 may look like it is working, and in fact here's it outputting a triangle wave, but when the adjacent CVs are also outputting something there are some more evident glitches here and there.

CV 8 is a mess :) unlike CV 7, which almost works as it should, CV 8 looks like the MUX is going out of sync and every other sample that should go to CV 5,6, and 7 appears here too. When outputting sounds on CV 5-6-7-8 at the same time, CV 8's output becomes a ghosting mess of all 4 channels mixed together. Here's CV 8 trying to output a sine wave.

Here's CV 8 again, with a smaller time scale.

And here's CV 8 with its adjacent outputs outputting (or rather, trying to output) 4 sinewaves at different octaves (the mess I was talking of just before)

See you next update,