Jump to content

[blog] MB-6582 - an 8xSID MB-SID synth


Wilba
 Share

Recommended Posts

Hi Razmo, long time no see!

I was talking about the v2 mod matrix recently, and how it would be great to have a 2x40 with a row of buttons under it in a 2U rack, maybe with the LED matrix and knobs... does it need to be 1RU?

As you'd have noticed, Wilba's layout is divided up nicely into base and CS PCB's, so you could design a new CS PCB and attach to Wilba's base and you're set. You might want to mod the base for MBNet (CAN) and maybe the IIC modules could go...

Link to comment
Share on other sites

  • Replies 94
  • Created
  • Last Reply

Top Posters In This Topic

Hi Razmo, thanks for the compliments!

The base PCB should fit in a 1U rack, and since it includes DIN and DOUT modules, you don't need anything else in the case. The control surface is my own specialized design that fits my case and is optimized for nice cabling between the PCBs. However, all the pins to connect to a control surface PCB are at the bottom edge of the base PCB, making it ideal for connecting to any components/PCB you mount to the front of a 1U rack.

I would suggest a 2x40 display & 10 buttons below it, in a "step B" control surface, and optionally at least five other encoders for assigned knob usage (a V2 feature). You will be spending a lot of time in the improved modulator matrix, which suits a wider display  ;D

I plan to update the PCB layout to support different types of SIDs, remove the now redundant IIC MIDI modules, and add the CAN bus between the PICs. However, I am still going to keep the use of the C64 PSU "brick" with it's 9v AC and 5v regulated DC, as this is a great solution, if people want to use a different PSU they can adapt it themselves. However, in your case maybe you can squeeze the transformer into the 1U rack and avoid using a C64 PSU "brick" or AC adapter.

Link to comment
Share on other sites

No new pics, too busy!

I can now report that J-B Weld is just amazing stuff, and has stuck the threaded spacers to the front panel perfectly. I can't pull them off with pliers and a good amount of force, so 22 of them are definiately not coming off through pushing on the buttons  ;D

The other unknown I had was whether soldering the LEDs using the panel as a guide would work, and the answer is yes. By soldering the switches first, it was easy to solder the LEDs so they were all at the same height as the tops of the switches, as the tops of the switches held the panel off the table and the LEDs would poke through the panel only by that amount. Once all the LEDs were soldered, it's easy to reassemble the panel and PCB again... even easier than when there were just the switches on the PCB!

I've also given up on shortening the 13mm tactile switches above and below the display, the ones that go on the little PCBs that sit above the display's PCB. I just bought some 7mm ones and they should look a lot better.

Link to comment
Share on other sites

I can now report that J-B Weld is just amazing stuff, and has stuck the threaded spacers to the front panel perfectly.
No doubt....I had to change the cam sensor on the wife's car (inside the engine), changed some extra stuff while I was in there, and did not realize the new timing chain tensioner pin was 2mm too long (wrong part from the dealer).  The pop I heard when threading the 20 odd bolts in the cast aluminum crankcase cover was the cover breaking, splitting all the way across.. :( 

This cover has several important functions, including holding in the oil and acting as the body for the oil pump.

I'm thinking no worries, it's a common old engine, I'll get one from a salvage yard....after a few hours on the phone the best I could do was $250 -if- I pulled it myself (3+hours work) or $400+pulled.  grrrrr......

It was late so I could not get the part until morning, so I proceeded to JBweld the cover together, not expecting it to work, mostly for entertainment since I could not finish up. 

The next day I removed the clamps and was astounded by the strength of the "fix".  Way stronger than the metal I was bonding! 

Still in shock I was able to grind/lap/polish the cover back to spec....still no leaks and that was 3 years ago.

Whoop sorry for the long story......  :)

Wilba have you thought about trying a "T nut" instead of standard spacers?  They are uber-cheap, have much more bonding surface to work with, and cut easily if needed.

Best

Smash

Link to comment
Share on other sites

Smash: I considered most other options, like a standard hex nut and a flat-head/countersunk screw... they would all work, but the advantage of the threaded spacer is it holds the PCB exactly 10mm away from the panel. All other solutions would require some other means of holding the PCB apart from the panel (only the switches around the display touch the back of the panel). There appears to be plenty of bonding surface on these spacers anyway, as I can't pull it off by hand with a vertical force  ;D I suppose bending it sideways might eventually tear it off but I'm not going to try that. Seems good enough for my purposes.

The other advantage of threaded spacers is you can mount them to the PCB first and then glue them  all to the panel in perfect alignment.

Link to comment
Share on other sites

Hi Wilba!

