Screaming Circuits: Engineer stories


To Mod or Not to Mod? That is The Question

Many years ago, I was a product manager at a business-consumer electronics company developing some pretty leading edge display equipment. Prototyping back then was a long and painful process. A PC board might take a month or two to arrive from fabrication. Parts had to be sourced by digging through massive catalogs and then hoping that what you needed would be on the companies approved vendor list. The whole process was a bear.

Well, the soldering up part wasn't always so bad - unless you were the poor soul tasked with wire-wrapping or hand soldering the prototype.

Based on how difficult and expensive a board spin was back then, common practice was to just mod up the boards, even in production. Any given PCB might have a dozen or more cuts and mod wires. Those changes might not make it into the PCB for months. These days, though, you can get board fabbed Mod wireovernight, your parts delivered over night, and when you have all of those parts and PCBs, you can get them assembled overnight. I suspect that increase in speed is the major reason mod wires seem to be nearing extinction these days. (note that Screaming Circuits didn't build the board in this picture. It's from my personal collection)

It may not seem cheap to pay to have someone re-spin a board so speedily; especially when set next to hand soldering. But when compared to the cost of idle engineers waiting for the next rev, the cost of adding mods, the reduced reliability from having mods and the additional manufacturing time caused by modding a board; today's quick-turn parts, fab and assembly options can end up saving gobs of time and money in the long run.

Duane Benson
There are more wires in heaven and earth, Horatio, Than are soldered on your pc board.

"Shrinky Dink"

I had some "Shrinky Dinks" when I was a kid. Amazingly you can still buy them. You can also use that concept in your prototyping. I did that recently. I have a robot board design that I'd like to shrink about in half and add in a LiPoly charger chip. Most of the design came from something I had built previously, but the charger chip was new to me as was the compression needed to meet my size goals. Sadly, you can't just put your PCB in the oven and have it shrink like a Shrinky Dink. Maybe if you could put stretchy copper traces on it so they wouldn't peel of while the substrate shrinks...

The charger comes in both DFN-10 and MSOP-10 packages and the MCU comes in SOIC and QFN packages. The QFN is the 44 pin version while the SOIC is the 28 pin version of the chip. Same core. Just more I/O.

LBDC Li LBDCmini pRather than test my ability to shrink and the use of the LiPoly charger at the same time, I added it into the original design without changing the size. There's much more room for probing or even for adding test points if I needed them. Once that design checked out okay (which it did), I just went into the schematic editor, changed the SOIC to the QFN package, the MSOP to the DFN and most of the passives to 0402 packages. I really didn't have to make any changes to the schematic.

That almost worked perfectly. The 28 pin MCU doesn't come in a variant with a QFN package, so I couldn't just change the package type in the schematic editor. I had to delete the SOIC version, place and wire in the 44 pin QFN variant. I made a few other changes too. I added in a QFN packaged RS232 driver and a hard power switch. In the original, I had envisioned a soft power switch but I changed my mind. I also had to modify the library parts to make sure that the solder paste layer on the QFN and DFN parts fit our guidelines. Lastly, I removed some LEDs that I only had on the board for debugging purposes.

The most important two considerations were watching out for physical part interference and getting the paste layer correct on the QFN/DFN parts.

Duane Benson
It's the size of a small walnut

QFN Solder Paste Layer

LBDCminiI've got the fab order placed with Sunstone.com for my next demo project. The little board is represented here at pretty close to actual size on screen - provided you have a 22" monitor set at 1680 pixel horizontal resolution. Give that, you might want to click on it to pop up a bigger representation of it. That makes it about 4 X life size.

When you do that, take note of the QFN / DFN parts: The processor in the middle, the LiPoly battery charger right between the upper two mounting holes and the RS232 driver in the lower left. I've followed my paste layer advice and segmented the paste stencil layer to reduce the chance for float or major voids.

I found a footprint in the library for the big processor in the middle. I just had to modify the paste layer, as shown here. I made the footprint for the charger and RS232 chips from scratch. Neither had anything close enough in the library.

The DFN has a slightly different approach to segmenting the stencil layer. Little squares like I used on the other two chips work just as well, but this is effective as well.

Another thing to take note of is the markation on the LEDs. The original footprint for the 0402 LEDs does have a polarity mark, but it's one of the types that can easily be misinterpreted or can be difficult to see. The diode symbol put down in silk screen removes any possibility of ambiguity.

Duane Benson
I'm happy I live in a split level head.

 

Particle Update

