0 or 1?

I've been running around telling people "Happy New Decade." Generally, such has been received with a blank stare or some comment related to me being sarcastic.

Back when we turned from 1999 to 2000 and again from 2000 to 2001, I heard a lot of controversy related to which year actually started the new century. Oddly, I haven't heard any of that this transition, even though the question is just as relevant.

I can certainly understand the two schools of thought on this. 01, 02 ... 09 all don't have a leading digit so they sound and look much different from something that does have a leading digit, e.g., 11, 12, 13... But, look closer at my first list. You don't see "00" in there. Certainly we did have a year "2000", but did we actually have a year "0000"? I've heard of the year one BC and the year 1 AD, but never zero BC or zero AD.

According to Wikipedia, which is never wrong, the Gregorian and Julian calendars do not have a year zero. Astronomical year numbering apparently designates 1 BC as the year zero. But "astronomical year numbering" sounds like a science thing and how many of the average population actually like to deal with "science things"?

If you're a digital person, maybe. Most arrays start with 0. Although some languages do start their arrays with 1.

But here's where I have decided to sit. I was one once. No one has ever said I was zero. I was also ten once and ten equals a decade. Although, decade counters do count from zero to 9. Again, in a purist digital world, 10 would start the new decade. However, for the most part, while machines operate in a digital world, people do not. On the other hand, as soon as I turned one, I had been on this earth for one year, so had the calendar been in existence for one year when year one started? If so, we would have had a year zero. People actually do have a year zero. Extra young folks are called one week old, one month old, etc. In that there is an implied zero and one month old. That is not the case with the calendar. Therefore, in my mind, 2001 - 2010 is the first decade of this millennium and 2011 is the start of the new decade.

So, happy new decade!

Duane Benson
Let's count it in binary next time

Open Source Mea Culpa or back pedaling? You decide

Last week I wrote about "Ten electronics things to be thankful for in 2010." If you're reading this now, you probably don't need the link because you probably read that article then too. But that's not really relevant. What is relevant is that in my #6, about open source hardware. I wrote, in part, that in some ways open source seems a bit exploitative of the designers. pt wrote in the comments for the blog article asking if I could give an example of how open source is exploitative.

I got to thinking about my choice of words and came to the conclusion that "exploitive" doesn't quite cover what I was trying to say. Although, in some cases, I think it does. It's possible that there are some aspects of the open source movement that I just don't get. Or it's possible that I have the capacity to pick a black cloud out of anything. If that's the case, I like to think that I can also pick a silver lining out of anything as well. That combination becomes a problem with recursion.

I'm a capitalist so I believe that (a) it's important to have profit as an ultimate goal of any commercial endeavor. I still have a bit of idealism left so I also believe that (b) when making that profit, we should be like the Boy Scouts and leave the planet a little better off than we found it. I get sick to my stomach when I read about executives making massive millions of dollars when their employees struggle to adequately feed and clothe their kids. (Is this post turning into one of those "I believe..." manifestos?) Following up that last point, I believe that (c) if someone does good work, they should get something in return for it. It's a trade. You give me something valuable and I'll give you something valuable in return. Not always money, but something of value.

That's where the mushiness comes in for me. Here's the good side. Ti is a big company that, with the Beagleboard, is giving something of great value to the electronics design community. As far as I know, the people at Ti working on the project are paid. My guess is that the ultimate motivation of Ti is it to help sell chips, but the project has given a whole lot of people access to a level of performance whom would not have had access it otherwise. That endeavor meets my abc conditions. Companies like Adafruit, Sparkfun and DIYdrones have built successful small (and growing) businesses with the help of open source hardware and software. People are making a living (I assume) from those organizations. Both companies give a lot back to the community and both companies make it very clear that they benefit from and really appreciate the efforts of open source designers. They give the folks recognition and support. They and companies like them meet my abc.