Nice work! I was wondering about the prototype PCB on the first page of this topic. How many layers did you use? Is it done with 2 layers (top, bottom?). Where did you fabricate it and what did it cost?

I also noticed that you let both SID's on each core share the two multiplexers. Isn't this a limitation for more polyphony? I assume that both SID's always play the same patch...

Another question I have is about PCB design in general. In most schematics each power pin of an IC has a decoupling capacitor next to it to prevent noise from a change in power consumption of the IC on the power rails. How important is it to have these capacitors close to the IC in the final PCB layout? The reason I ask, is because I have seen the inside of some commodores and on some MainBoards all decoupling capacitors seem to have been put together in a corner of the board. Doesn't this cancel the effect that these capacitors should have?

Another thing I was wondering about, is how you wired the power rails on the prototype PCB. Did you somehow force a daisy chained connection to all modules on the board? Or did you simple let Eagle choose the best routing?

Greetings,

Rutger

ps. I hope i'm not stealing your thunder, but I'm working on something similar. For my own use I want to make a 8x SID board with 4 cores (V2!). I would like to use the 8 SID's as a 4-voice polyphonic stereo synth or a 8-voice polyphonic (but mono) synth, or maybe even a multitimbral synth. Behind each SID i'm building a cheap version of the Rick Jansen Moog filter, controlled by AOUT_LC modules. I'm considering to modify the filter with some voltage controlled distortion and maybe a VCA after it (but this is a bit redundant since the SID's have their own VCA. The only reason for it is to shut-up the filter when it's self oscillating).

Link to comment
Share on other sites

Nice work! I was wondering about the prototype PCB on the first page of this topic. How many layers did you use? Is it done with 2 layers (top, bottom?). Where did you fabricate it and what did it cost?

It's a 2 layer board, fabricated by Gold Phoenix, the whole job cost US$130 because I combined the two (actually four) different designs in one order, it's a base of US$90 for 155 inch sq. + US$30 for "multiproject" (different designs) + US$10 extra shipping to Australia. So it works out as US$65 for the base PCB, and US$65 for the control surface PCBs. I think I mentioned this before somewhere else in the forum, but I was lucky to get duplicates, and have given TK my spare base PCB. So if people wanted just the base PCB, it could cost as little as US$90 for two.

I also noticed that you let both SID's on each core share the two multiplexers. Isn't this a limitation for more polyphony? I assume that both SID's always play the same patch...

Both SIDs are controlled by the same Core/PIC, using separate enable lines to each SID. You can do the same thing with two SID modules now, but since the shift registers on two SID modules would be outputing the same bits anyway, I optimized it to use a shared parallel data bus.

This is TK's MB-SID V2 design, which has lots of nice stereo features, but there's no limitation to polyphony as such, one of the SID engines will allow multiple "instruments" played across the two SIDs, but I suppose you are right, you can only play one "Lead" patch on the SID pair.

Another question I have is about PCB design in general. In most schematics each power pin of an IC has a decoupling capacitor next to it to prevent noise from a change in power consumption of the IC on the power rails. How important is it to have these capacitors close to the IC in the final PCB layout? The reason I ask, is because I have seen the inside of some commodores and on some MainBoards all decoupling capacitors seem to have been put together in a corner of the board. Doesn't this cancel the effect that these capacitors should have?

I have just copied what I saw on other boards. Decoupling capacitors were added just because I've seen it done in the new PCBs from SmashTV and because some people think they are needed. I added them to minimize any digital noise on the ground plane.

Another thing I was wondering about, is how you wired the power rails on the prototype PCB. Did you somehow force a daisy chained connection to all modules on the board? Or did you simple let Eagle choose the best routing?

Every single track is manually routed, using Protel. I manually placed components and manually routed a "module" (like the stereo SID "module" and the Core "module") and copied the layout to the other "slaves". Then everything else was manually placed and routed. Manually routing is the best way to do it, especially for being very specific about the power rails... it was important to keep the digital and analog ground planes separated, and the 5v supply to SIDs separate from the 5v supply to the digital components.

ps. I hope i'm not stealing your thunder, but I'm working on something similar. For my own use I want to make a 8x SID board with 4 cores (V2!). I would like to use the 8 SID's as a 4-voice polyphonic stereo synth or a 8-voice polyphonic (but mono) synth, or maybe even a multitimbral synth. Behind each SID i'm building a cheap version of the Rick Jansen Moog filter, controlled by AOUT_LC modules. I'm considering to modify the filter with some voltage controlled distortion and maybe a VCA after it (but this is a bit redundant since the SID's have their own VCA. The only reason for it is to shut-up the filter when it's self oscillating).

