Friday, January 24, 2020

Frequency Central Product Euro Kit. Thank Goodness It Worked the First Time

To change things up, this week I decided to build a Euro synth kit. A first.

Happy to say audio DIY kits are now everywhere, after a two or three decade lull it seems, and I'm sure at least some of you already buy from Internet shops the likes of Thonk and SynthCube.

Their FCP artwork, shamelessly lifted from their website.

Kits haven't been a part of my AudioDIwhY thing for a very long time--since the PAIA (1970s), CGS (2000),  and EFM (2004) days. What got me buying this kit was this vid (only 1K hits? For something called Frequency Central "Device"?) The dudes at my synth geek meetup said FC's "Product" is like what's in the vid, but better, FCP sounds frigging GREAT!!! Fat VCO--fat VCF--snappy VCA. Yeh baby yeh!!!!

Let's get building! Based on their advice I went to Thonk and slapped down USD. Three weeks later the FCP kit showed up, sat for a while as I got some 3340 VCOs going, but finally i got around to unwrapping it and checking out the build docs and found--wait for it:

****************THE BUILD DOCS CONTAIN NO SCHEMATICS************

Now I know I'm not Tom, Don or Bob, or whatever, but still, if I have a schematic in hand, I feel I can fix and mod (to my liking hopefully?) most anything. So I was really taken aback that the kit didn't have a schemo I could find anywhere.

How the hell can I build a complex electronics kit without a schematic?  For instance, to help me figure out why the damn thing is smoking?

The VCA/VCF PCB. The kit had 5 PCBs and one whole buttload of a lot of through hole dookie.

I emailed the support link on the FC site as I was starting the build--can you please please please send me the schematic--I promise not to post it or steal anything or even look at it unless I need to! And got--again, wait for it--nothing. Emailed them again--nothing.

UPDATE: 2-11-20 I understand the support email address on EC's site is wrong. For another DIYer I correspond with, Thonk gave out a different address which FC responded to. Hopefully FC fixes this?

I emailed them twice more about minor issues w the build--like a PCB silk part value contradicting the BOM--and a hf trim Roland doc they mention but don't provide a link--nothing.

OK now I'm worried. Big money for the full kit--hours spent building it--no schematic--no email support--this got my OCD knickers in a knot.

I told my psychiatrist girlfriend I was pretty upset, feeling like I was doing a trapeze act without a net, and that if I spent a lot of time on this kit, and it didn't work, I'd start (in my usual OCD way) digging into everything I could dig into to fix it, perhaps endlessly, and perhaps to the point of madness.

Trace all five PCBs out by hand? It'd take days, but, sure I could do that. Compare the FC PCB layouts to the Roland and Moog designs FC seems to based their FCP on, then redesign the entire thing using my own schemo and PCBs? Sure. Why not. It could happen. Who needs a day job?  Who needs personal hygiene?

My FCP module, ready for testing--what if the SOB smokes?

You know the drill: Is it safe?  Yes, very safe. Is it safe? No, not safe at all.

I told her for my sanity maybe I need to drop the whole DIY thing and chuck all of it, everything in my shop, everything on my bench, everything in my racks, before I go nuts. She took me very seriously and was, really, in her own very kind way, quite alarmed.

OK fast forward a few nights.  I didn't end up pitching anything. The build doc said what it needed to say; the PCB layouts from FC are fantastic, works of art really, and when I was all done, I fired it up. No smoke. No shorts. No red hot TL072s.  All the trims worked. All the jacks worked. The v/oct VCO scaling worked first time and was actually pretty easy to cal.

Even the stupid little 3mm LED worked.

Thank goodness--the FCP kit came out--great.

FCP in the rack.  Damn! Sounds good!

I got lucky.

To bench test the FCP, I also built a power breakout board for Euro power.  I already had a like breakout for Frac power, and now I have one for Eurorack as well.

The breakout was all from scratch, using perf, 22 gauge solid wire, and some cut up banana cables I had lying around. The schematic only exists in my head. That's better than squat.

OK, the perf breakout build part was rel fun.The rest of it? Um, nope.