The other side of open source, and where I smell the exploitation, is when big companies use open source, make large profits and don't return anything. I mean, sure, the licence allows them to and I suppose that by reducing their costs, they can be more competitive and stay in business, keeping their employees employed. But when a software company buys the remains of another company or two that allegedly "own" some opensource code and then tries to make a business of suing people that use that open source software; I consider that to pretty exploitive of all of the people that voluntarily gave their time to the project.

When a large muti-national company that sells server farms uses an open source OS and doesn't return anything to the designers, I find that also to be exploitive. I don't know what the answer is. I mean it's cool that Linux, for example, is used in so many places. The fact that big corporations put so much weight on it certainly validates the legitimacy of it. But I can't help but envision open source developers out there, that could really use a bit more money in the bank, looking at those big corporations that are profiting off of their backs, feeling a little used.

So, am I missing something? Do I not get it?

By the way, this piece has a lot of personal opinion in it, but I do believe that my company works hard to meets my abc so I don't have a problem posting this on my work blog. The two times in my career that I did work for companies not meeting my abc, both ended badly for me. Fortunately, I believe in this one.

So, help me out here. If I'm not getting a part of this, feel free to chime in.

Duane "Does idealism hold up in the face of reality?" Benson

Need a Reference for the Reference

Not long ago, I wrote a short post about non-standard use of reference designators. After doing that, I've been looking at some of my own microcontroller and motor driver boards with an eye for how close to standards I am.

All of the R's, C's, D's and U's are okay, but there are some differences. For example, the Eagle library I've been using calls crystals "X" instead of the more standard "Y." I have seen crystals designated as "X", "Y" and "Q." LEDs seem to go by "LED" instead of "D" as indicated in the Wikipedia list. Headers go by "J", "JP", or "H." Wikipedia says "J" is for a female jack connector, "JP" is for jumper, and it doesn't list a "H." My board has break away two-row male headers and keyed single-row male headers. Wikipedia does note that its list is a set of commonly used designators. Not necessarily standard.

We probably do have the specific standards document laying around here someplace, and if I were doing real work on a professional basis, I'd hunt it down and make sure I followed the actual standards. But I'm not doing real work with my controllers and drivers, so I just do the best I can. I wonder how often that happens everywhere. The standards books are "somewhere" but no one really knows where.

Duane Benson
Somwhere over the reflow...

Spam, Spam, Eggs and Spam

I normally expend most of my writing words on challenges our customers and other engineers might face in their day to day design and layout activities. But not today. Today, it's about a specific challenge faced by your typical blogger. Off and on for the last couple of weeks, I've come into work in the morning, opened up the blog and found three spammy comments. Here's today's three"

"Compare to the majority of the other blogs, your site tend to be so fantastic. Therefore nice to examining the post. If I've a probability, I would like to research along with you because I think that my potential haven't yet achieved the excellent amount."

"You may remember the three proverbs: Laugh, and the world laughs with you; Weep, and you weep lone. Life is measured by thought and action not by time. Long absent, soon forgotten."

"You may remenber [sic] the three proverbs: Laugh, and the world laughs with you; Weep, and you weep lone. Life is measured by thought and action not by time. Long absent, soon forgotten."

Now, it is a bit flattering to hear that my site tend to be so fantastic. Not just "fantastic", but "so fantastic"! But perhaps the subject matter could be a bit more on topic. The author noted that if he have probability, he would like to research along with me. I could always use some extra help, but I don't have any probability to pass on. Perhaps a call to Zaphod would be in order.

I'm not sure I agree completely with the second supposition. I'd bet that a lot of unemployed or underemployed folks are weeping right now. Probably enough that they could be considered to have a world weeping with them. I know I would. I'm also not sure what the deal is with the third one. That author just copied from the one above it. How rude.

All is not always as it seems though. After reading these this morning, I did as I always do and fed the three comments into my netlist confabulator. It turns out that the text in these three comments is actually a turbo-encoded form of the design of the Constellation spacecraft. If I had checked the IP address prior to marking the comments as spam, I wonder if I would have found that this is a desperate rocket scientist tying to smuggle his decade of work home before the lights go out and the servers get recycled.

Duane Benson
Have you got anything without spam?

Reference Designators

Not a subject I give much thought to.

