Screaming Circuits: Engineer stories


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

 

CAD This or CAD That

I use Eagle CAD a lot. I can get away with the "Light" version, because the designs I create are small and non-commercial. I do use them sometimes to illustrate points here on my blog, but I think that still meets the qualifications of their free version. It's a good program and the multiple license levels from the free version up to the full professional version add a lot of flexibility to have the software grow with you.

Our partner, Sunstone, builds most of our PCBs here, which is a nice segue into an alternative CAD package. There are a lot of reasons to pick one CAD package over another. I won't go into that here because those reasons tend to be specific to the application. Most CAD packages are sold as a lump-sum purchase up front. A lot of them also have yearly license renewal fees. That works sometimes, but there are other times where up front costs are more important. The model that Sunstone uses for PCB123 is to provide the software at no charge and just add a little tiny bit of the software cost onto the PCB board purchase.

PCB123 isn't the only package that follows this business model and is tied into a specific PCB vendor. But, as far as I can tell, PCB123 is the only package of its sort that has enough capability to be a viable replacement for more traditional pay-first CAD packages.

I recently downloaded V4.1.11 and have started to run it through my own personal "can I use this for my stuff" test. I know it's a good package because we, here at Screaming Circuits get boards of all sorts designed with PCB123 to assemble from all manner of company. But, something can be a good package and still not fit an individuals specific requirements. Hence my personal tests.

I do find it odd, but not really an issue, that it starts you off in the layout editor instead of the schematic editor for a new design. Oh well. One click and I'm in the schematic where I can search for my parts. I use PIC chips and it's pretty rare that I find the exact chip. I always seem to have to find something close and then modify it, which just adds more opportunities for error. I know there's a jillion 28-SOIC,M28B_sml varieties, but once in a while it would be nice to just find the actual part.

Fortunately, today I'm looking for PIC18F2320 in an SOIC package. Fortunately, because it's actually there! I hit the "Insert" menu and choose "Add Part". Then I put "PIC18F23" in the search box, and there it is, but not on the computer. It was in their online labraries. (In the cloud?) It took all of about 15 seconds to automatically download the library footprint though, so first test = passed.

And the really cool thing is that once I have that part in there (for the parts found pre-made in the library), I just select the "Bill of Materials" tab down on the bottom and I can see if DigiKey has the part in stock and how much it costs.

Duane Benson
If it's in Oregon, the "cloud" is probably a rain cloud

Grounded in Reality?

LED scroller 006 thin trimmed
Looking back, I think I could have done a few things different. For example, I don't really need a separate power-on LED. I could either just not populate it, or rev the schematic a little to make it a software controlled indicator rather than hard linked to the power switch. That change would allow me to put the device to sleep. The PIC18F25K20 draws somewhere around a tenth of a microamp while in sleep mode. That being the case, I might just discard the power switch all together. Otherwise, it's cool.

I could have given each LED its own via to the ground plane too. That's supposed to reduce noise a bit. Although, this will probably never be clocked high enough to make much difference, nor used in an environment where it matters.

Duane Benson
Only half of 10 the types of people will understand