|Module ready to test (MRTT). If the module works OK for a couple of weeks I will create a FPE panel for this and ditch the front panel here.|
OK got rev one of the three boards back from China, got it stuffed and put behind a temp panel. It works! Holds tune for at least 7 octaves, I have trouble hearing the really high stuff no matter what but let's assume that works as well.
Ho-MORE DOH-KIE (about the design): I am using 3 interconnected PCBs to try to minimize hook up wire: a main board (3340 chip, buffers), an octave switcher (see previous post here--btw, the TI REF02 based add-one-volt-per-rotary-click seems to work great so far, guess I got lucky?), and a PCB to hold the "Thonk" type PCB 3.5" jacks. The Thonks connect to the main PCB with a 10 conductor IDC ribbon. The octave selector was supposed to mount to the front panel, but I melted my cheapo switches, so for this rev 1 prototype I used a clunky junk box NOS rotary switch wired to the board, post for the octave board madness is here.
OK, the main board is based on "VCO Maximus", another classic from the mighty Thomas Henry. Another good page on the Maxiums for Eurorack is here.
I chose this 3340 design vs. all the other ones out there because a guy I know in my synth meetup group already built a couple of these on strip board; he says Maximus works and sounds great. I omitted things like the sub octave circuitry and sine wave conversion from triangle; I already know how to do that, and have plenty of sine waves and sub oscs in my modular setup now, so these 3x VCO's will just be pulse, saw, and triangle. Good enough!
|Old trick: print out the PCB 1:1, lay it over the panel, tape it, punch it and drill. The drills will line up.|
OK so how did rev one of this module do? Considering that this is a pretty complex board, happy to say: not too bad; I got it all to work in about a day. I had to kludge things, I made mistakes, but so far everything but the sync in, which may be broken or just sounds crappy, is on the air. Update: sync is fixed. I had the DPDT switch wired wrong. It stays in tune, the waveforms look good on a scope, PWM, linear and FM mod all work. Happy day.
Also the pots turn the right way (clockwise for more of whatever), that's good. I was worried about that.
|"Obligatory Bench photo"|
|Almost ready to test?|
OK let me go over the mistakes. I document this (and everything else in my blog) mostly for me--if I write this down I might not keep making the same mistakes.
And for levity (?), instead of only bitching I am going to rate my mistakes with Homer Simpson DOHs.
First mistake: Four DOHs! the ramp wave output was busted, I just got a 15V DC at Output, no saw wave, no audio.
Using my scope I could see the saw out worked before the buffer, but not after.
But why, Scotty, why? I traced everything out--no mistakes. I pulled the SMD chip with a HAR and replaced it, same issue. Turns out I did a butt dumb thing: I had an op amp stage flipped, so what should have gone into inverting went into non-inverting. I missed this while translating the Maxiums schematic from the web to Eagle. I have been making this flub since I started laying out PCBs and I am a bit surprised I missed this when proofreading my work--well, I did. To sum this up:
|The moral: Always check Op amp + and - inputs. Get em backwards on stripboard, PCB, whatever, and the damn thing will never work.|
I fixed this by lifting parts, soldering components together above the PCB, and using hook up wire to put things back where they needed to go. After a day on my bench all of that broke (resistors detached from traces, solder connections shorting together, it was horrible) so I ended up creating yet another small daughterboard for the ramp buffer. So much for cutting down on hook up wire? not pretty, but it works.
Second mistake TWO DOHS: I used the "net names" feature in Eagle to connect a pulse pin connector to the jack trace, but I called the trace "PULSE" on one side and "8" on the other. Naming nets/traces in Eagle CAD can make your layouts easier to follow but you have to get it 100% right. When you incorrectly join nets, Eagle won't tell you you made a mistake--it will dutifully disconnect things and your board won't work the way you want.
Oddly I have never made this net names mistake before now, but Gabba gabba hey! This was fixed by cutting a trace and using a single 22 gauge kludge wire. Now I have a working pulse at output. Oh yeh, see how pin 10 is unused? Why didn't I put the ground on that? Instead I had to run a hookup wire for ground. I add that into the 2 dohs calculated. I will fix it next time.
|No, Elmo, these 2 traces won't connect!|
Third mistake: ONE DOH I forgot to connect ground to one of the pins of the rotary switch PCB. I will let myself off the hook on that, I was kludging stuff here to accommodate the NOS switch replacement for the bang good crapola rotary switches, and I just missed this. I also forgot to put a ground run into the 10 conductor ribbon. Wait, I already said that. Both easily fixed in rev 2. Yes there will be a rev2.
Fourth mistake: SIX DOHS! OK this one gets 6 out of five. I left the entire buffer for pulse out of the REV1 PCB design. I have no idea what I was thinking. Did I think it didn't need a buffer? Overall I wasn't looking at the Maximus schematic carefully enough I guess. I fixed this by digging into my junk box of tiny buffer PCB's and added the circuit fragment you see below as a daughter board to the main PCB. Since this was buffering a square wave I used a junk box CA3140, which may not have made any difference at all.
OK I think that's it. Last night I plugged in the new VCO and it worked very well. I may not make a lot of design mods for rev2, rather just all the fixes, but who knows. Stay tuned.