For one, we here at Screaming Circuits don't really care too much what convention you use for your components. We want them to match and be properly formatted when in your BOM, of course. But because we program our SMT machines electronically, we don't really care if you mix things up. i.e. O for resistor instead of R or F for capacitor. It's not a good idea to do that, but we can still build it.

But, if we can build it, shouldn't anybody be able to build it? And, if anyone can build it, why should it matter? Well, in theory, it shouldn't matter at all. In practice though, people tend to be human and humans tend to be error prone. That's why we have standards, conventions and test procedures - to reduce the chances for errors. We also have conventions for the purpose of distributing bad, overpriced food and educational sessions, but that's probably a different convention.

It would be kind of like if you drove into a small town and there was a sign at the city limits indicating that in this town, red means go and green means stop. You would have all of the information needed safely traverse the town, but you would still be very prone to go with the green light.

I just recently saw a design where the connectors were labeled U1, U2... Again, we can build this and we did. But, if it comes time to do any rework, or if you want to make some design mods in-house, of if someone else needs to work with the board, they'll see "U something" and think you're talking about an IC instead of some sort of connector.

There are some specific industry standard documents covering the reference designator conventions, but I bet it's one of those things that most people just sort of know, but don't have the official document to go with it. Wikipedia has a list and a lot of companies probably have their own conventions.

It is easy enough to find these lists of conventions, but it does leave me wondering how some of them came to be. I get "R" for resistor and "C" for capacitor. "Q" for transistor even makes sense, although it's derived from a property of the device instead of the name as are R and C. But, why "U" for integrated circuit? It used to be "IC", but that's fallen out of favor now. Really weird is the inductor. It starts with "I", it's inductance value is measured in "henries" and henries are indicated by "L." Go figure.

Duane Benson
U take the high road and L take the low road

 

Easy Reading for a Long Weekend

The holiday is upon us and most folks here in the US will have a three day weekend. Of course, when you're an engineer on deadline, all too often holidays don't really mean that much. Here's a little food for thought for those that will be working over the weekend.

  • If you're trying to finish off that layout and need some advice on a pesky QFN or DFN, read these few bits about laying out for a quality reflow: here, here and here.
  • If you're trying to decide what finish to order on your PCB, read this, this and this.
  • If you just want to confuse yourself a bit, try this, this and this.

Now you can get back to some real problems - like finding that last little bit of clock jitter or figuring out how to keep the back-EMF from mucking with your MOSFETs.

Duane Benson
No shorts allowed under that BGA, 'cause shorts cause tan lines

Modularity and Standards

Eons ago, (well, it seems like eons) when IBM designed its original PC, it took note of the success of the Apple II with it's modular expansion system - easily accessible card slots with loads of clear documentation - and added its own variety of modular expansion system. By doing so, the cost of accessories to consumers stayed low, the cost of installing or replacing said accessories stayed low and a whole new industry emerged to create compatible accessories.