Wednesday, January 22, 2020

3340 VCOs: Finished!

Happy day! The 3340 VCOs, based on TH's Maximus design, are good to go. Got some expensive panels back from FPE, along with PCBs that fixed the DOH! mistakes in Part IINASA: we have 2x VCO modules with DIY PCBs, DIY panels, and DIY mods, that work great.

To review:
  • Part I, where I create an V/octave switch using TI's REF02 IC, is here.
  • Part II: where I stuff the first set of VCO PCBs to come from China, and fix the dumb mistakes, is here.
  • Part III--love at last--wait, that's this post! it all works!  
The obligatory and probably fully unnecessary bench photos follow. 3340 yet.  I always test the boards for shorts before putting on the expensive ICs. Another tidbit: I had to use 25 turn trimmers for scaling, expensive but worth it--we want our VCOs to really be V/oct right?

Yeh Baby!  Yeh!!!!

Of note: about the REF 1V/octave switcher board. Yep, for these 2 VCOs I "improved" it (not a bug--a feature?)

Read more about the basic octave switcher for this here; to sum up, I could have used hand-matched 1% resistors, a rotary switch, and an op amp, like most everyone else, but wanted to try new things, and also hopefully get better performance in hot and cold environments. To that end, the PCB uses a REF02 chip from TI as a 5V reference. Next, high performance .1% SMD resistor arrays that stay put, value wise, in inclement weather are used to as voltage dividers.

Each stage of the V divider is wired to a switch; I ended up having to spring for pretty good switches....finally to an OP07 op amp used as a unity gain buffer.

So far so good?

There is a problem with my design first described in PART I, towards the bottom of the post, again part I of this post is  here.

To reiterate: TI's somewhat vague datasheet has an example where they suggest using a trimmer (not shown or really explained in their docs? But why, Brian, why? Come on TI, help out an old dumb rock and roller!) to set the exact output value of the reference chip relative to ground (pdf here--see page 7). To save money and PCB space, and to avoid the fear and loathing caused by having to figure out vague TI circuit examples, I skipped all that.

But: omitting this overall 5V ref trim was done at my peril?

No, happy ending!

Here's the issue: After wiring up the board: choosing GND (0V) as a voltage setting on the front panel V/oct. switch was a few mV off vs. REF02's 5V output. This makes sense--GND knows nothing about whatever the REF02 IC is producing at its output. And I have no way to trim the REF to be exactly 5V relative to Ground (I left that off, remember?)

And of course I can't change GND feeding the V/octave switching sub-circuit without some really stupid extra work.

That meant that when choosing the 0V octave setting, the VCO would suddenly go out of tune vs. the other VCOs in my rack.

OK what to do about our butt switch setting?

I didn't want to go back to square one for the v/oct board design. Instead, let's mod: I cut the GND trace on the octave switch board and used a 24 gauge kludge wire (brown wire seen in the photo above) to connect the GND rotary switch setting to the tip of a 3.5 inch jack. Ha! Take that! Now you have LFO, 2', 4', 8', 16' (I think 4 octave switching is good enough) and this new jack: "EXT". Into this external input you can blast FM mod, audio, CV, whatever, then choose your goofy mod signal, any time you want, with the octave switch. This turned out to be a fun addition to the VCOs user interface, and if I had thought through the ref board design with a bit more care it would have never happened.

Lesson learned: it pays not to think too much?

Note the whacked font for "LFO" and "OCTAVE SELECT"...I was so ocd'd out with getting the drills just right that I missed this illustrator flub! CRAP! I want my panels to be perfect; but a fellow synth club dude says I'm being hysterical....

The whole process of building all of this was a lot of work but enjoyable....

I have parts to build about 2 more of these VCOs....not sure I will right away, too many other things to do....

Good to have stable VCOs but perhaps too much time and money? You can get 3340 kits already good to go, EG: here and might want to go this route instead of what I did? Me, I'll take door number er....I mean door # two.

At some point I'll post the finished PCBs for this VCO on my website; the 3340 board schematic is not my design so i don't feel good about posting it, but Scott Sites and TH are cool so it's posted here.