I've been ignoring my Geiger counter for a while now, but I picked it back up and made some progress again. For some reason, I just wasn't getting the 555 based HV power supply to generate a high enough voltage. In frustration, I bypassed the 555 and fed a PWM signal in from a microcontroller board that PIC SMT geigerI have laying around.

That fixed the problem. I still don't know why I wasn't able to the the 555 doing what it was supposed to do. I'll have to spend some more time on that some other day, but for now, I've prototyped it out and I'm happily detecting particles. I whipped out the new layout and will send off to Sunstone.com com for another set of PCBs.

I've also replaced the Atmel chip with a PIC. I don't have anything against Atmel. I'm just more familiar with PICs. Once I've built a few of these, I'll change to really small packages - QFNs or BGAs for the chips - to make the board a little more fitting with our assembly capabilities. The SOIC chips are fine, but our machines don't even come close to breaking a sweat with things that big.

Duane Benson
We treat agoraphobia for PC boards

Embedded at the Airport

I'm traveling to Phoenix today. Or, allegedly, I'm traveling to Phoenix today. The plan was to drop in to the office, do some work and print some things out for the trip, which I did. Then off to the airport. I left a little early in case traffic was bad or security was slow, but neither was the case and I ended up at my gate a full hour before my flight.

I'm not going to Phoenix for personal reasons. It's a business trip. I can't tell you what the purposes is. It's a bit of a secret. Not an interesting secret though. Not like I'm getting a sneak peak at a new chip or anything. But I am bringing some of my demo  boards down. LIke this one, and this one. Plus a Beagleboard that we assembled a while back and one more demo that I'll have at the ESC show later this month. Trust me though. This secret isn't anything of interest. Okay, it's of interest to me, but that's all.

Anyway, as the time ticked down and past my boarding time, I started to get nervous. The original plan was to take a United flight to LA, leaving here at 2:48, and have about a half hour to get to my connection and land at PHX at 7:08 pm.

Tic tock. Tic tock

Starting at our boarding time of 2:20, they regularly announced that there was a little mechanical delay. At some point, I inquired about my connecting flight in LA that I was now going to miss, but they moved me to a 9:00pm flight from LA to Phoenix. Ugh. Not long after that, they announced that the plane needed a part that had to be flown in from Salt Lake. Double Ugh.

Fortunately they were kind enough to put me on a direct flight, on US Air, leaving at 6:00 and arriving in Phoenix at 8:30.At 4:30, hour 3 at the airport, I was paged back to my original gate - on the other side of the airport. I ran back over there, planning on doing my best to talk them out of getting me baPhoenix window (Medium)ck on some double hope that would have me arriving at midnight. As it turns out, they had originally sent me down to US Air without a ticket and they were paging me back to pick it up. That was a cause worth hoofing it from oe side of the airport to the other and back.

Coming into Phoenix, we were delayed a bit for landing. I seems a dust storm had come up and put the airport into Instrument conditions. You know it's an interesting landing when the first thing the crew announces over the PA after touchdown is: "how was THAT for a landing" and the passengers all cheer.

Duane Benson
If this were on Twitter, my post would be: "I saw a cactus."

IS IT VALUE? IS IT PROTO?

SMT Geiger PCB

Looks like it to me. I got a couple of nice PCBs from Sunstone here. The parts, except for the Geiger tubes are here from Digi-Key too. The tubes are someplace between the Ukraine and Canby. All I have left to do is kit it up and place the order here at Screaming Circuits. It may seem silly that I have to go through the effort of placing an order on our web site when I work here. But it's not.

Doing so does two things. It reminds me of what it's like to be a customer. Always a good thing. And, it doesn't disrupt the shop floor with something that is outside of our process.

In case you haven't been following, this is my SMT re-layout of the open source Geiger counter designed by Jeff Keyzer of MightyOhm.com.

Duane Benson
Tick. Tick. Tick. Tick. Tick. (actually, I hope not)

Check Again.

How do you know? How do you know what? It could be how do you know if that new restaurant has good food, or how do you know that the car you're about to buy isn't a lemon. It could be a question of how do you know that the cigarettes you're smoking will mess your lungs up. Wait. You do know that answer to that one.

But I'm talking more about substitutions. When choosing a part, there are a wide variety of parameters to check. Some mater for your design and some don't. If you run into a part that exactly matches all of your parameters, you'll probably be okay. If that specific part is in short supply, how do you go about finding a suitable substitution?