Apple II I just read a Twitter Tweet ("Tweet" sounds too cutesy to me, so I'm never quite sure what to call those; maybe a "Twoot"?) from Mike Buetow that linked to an article about the latest Toyota recall. It seems that there are a couple of specific solder joints prone to cracking in the ECM (Engine Control Module) of certain models.

The last time I had any real data on the cost to replace an ECM, it was on the order of $1,500. Just scanning around the Internet, I found numbers ranging from $1,000 to $2,000. I'm guessing (I am speaking from near complete ignorance) that maybe two or three hours of that are labor at $90/ hour. That's a lot of cost in the electronics as well as labor hours that can't be used for billable hours. With so much of new cars being electronic, this issue is only going to become more extreme.

So, why can't the auto industry take a cue from the PC industry. Create a standard, easily accessible, electrical bus with standard, easy to manipulate mechanical attributes. Even if they were just standard within each manufacturer, it would still be a big improvement.

Consider this scenario: Buy a Toyota mid-size-car ECM at the local auto parts store. Take it home, plug it into a USB port on your home computer. It auto-runs a link to a specific web site. Enter your car's VIN number and the site loads firmware that matches the ECM to your car. Take the ECM outside, open your hood, flip a few latches on the water-tight electronics box, pull the old one out and plug the new one in. There you go. Done.

Instead of what is pretty much a massively expensive dealer-only operation, you have half a dozen standard bus ECMs to choose from and about 15 minutes of work that's not much more difficult than installing a new printer on your PC. And, you'd have less expensive aftermarket options as well. And, a new industry would emerge to design and build those aftermarket options.

Duane Benson
Sadly, not in my lifetime, Batman...

Global Shifting

Friday morning, I walked my way to the office in a slight drizzle. It was overcast and cool in the morning, eventually warming to near August temperatures later in the day. We had a long, mild winter, a long, cool spring and it looks like we're having a very short, not terribly hot, summer. Yet, the statistics (probably) don't lie. Global warming seems to be very real everywhere but here. The peat bogs around Moscow are burning, giant ice islands are breaking off of Greenland, and it's like 900 degrees over on Venus. All that, yet still nice and mild here in Oregon.

I think the same kind of things may be happening in manufacturing. By some accounts, it's all doom and gloom for North American manufacturing. We seem to be losing all of our manufacturing to other continents. But, maybe we aren't losing all of our manufacturing. Maybe it's just a shift. The high volume, low-value add stuff is likely gone, but to me, it appears that there's a thriving manufacturing industry for low-volume high-tech items. And not just in the contract manufacturing area.

There seems to be a re-emergence of small companies that are performing their own assembly in house too. They outsource what makes sense to outsource and in-source what doesn't. Adafruit and Sparkfun are two examples. The Arduino folks (in Italy) are building locally-to-them too. The Beagleboard from big-player Texas Instruments, is built in North America. Screaming Circuits and other small-volume companies like us seem to be doing quite well these days. Is it possible that the North American manufacturing industry isn't dieing, but is just changing? That's what I think.

Duane Benson
"Comet due to explode the earth at 9:42 this evening. Details at 11:00"

Does Angle Matter

It's standard practice to avoid joining small PCB traces at 90 degrees, but instead to join them at an angle. But, does it matter for thick traces?

Right angle traces Here's some 20 or 24 mil traces. Is it really going to matter, with a pad-size trace, what angle the joining trace hits the other one?

Convention would have you do something like the alternative layout on the right. Either like "A" or like "B". But, is it really necessary and worth the extra timeNot right angle traces required to do that?

Part of me really wonders and another part of me says, it shows attention to detail and implies that the entire design was produced with the same care. It's that elegance in design thing.

The other question I have relates to "B", in the image on the right. Does it matter which direction the 45 degree trace intersects? Does it matter based on the direction of current flow or does it matter at all?

Which of the three illustrated techniques do you prefer and use?

Duane Benson
Winslow Leach says hi.

How Fast Is Fast? I Mean, Really?

We talk a lot about speed here at Screaming Circuits. Back in 2003, one of the main reasons our parent company started us up was because their customers were telling them that they needed prototypes faster.

So, I know that getting everything built is faster these days - we can ship fully built boards as fast as 24 hours after we receive a kit, and you can get the raw fabbed PCBs in a day too. Certainly, everyone knows that you can place an order with Digi-Key and have the parts on your desk (or in our shop) the next morning. But has the rest of the process gotten faster too? [See if you can find the shameless plug in there. Sorry]

Whether you're using Sunstone PCB123, Ultiboard, Eagle, Pads, Altium, Allegro, or any of the common Bb input pwr sect CAD packaged, you'll probably spend most of your prototyping time in the software. It's also probably the least predictable segment of the process.

What takes longer? The schematic capture or the layout? Or are both completely variable and totally unpredictable? If your boss came running into your office and said:

"Bob! Quick! We just spilled something. We need an underwater temperature sensor with a video camera that can send a real-time temperature data stream and live video feed a mile back a cable to a host computer. And we need it NOW!"

How long would "NOW" take for you?

Duane Benson
Changing your reaction to the duration of time since 2003...