I left out the suboctave and sine wave stuff but otherwise the PCB is a total match.

Time to move on; already working on the first DIY synth full kit I've touched in like 12 years. The kit thing so far has been a struggle, and my psychiatrist girlfriend questions whether it's time for me to not solder for at least a week. Too many fumes?  Can't say--ask the good doctor.

Until next time: have fun, then enjoy the post-Curtis glow.  See ya!

Tuesday, January 14, 2020

Helper Boards--JLCPCB/LCSC Assembly Service--Useful?

How many times do you use the same fragment in circuits over and over? Buffers, power conditioners, 5V to 3.3V converters, on and on?  I do!

To this end I have bought a lot of "micro-PCBs" from the likes of Adafruit, Sparkfun and their many Chinese clone counterparts. These manufacturers capture an oft-repeated circuit fragment on a small PCB and most often expose the I/O with 100mil pins and/or wirepads for easy hookup.

Drop the fragment onto your breadboard, perf it, patch it, jam it onto an Arduino somehow--get your pet hamster write the code using the I2C library--viola! You have a working DIY circuit.

Two personal favs of mine are Adafruit's 3502 digital pot:

and Sparkfun's MCP4725 board (you can get clones)

But I can't find every "PCBhelper board" out there I wanted. This is DiWHY: I made some I couldn't find elsewhere myself....

Always up for a challenge, I used something new: JLCPBC/LCSC's SMT board assembly service: info on their site is here.  Sadly the description of their own service was a bit confusing to me at first;
Alas, that's why there are vids!!

Take a look here and here. Clear descriptions of what the service is, when to use it, and how to make it go.

LETITB, JLC? At the face of it, this sounds like a great thing: send JLCPCB a gerber, a BOM and a pick list, and they charge you very (very, very) low bucks to make small quantities of your PCB. And best of all, they use their robots for SMD placement so you don't have to solder in incredibly small components and go blind + get lead poisoning in the process.

Hard to believe they can do this in the really small quantities we DIYers need, but it seems like they can.

Further into it: All the vids I can find use JLCPCB's sister schematic capture program, EASYEDA, to design the PCB and schemo. Good tutorial vid is here--electronoobs always sounds to me like a 33 record at 45, but I really like his vids.

OK, path of least resistance: learn EasyEDA. OK, I have been messing around with it the past few weeks; it's a bit different than Eagle, which i feel I know pretty well, but in the end basic EasyEDA wasn't that hard to learn.

A few of the big differences:

  • For EasyEDA, you put through-hole wire pads on at the PCB level.  Not with Eagle--you have to put wire pads (including through hole) on when designing the schematic. This threw me for a bit.
  • (Do you feel OK with someone else having all your designs on their server? If you use the EasyEDA app for chrome, you will. For what I do--whatever. But for you?)
  • I found myself renaming nets in EASYEDA a lot. In Eagle, a lot of that work is done for you and Eagle almost always gest it right. In EasyEDA if you don't name your nets carefully and consistently things may not hook up in the PCB design, or worse yet, may not work when you get your PCB back.
  • EasyEDA has a feature where you can click on a net in PCB view and see all the traces and components on the net. Very nice. If Eagle can do that, I don't know how!
OK with your finished EASYEDA design in hand you create the Gerber, BOM, and pick and place file; then upload it all to JLCPCB for fab. JLCPCB's on vid on the whole process is here. Still a bit hard to understand, but you get the idea; again, vids I liked for this are here and here

So for me, first off, I wanted to fab the gate buffer I use all over the place--I used this extensively my gate delay project for instance. This is the same circuit fragment that buffers gate-ins for most of the classic ADSR designs' gate-ins I've seen. It allows you to trigger an event from anything above a diode drop without risking blowing things up since the NPN transistors do the work. Simple stuff.  You can have VCC match the desired voltage at output, or add a resistor from the output to ground to adjust the output voltage to your liking--so, 10K would drop the voltage to (1/2 * VCC).

