Monday, February 10, 2020

Analog Devices 5254: Quad Pot IC--Arduino Controlled--How to Make this Go!

Hello again!!

This is a continuation of the post started here--way back in April 2019--working on modding a Lunetta Noise! Oscillator circuit from the mind of Martijn Verhallen, found on his reverselandfill site.

It's a cool circuit on its own but sadly I can never leave anything alone.....

To mod this Lunetta Noise! circuit --I hope to have the module mods entirely done (finally!) in the next few weeks--I wanted a way to radically change CMOS Oscillator frequencies using CV, and figured a quad digital pot IC would be a way to get to that. Yes I could have used optos--been there, done that, e.g., here; why repeat something when you can do something completely different?

The pot I chose for the project--there are a lot of choices in digitalpotland--is the Analog Devices AD5254.  Data sheet is here.

It's 8 bit, quad (4 independent pots on one IC) and uses the I2C communication protocol to change its wiper values among other things. Should be easy? Sure--there is a lot of information on the web about using digital pots with MPUs, such as here and here.

But I hadn't seen a lot about getting a quad digital pot ICs going with an Arduino--and AD datasheets can be pretty dense, so, let's try it....why not?

Dead ants!


If you've messed at all with the Arduino wire.h library, you know that implementing Arduino I2C is easy as long as you read the datasheet for the chip under control carefully and understand exactly what sort of data you need to feed the I2C slave. A most-excellent vid from GreatScott!, where he has to decode an AD datasheet to get an I2C FM radio chip working is here; getting this quad pot going is the same idea.

(BTW as long as we are talking vids--a really good intro to I2C vid is here--highly recommended if you want to know how I2C works under the hood.)

Shut up already--Let's build! Nope, Not quite yet.

Here's rev 1 of the pot schemo and PCB:


The digital pot chip is the tiny thing bottom center.....


The idea: in goes 4 CV's, which get buffered with 2x SMD TL072s, and regulated by 5.1V Zeners--this is old hat, I find myself using the op amp + zener fragment seen above over and over. So often that I built a dedicated board for it which you can see at the bottom of the post here.

The CVs are fed into 4 analog inputs in Arduino-land, which get A to D'd. Finally the Arduino translates what it sees at analog in into I2C data, and sends that to the the AD5254 IC to change its four wiper positions.

Piece of cake right?

Shut up already! damn!--just build it!!

OK the boards are back, I bought some AD 5254 chips from Digikey, and of course a lot of other parts were lifted from my parts junk box.....

With that in hand it's time to solder in the SMD chips first, and beware, the AD5254 is really REALLY tiny!

"My digital pot has no nose!"  "Then how does it smell?"  "Terrible!"



Holy smokes that's a small IC, but fortunately, I tooled up for SMD soldering already, and as I do more SMD work it's slowly getting easier. More info about how I geared up for SMD here.  



OK with all the SMD chips soldered in place it's time to build the rest of the digital pot board.


The Arduino used this time is a super cheap clone Pro Mini, same thing I used in the gate delay module (here). PM clones are ridiculously inexpensive, super small, have I/O silkscreens that are impossible to read, and breed like rabbits.

The first clone PM I soldered into the board above didn't work (at all!! Regulator issue? Don't know. Never will--tossed that damn thing!--No matter what i did, I couldn't upload code to the POS. Good riddance.)

The DOA PM had to be removed using my rework station (I use a Hakko FR300....very useful, a good review vid of this tool is here). Using cheapo clone #2 Pro Mini, uploads from my Linux laptop worked just fine. Gotta love that clone crap!

OK with that all in place, I whipped up an additional board--to contain all the pots and jacks and whatnot for the upcoming Lunetta Noise! mod project. Bench testing is easiest without CV pots floating around all over the bench right?

Tall trimmers, available from Modular Addict when I wrote this post, are used to save space. The Eagle device defs for tall trimmers can be found in the Music Thing Modular library, here.  VERY useful library! Along with 3.5" M301 "Thonk" jacks, you can pack a lot of hardware into a small space using tall trimmers and 3.5mm jacks. Yeh!


Here's a quick view of the schematic and board for the tall trimmer and jacks PCB:


(The idea: I can combine these two boards with future PCBs--it all should fit behind a 12HP Euro panel, or 2u Frac, as long as any other PCB in the stack follows the 2000 x 3750 mil footprint above.)