The SID VCA has envelope bugs, so an external VCA is a useful thing to have. I'm planning a stereo CEM3378/CEM3379 filter controlled by an AOUT module, the cool thing about the CEM filter chip is it has a built-in VCA as well  ;D

Link to comment
Share on other sites

Hi Wilba,

wow, i'm absolutely amazed by the job you've done routing everything manually in Protel! Even with the auto-router in Eagle I'm having a hard time getting boards of similar sizes and complexity routed. Maybe I just need a little more practice with Eagle. It doesn't have the best user interface i've seen (**huge understatement!**). Anyway...with some practice i'll get around it.

Originally I started with a redesign of the Rick Jansen Moog filter. I've modified the resonance circuit to allow CV control and I was hoping that with SID V2 this filter could be integrated in the patch structure (i.e. no manual controls anymore over this filter!). But during this project my plans have extended somewhat: the new plan is to create an 8xMoog filter with CV controls for res and frq for each filter. This filter could be a nice addition to an 8xSID MidiBox with AOUT(_LC) modules.

Sharing the shift registers is a very good idea! I didn't understand at first how the two SID's could operate independently, while sharing the shift registers, but now I do. If it's not too difficult to explain, would you mind sharing how exactly you modified this? Are all outputs of the shift registers (that are normally connected to one SID) simply attached to both SID's instead of one? Or does such a connection require extra components?

I assume that also software adjustments are required...but actually I'm looking forward to do some modifications to learn how the MIOS system works.

Greetings,

Rutger

Link to comment
Share on other sites

Sharing the shift registers is a very good idea! I didn't understand at first how the two SID's could operate independently, while sharing the shift registers, but now I do. If it's not too difficult to explain, would you mind sharing how exactly you modified this? Are all outputs of the shift registers (that are normally connected to one SID) simply attached to both SID's instead of one? Or does such a connection require extra components?

Looking at the PCB, you can see the output of the two shift registers going up to the SIDs, and then connecting to both SIDs with horizontal tracks. The three tracks between the SIDs are for controlling each SID's CS pin, and supplying the clock to both SIDs.

I'm no expert in digital electronics, but it seemed feasable for a CMOS shift register to drive input pins on two SIDs, and that the clock signal from the PIC could drive the CLK pin on two SIDs. I asked TK before I made the PCB whether he would use a separate CS line to the second SID "module", and share the other lines, as this is the easiest solution and definiately in TK's style (see how a 2nd LCD is implemented, separate enable lines!) Taking out the redundant shift registers was my idea  ;)

I assume that also software adjustments are required...but actually I'm looking forward to do some modifications to learn how the MIOS system works.

I don't know exactly what software adjustments you mean... in terms of the synth engine itself, MB-SID V2 is compatible to this PCB without any software changes. There are only a few things that I have (or will change) in the firmware:

* using 8-bit data cable to the display, as my display has bugs in 4-bit mode. Achieved with a custom LCD driver in the application code that overrides the MIOS default, and uses two pins on port E to replace the two pins being used by the CAN bus.

* the encoders on my CS are connected to non-default DIN pins, so I have to map the encoder  numbers from my order to the default order so the rest of the code works  ;)  there's heavy use of the sequential numbering to know what "group" an encoder is in (i.e. the 1st one in the "Envelope" group, etc.)

* minor changes to DIN/DOUT tables for different arrangement of LEDs/buttons in the matrix, this is an easy change, as TK has already done the LED/switch matrix handling code for his own box!  ;D

* make use of the 4x20 display, the extra buttons and LEDs, etc.

Link to comment
Share on other sites

;) yeah I was supposed to test if your display was also buggy but it was easier to make the 8-bit workaround to my PCB than solder 14 wires to your display. Even if your display doesn't have a bug in 4-bit mode, it doesn't change the fact that mine still doesn't like 4-bit mode.  ;D

Link to comment
Share on other sites

  • 2 weeks later...

The control surface PCB is finally done!

440833756_1c06013b1b.jpg

Now you can finally see how those two extra PCBs fit above and below the display bezel, on the same screws that hold the display to the PCB.

I spent a long, long time on a method of illuminating the knobs.

The first attempt used 3mm waterclear LEDs which I filed down to be 2mm by 3mm cross-section, basically flatter so they could be attached to the encoder bushing (the threaded bit that the shaft goes into). I spent a long time working out how to attach the LEDs, eventually just filed the bushing flat in three places and used superglue. While this technique works, I am essentially too lazy and thought about doing it a better way.

Then a bargain came my way: SMD LEDs, in blue, for $4 per 100, and these aren't the really tiny kind like an SMD resistor, these not only have the waterclear plastic lens, the base is flat and the leads stick out above the base! Perfect!