OK, I designed this (easy enough) and sent it out.  What I got back looked like this:

Then stuffed finished boards from JLCPCB assembly service cost me about $9 (stuffed, done; this was a sale price, but they often have  deals) for quantity 10, before shipping. Unbelievable!

Wait it didn't work!

That's OK, kludging messed up PCBs is how I roll. I hunted the issue down to a misnamed NET in EasyEDA.  Too easy to do. Lesson: When you design in EasyEDA, go through all your nets before going to fab and make sure things look the way you want.

For me, friendly 24 gauge kludge wires saved the day, but hey, it's Not Pretty:

JLCPCB allows small quantities, but you still need to buy 5 minimum, I got ten, nine here? and I fixed every damn one of them. The through hole R on the right sets the output V to 5V above ground.

Second: designed a quad unity gain buffer with optional zeners. I use this for most analog ins to MPUs, so 4x CVs to Arduino analog inputs. Arduinos don't like to see analog inputs far above V+ (here) so this fragment protects the MPU's analog ins from getting blown up.  And for modular synth designs you probably want to buffer all circuit inputs anyway, so there you go.

Got that back--it works! Here's what I ended up with. The "placeholders" on the left are for the zeners (you'd use 5.1V or 3.3V zeners probably,depending on your MPU's requirements); you could also drop 100K resistors here to make sure the JFET IC input really sees voltage. And the unpopulated spots on the right are for resistors if you need to divide the output V's.

The board could be made much smaller, but for an early effort, i am pretty happy with this one.

A pointer I don't think is in the vids: You need to use "basic" vs. "extend" components when choosing parts for your assembly. JLCPCB requires no more than 10 extended parts per design I am told--and "extend parts" are much more expensive to place vs. basic. OK, but if you look over LCSC's assembly library, that limits you to only a handful of parts (for instance, I couldn't find a .1uF 0402ish coupling cap that was "basic"--only "extend"--and that's a part we always use, over and over, in everything, right?) So you will probably choose values for your SMD components based on LCSC/JLCPCB's availability, not on the size and value in a perfect world you'd like to use. First world problem! and it's OK--most circuit values can be futzed and changed and your design will be fine. But it's an interesting limitation--a challenge!

Now let's get more ambitious: a unity gain buffer board to accommodate a THONK 3.5jack. Includes 2 through hole resistors to boost the output gain (or solder in jumpers for unity gain).

To make things harder, I designed and panelized this in Eagle, panelized so it was big enough for the assembly robots, and then followed JLCPCBs instructions here to generate the BOM and pick list.

Bad news: So far this one doesn't work at all--except for the IC's, JLCPCB keeps saying they can't find the parts needed for assembly.

OK, probably on my end?  Dunno.

I have gone over the BOM and Pick list several times, and have been back and forth with JLCPCB. So far they have been good about emailing me for support, but still, no love.

Problem? Comparing the examples between how JLCPCB says an assembly pick list should look and how it looks when EasyEDA generates it is so dissimilar that really I don't know what the hell is going on.  Check this out:

The top example mimics what JLCs docs say the pick needs to look like in their docs, here.

The bottom is what EasyEDA generates.

The top example doesn't work; the bottom does, and obviously they are nothing alike.

Hello? CNSA we have a problem!  Whatever. Done with trial and error on this one; I have emailed JLCPCB again and will update this post if and when this gets sorted.  UPDATE: 1-23-20 assembly service using EAGLE and the guide here doesn't work, but JLCPCB is really doing the damn best to help me. They have emailed me several times and are reviewing the PICK files etc. to see why this is foobaring. Hopefully will get this wrapped up.

I guess in the meantime I'll use EasyEDA for schematic capture, but getting Eagle to work would be a real score....and, well, whatever.

Until then, don't breathe the fumes--good advice? you might get 0402 parts up your nose and no one, I mean NO ONE, wants cap coupled snot chunks. Gesundheit!

ProMicro HID Keyboard Emulator

Quick one this time. The Arduino ProMicro (examples here and here ) is based on an Atmel 16u4 MCU and has HID keyboard emulation ready to go...