With the pots, jacks, and AD5254 PCB all stuffed and wired up, it's time to write the sketch. This was reasonably easy--the datasheet for the 5254 looked intimidating at first because the 5254 can do everything but wash your linens, but at the end of the day the code to change the four wiper positions from analogRead() calls is pretty simple.

For me, the only hard part was getting the correct I2C master address of the AD chip itself, which I tried to figure out from the datasheet, unsuccessfully; but eventually nailed it using the I2C scanner sketch found here. BTW, with the AD5254's AD0 and AD1 pins wired to ground, the address to use is b00101100. Knew that!

OK Here is the sketch so far:
################

#include <Wire.h>

int cv0;
int cv1;
int cv2;
int cv3;

int cv0map;
int cv1map;
int cv2map;
int cv3map;

const int cv0pin = A0;
const int cv1pin = A1;
const int cv2pin = A6;
const int cv3pin = A7;

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);

Wire.begin(); 

}

void loop() {
  // put your main code here, to run repeatedly:

cv0 = analogRead(cv0pin);
cv1 = analogRead(cv1pin);
cv2 = analogRead(cv2pin);
cv3 = analogRead(cv3pin);

//map that puppy
cv0map = map(cv0, 0, 1023, 0, 255);
cv1map = map(cv1, 0, 1023, 0, 255);
cv2map = map(cv2, 0, 1023, 0, 255);
cv3map = map(cv3, 0, 1023, 0, 255);

Serial.print("value for CV0:");
Serial.println(cv0map);



Serial.print("value for CV1:");
Serial.println(cv1map);



Serial.print("value for CV2:");
Serial.println(cv2map);



Serial.print("value for CV3:");
Serial.println(cv3map);

Wire.beginTransmission(0b00101100); //tricky. address ignores LSB and pads with 0 at MSB. Eventually nailed with I2Cscanner sketch

//consecutive write mode: n, N+1, N+2 etc bytes are now sent to wipers

Wire.write(cv0map); 

Wire.write(cv1map);

Wire.write(cv2map);

Wire.write(cv3map);

Wire.endTransmission(); 
delay(200);
}

Next I uploaded the sketch into the Arduino PM, then put a ohmmeter probe on the pins on the PCB.

Ha! It works!!  The only issue I had was I forgot to add a wirepad to the pots-n-jacks PCB for ground. Doh! This was easily fixed by soldering a kludge wire from ground on the pots board to one of the ground terminals on the jacks board.  OK with that fix, when I cranked over the CV from the tall trimmer board the resistance between wiper and terminals present on the 5x2 headers varied from about 17K to 97K--this could be seen between SV2 pins 2 and 1 for instance, as well as for the other 3 "pots" elsewhere on the SV1 and 2. GO A'S!

I was hoping to get this closer to 0 ohms fully CCW (0V CV), but perhaps that isn't possible with a digital pot?....I should study the datasheet to figure that out, but I'm too lazy, and 17K to 97K is good enough for what I'm doing here.

Resistance varies between SV1 2 and 1, 5 and 5; same for SV2, based on the incoming CV.
One more tidbit: I found I could hook my 15V bench power output to the 8V regulator I put on the 5254 PCB, feed 8V to the "raw V" input of the PM Arduino, and simultaneously power up the Pro Mini from the USB to serial board, which passes VCC as well.

I thought maybe feeding all of this into the Pro Mini at the same time would blow something up, but it worked fine, and that meant I could have everything on the bench plugged in at once; I could test the pots and buffers, read data from the Arduino IDE Serial monitor, and tweak the Arduino sketch simultaneously, all without smoking Doepfer.


OK, bottom line--I have a working quad pots board!

Next time: let's finish modding the Lunetta Noise! module once and for all. More about that soon, it's on the bench now and almost ready to test. I will probably add a mux board to it as well, which is taking shape as a more grandiose version of the CV controlled 4051 module here. The goal is to add to the CMOS madness, I want this thing to sound very, very weird.

Onward.

In the meantime I recommend getting your hands on some ICs, write some code, and have fun with your quad pot, but don't breathe the fumes. See ya.

Sunday, February 2, 2020

Ratshack Receivers, Contact Cleaner, and the Fine Art of Indolence