You can sort of see what I mean in this close-up. There are three of them around each encoder to give a more diffused light, and since the SMD LEDs are further away from the knob, it's better diffused than the filed-flat 3mm LEDs in my first attempt.

440834104_9913243602.jpg

And now, the final result... I tried hard to tweak this shot in Photoshop to be as close to reality as possible, and yes, it really does blend from bright to dark like that.

440833376_c5415779bf.jpg

So when I finally finished soldering the wiring to all the LEDs and reassemble the PCB/panel and put on the knobs, I discover the LEDs are outputting so much light to the sides that most of the other blue LEDs are glowing blue too! So I have had to add some cardboard "boxes" around the two rows of encoders to block the light, and this has worked perfectly.

BTW, illuminating these knobs was inspired by Hallucinogen's MB-SEQ (http://www.midibox.org/forum/index.php?topic=2608.0) and his webpage; http://xlargex.xl.funpic.de/

MBSEQ235_1.jpgMBLC235_4.jpg

Link to comment
Share on other sites

Thanks for the compliments!

I finally connected the two PCBs together with 9 ribbon cables... and my good luck continues, no shorts or breaks, the control surface all works, but the cables I used are seriously heavy-duty stuff, the wires are thicker than a resistor lead, so it's a bit too stiff and doesn't bend easily... it takes a bit of squeezing to get the front edge down. I might replace the cables, but that's a lot of work, desoldering 132 joints is not my idea of a fun evening...

I had to do a little tweaking of the firmware to make it work, though... Since TK also uses this base PCB with the combined LED and switch matrix, all the hard stuff was already done, and the elegance of those tables in the code is really apparent now because it was so easy to just reassign the pins for all the LEDs, switches and encoders. TK's done a great job there, as it's the same table whether you use a matrix or not, you just add 16 to reference the "virtual" shift registers of a LED or switch matrix. But that's not really tweaking... the tweaking was in the mod matrix LED handling.

When I designed the control surface PCB, I had to decide whether to scan the columns (E1,E2,L1,etc) or the rows (O1P,O2P,O3P,O1W,etc). In the V1 firmware, it scans by row when in mod matrix mode, and columns in meter mode. It's easier to turn one modulator's values into a bit pattern and copy it to the DOUT attached to the rows.

But I couldn't do the same with my PCB because a) one DOUT is always the current sinking shift register, as it's serving both the LEDs and switches and b) I'm using transistors to sink more current than a 74HC595 could normally, so I can't switch it to outputting, it's only ever sinking current or not.

So I chose to arrange the LEDs so the common cathodes are connected in columns, as this would be easier to code the matrix meter. This isn't the same as TK's hardware, his LEDs have common cathodes in rows, but TK already did enough redesign so that the patterns to display on the LED matrix are already pre-calculated. All you need to do is copy either one byte (of eight) straight to the DOUT shift register, or copy eight bits out of eight bytes.

And within five minutes of playing with MB-SID v1 and a full "step C" control surface, I've found bugs!!!  ;D

Link to comment
Share on other sites

It was really hard to decide on the colour... my favourite colour is blue and a long, long time ago before blue LEDs existed, I always wanted them, and then they came out and became cheap and were put in everything from computer fans to toasters. I've seen some really awful cases where a blue LED was put in to jazz up a product and make it look cool... imagine a super bright blue LED with waterclear lens shining in your eyes from the bottom edge of a computer monitor! I had to put a sticker over it or go crazy!

But the love of blue LEDs remained, and even now when "red LEDs are the new blue LEDs" (at least in the case modding scene), I wasn't going to switch to red or green (or white) to be fashionable... just use the tinted blue diffused LEDs I've had lying around for nearly two years and make the blue LED mod matrix I've been dreaming about for about as long  ;D  I came very close to using white instead and going all black and white with this box... but after finally seeing the blue LED mod matrix all flashing in meter mode, I think I made the right choice  ;D

Unfortunately now I've gone overboard  ::) and all those blue illuminated knobs is, I must admit, almost too much blue light even for me... I will have to add a pot to turn down the brightness a bit.

Next step: finally solder the "feedback loop" pots (pots at the back which feedback the SID output into the input to give distortion or resonance boost or self-oscillating filters!) and then it's finished!  :P

Link to comment
Share on other sites

Those knobs look very pretty! I also came across the illuminated pots from Hallucinogen, and on his pictures you can see the light doesn't spread very well on the center of the knob due to the D-shaft. How's that on your knobs? (because you use 3 leds and Hallucinogen uses only one if I'm right). And I see you connected the led's serial, what voltage do you power them with?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share


×
×
  • Create New...