A good example is the CDBW0520-G, Schottky diode. I had used that part in the past because it was physically small enough (SOD123) and had the stats I need. I pulled that same part number out of an old BOM to use in a new design. When I went online to check the price, I found that they were almost out of stock. I remembered when I originally searched for that part, I had a lot of trouble finding anything in that particular package. I could go to a physically bigger part, but I really didn't want to. Space isn't super tight, but tight enough.

I needed as low a forward voltage as possible, and this part drops just over a third of a volt and can pass half an amp through. My first instinct was to look at higher current versions, but they all had bigger packages. Next, I looked within the same manufacturer for a higher voltage part. I found one with a 40V max in the same SOD123. That was fine. The original was 20V.

The only bummer was that the CDBW0540-G drops half a volt. Not a great difference, but when your supply is 3V, you need to keep as much as possible. For some reason, a few days later, I searched for the part again and must have taken a different route down the parametric search because I found one from a different manufacturer with 340mV drop and a package just a hair smaller. And, it has a higher current rating to boot. That makes me happy and content.

Duane Benson
...because I live in a split level head.

Fun With Electrolytics

I was fiddling with one of my robot boards the other day - popping some passives on and off and checking out subs and alternate values. I was doing this on a couple of boards at the same time. Everything was going along fine until I started to do a power-on test. The first board was fine. The second one would briefly light the power indicator LED. It would start a full brightness and then fairly quickly fade out.

My first thought was that I had been too agressive with my soldering iron and had burnt something out. (who has already guessed what really happened?). Turns out, that wasn't the case. I put it aside and came back to it a few days later. This time, I gave it the finger test and discovered that my regulator was hot. Darn. Next, I found a hot tantalum cap. Nothing looked out of the ordinary/ I stared at it for a while. The + side was on the left in both parts and... The plus side was on the left in both parts. One was supposed to be on the right. Oops. The cap had a high enough voltage rating that it didn't blow up. It just pulled down the supply until the over-current protection in the regulator shut it down.

I've heard a number of folks recommend that you try and keep all of your polarized parts facing the same way. It's not always possible, but it can certainly reduce opportunities for errors like I made here.

Duane Benson
Left, right. Left, right. Left, right. Left, left. Left, right...

Loopy Ground Loops

A while back, I posed a question about using flood fill (AKA copper pours). I've been reading a lot about ground loops lately which brought me back to that original question.

LED scroll ground plane Some people suggest segmenting your ground plane between analog and digital sections. Some people suggest segmenting the ground plane for individual critical ground return paths. The follow on to my original question is: On non-exotic designs does segmenting ground planes really help? There's actually two questions, with the second being: At what clock speed does it make sense to start worrying about issues caused by ground return paths / ground loops? There are probably more questions. Those are just the two rattling around in my head at the moment.

Interestingly, though, when I wrote the original post, there didn't seem to be a clear "most common" between pour and no pour PCBs. Today, I'd have to say that the majority of designs we see here at Screaming Circuits do use flood-fill ground planes, either internal or external.

Duane Benson
You can solve ground and noise problems by just not hooking up power

Day two. Custom parts

Moving on from where I left off a few days ago... I was planning on using the PIC18F2320, but in poking around, I found that the PIC18F2321 is about $3.00 less expensive in small quantities. I'm not entirely sure why. Their virtually identical. The 2320 does have two 8-bit timers instead of one in the 2321, but I haven't spotted any other differences that would matter to me in this case. The 2321 has lower sleep and idle currents but I don't think that matters in this application either.

PCB123 PIC partial sch PCB123 doesn't have the 2321 in its library. I could just use the 2320 part, but to get full use out of the pricing and availability features, I'll have to customize the part so that the BOM tool can find it at DigiKey.

I had the "place component" box up already, so I just clicked on "manage Parts" and started filling in the information in the middle column of the dialog. The I clicked the "Select Simple" button, searched on "2320" and selected the symbol for the PIC18F2320-I/SO. So far, so good.

PCB123 manage parts dialog Now, the question is: do I select "Apply Changes" or "Create a New Part"? This would be easier if I actually looked at the documentation or something, but am I doing that? Of course not. I'm going with "Create a New Part." Oops. Needed to select or generate the footprint first. Do that and search on "SOIC" and pick out an SOIC28, "Create New Part" and save it in a Library. I picked "Microchip."

Done. Now when I go back to the Insert / Add Part function, I search on PIC18F2321, and there it is. Apparently, I did it right, because the BOM tab will find it and show price and availability at DigiKey.

Duane Benson
And, today, it's not just a rain cloud, but a full one