Welcome back. It's tax time! I'd normally ditch doing my taxes on my day off by building a new module (I have PCBs now to finish the Reverselandfill's "Noise" Lunetta circuit mods, but I am waiting for parts to arrive.....).

I also have a gig in about 3 weeks I need to get ready for, as well as an album I said I'd have done and delivered year end.

But instead of working on any of that, I wasted a wonderful amount time this weekend repairing some old receivers and other audio crap I found on the sidewalk near where I live.

DIY?  Not entirely, but there are lessons to learn from this. Read on!!

The Onkyo Receiver and Technics turntable both worked flawlessly and required almost no cosmetic work. The Onkyo was sitting outside a neighbors house w a sign "Free"; the turntable was a castoff from a DJ I did a recording project with--he said I could have it if I could fix it, and even when I told him "N.P.F." he still told me to keep it.

But is it communism?
 I see discarded goodies left on the street in my neighborhood all the time: clothes, shoes, toys, record albums, and every now and then, of interest to one's audio jones: antique electronics. Not sure it's like that where you live? Perhaps you have relatives or friends who have old stereo dookie they want to get rid of; if you can get your hands on old gear, and need to procrastinate big time, you can try your hand at bench repair/getting them back up to working condition, or gut 'em for parts for other Audio DIY projects.

I recommend taking a break from whatever you do over and over and try this....it beats the hell out of death and taxes.

No "before" pictures for any of these...but this Lafayette LA324 was filthy beyond belief, and to my surprise cleaned up very well after disassembling. After a top to bottom scrubbing, some solder joint touch up, pot and switch cleansing, and a few wire replacements, it works as if brand new. Nevertheless, I almost gutted it for the knobs and pots (which are nice for an otherwise cheap stereo) but I dunno, when I was a youngster I loved reading the Lafayette catalog, so I had to keep it around.

To date, I have found three receivers on the street, was given a dead Technics turntable that in reality worked perfectly, and was gifted a really nice pair of Klipsch bookshelf speakers.



To my surprise, every one of these antiques was so easy to fix that it didn't end up in the junk box, landfill, or cannibalized for parts.

Another fully disgusting  bug infested receiver--complete with spider webs and insects living inside--was this Realistic STA65 a neighbor left on the side of the road. After a few hours cleaning: good as new. The knobs are great, and have a cool 70's vibe, but the receiver worked so well after reassembly I ended up giving it to the husband of the lady who gave me the Klipsch speakers below; he is a self-proclaimed Radioshack/Realistic audio fetishist and was thrilled to add this to his island of misfit toys.

The wife of radioshack guy got a pair of nice Klipsch speakers in her divorce settlement from her first husband back in the 80s.  #1 ex hubby apparently loved these speakers more than his penis. She hates this ex so much she never wanted to see him, or these speakers, again, so she gave the Klipsch's to me. After cleaning the wire posts, which were a bit corroded: they work perfectly and sound really good. Not sure her ex was as easily put right, right?



What you get when something can't be repaired: Slide pcb mount switches from an old discarded US made security system. They appear to be of very high quality. I used a Hakko FR300 to de-solder them.
The star of the show is contact cleaner.  By following the directions on the label, it seemed to me even the most filthy pot or switch could be brought back from the dead. I had to disassemble a lot of the gear before applying generous shots of contact cleaner, but once this was done, the pot exercised, the process repeated, and the component left to dry overnight, everything started working again.

Another star is my FR300 Hakko Rework tool.  It was expensive but if you are salvaging hardware from junked gear, a good desoldering station is an excellent investment--it will pay for itself eventually by allowing easy extraction of PCB hardware from junked boards.






So what does any of this have to do with synthesizers you ask? A slight connection. I bought this Euro STGS Sea Devil filter used, and it had a scratchy Frequency pot.  Normally I would have thought it was a leaky cap or something, and would have gone crazy trying to fix it at the PCB level, but after having brought back a few receivers that had similarly scratchy tone controls I figured why not hit it with contact cleaner. That did it--it was just a dirty pot-- Fixed!

OK enough, now on to taxes.  A tech colleague of mine has a saying: "Indolence pays".  Maybe, or maybe not, but killing time on the bench cleaning up discarded audio foolishness can be way fun. My parting advice: waste time and don't breathe the fumes!

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.

...no 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 here.....you might want to go this route instead of what I did? Me, I'll take door number er...torture....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!


Friday, December 27, 2019

All Hail the Mighty MR. LABEL--Easy and Cheap Front Panel Art

If you've been following this blog you've seen me post lots of stuff about front panel fab. How to make this look pro?  I've posted about Lazertran (a decal process) and Front Panel Express (send them art and a bunch of money and they send you back professional looking finished panels), but also p-touch, sharpee, rocks and chisels....

Seriously I have found a good product for this, way easier than Lazertran and way cheaper than FPE. And it has a fun/dumb name: "Mr. Label".  And the results look pretty damn good! I guess DIYers have been using variations on this for decades and I am just getting to the party? Better late than Never right?

Mr. Label doesn't dress up--it comes in a unremarkable plastic bag.

Mr. label: Not to be confused with "Mr. Horse"?



Where to Mr. Purchase: You can get Mr. Label from Amazon (of course); Spumco I mean MrLabelCo has a butt ton of products; the exact SKU I got is this:

Mr-Label White Matte Waterproof Vinyl Sticker Paper - Full Letter Sheet Label - Inkjet/Laser Compatible - for Home Business (10 sheets/10 Labels)


Not sure this link will work in six months, but on Amazon it's here.

Meet Sr. Etiqueta: Mr. Label is stick-on vinyl sheets you can run through your laser printer; you then cut it out your design and carefuolly stick it on your front panel, finally, coat the panel with clear spray paint. After only about 1/2 hour of messing with it, I found that Mr. Label is pretty easy and super fast to use, and looks good--not as fully pro as FPE, but much better than some of the Lazertran work I've done over the years. For most everything synth DIY dudes do, I think the respectable Mr. Label is good enough.

And! It's relatively inexpensive--$8 USD for 10 8x11" sheets. Compare this to Lazertran which is more like $3USD a sheet, and FPE, which is about $42USD for a 1u Frac panel.

Conceiving Mr. Panel: Before you begin, read Mr. Label's included instructions--yes, Mr. Label will dry out if you don't bag it, yes, Mr. Label may get the runs if he eats too much Inkjet--although Mr. Label advertises as "works with Inkjet"--aka Mr. Laxative?



Whatever. I don't use Inkjets so I can't be sure. But on my B&W laser there were no runs, no smears, no issues.

OK let's do this. First, do your metalwork. From previous posts, I use PCBWAY in China to fab my "alubase" panels--you can send them gerbers and they send you precut 1.6mm aluminum panels ready to use. For maybe $2-4USD per panel. Yeh!

Now prepare your artwork using your favorite art software--I use Illustrator and Photoshop, but there are a ton of programs out there that will work just fine.


Hint: Print out your artwork on normal paper to make sure it's good to go. I usually hold my paper up to the light with the panel behind it. Are the holes in the right place?  Is the overall size OK? You get the idea.

Now print your masterpiece on a sheet of Mr. Label:

If I didn't use tray1--the manual feed tray--on my HP 402DN the honorable Mr. Label becomes his sinister alter ego: "RapMaster Tray-Jam". So get ready to experiment a bit with this and remember: if your printer jams repeatedly, swear like a mofo.


My HP LaserJet 402DN is a pretty low-end, simple HP black and White Laserjet. To me that means you don't have to use a fancy printer to get this to work. I have to use the "extra heavy 135-175 label" setting and feed the vinyl through the manual label feeder ("Tray One") on my printer, or else the thing jams the printer, but that's what the label feeder is for, right?

Ready to stick!


Hint: It might be hard to tell which side of Mr. Label to use--the backing and vinyl look the same, so I fingernail the corner to figure out what is what.

After printing--carefully--VERY carefully--for me this was the only hard part--align the label with the panel and stick it on.

Then brush out any air bubbles from inside to outside. Next, use an x-acto to cut out any drills (doesn't have to be perfect cuts--the jacks and pots will probably cover sloppiness.) You get something like this:



Last step is to spray it with clear topcoat.  I used this one. I'll bet acrylic spray clear coat will also work, maybe work better than 2x Ultra Cover which is the first thing I grabbed at a nearby auto parts store.






The results were remarkably good, and these were two first tries.






OK time to make more panels! Mr. Label is Mr. Recommended. I keep thinking my relic 1970's Mini doesn't look like it uses silk screening, and you can't get much better than that. Maybe I'm breathing Mr. Fumes? See ya after the new year.



Analog Devices 5254: Quad Pot IC--Arduino Controlled--How to Make this Go!

Hello again!! This is a continuation of the post started here --way back in April 2019--working on modding a Lunetta Noise! Oscillator cir...