Is Geek Cool?

When I was young, "Geek" was not cool. Neither was "Nerd". Working on cars was cool as was logging and shooting Bambi's uncles with high powered rifles, at least where I came from things were that way. On the other hand, every little town had a Radio Shack where you could buy tubes, transistors, ICs and other assorted electronic components. You don't see that so much anymore. Grocery stores sold publications like Byte Magazine, 101 Electronics Projects and Radio Electronics. Those magazines were about building things. People who read and wrote those and others like them created an industry in their garages, basements and bedrooms. They started a new Industrial Revolution.

Still, back then, tech folks were more likely thought of as mad monks and strange people like Eddie Deezen as "Mr Potato head" (Malvin) in the 1983 movie War Games. You didn't want to be one. I like to think that attitudes have changed over the years, and I think the signs are there.

The FIRST Lego league with its robotics tournaments has created a legitimate "sports like" atmosphere for geek-types in school. 50,000 plus Arduinos being sold shows that the electronics hobbyist world is moving again like it did in the 80's. The maker and bender communities illustrated by Hackaday, Makezine and supported by companies like Adafruit and SparkFun show that creating with chips is as alive as it was in the late 70's and 80's. TV shows like Mythbusters, Jimmy Neutron and Prototype This have glorified the geek.

And why do we care? Because the more engineers we build out of the masses, the better we can design and build our economy. The more mainstream and acceptably technology is, the more educators will work to encourage and foster the environment and attitudes that allowed Apple, Dell, Google and SparkFun to thrive. We need that. We need robotics competitions to be as socially acceptable as football games.

Duane Benson
The rooms were so much colder then

Than Thara Wara Nona

I recently received an email comment about my blog writing that I think does a very good job of illustrating one of the frustrations that many design engineers face.

"Please have someone teach Duane the difference between "then" and "than". It really makes him look dumb, and I very much doubt that Duane is dumb. It's just painful see these everywhere in his blog. regards"

I've also been called out on "it's" vs. "its" before too. At least, I seem to mostly have the "to", "too" and "two" down. Now, I'm a reasonably educated person and writing is a significant part of my job, so you would think that I wouldn't fall into traps like this. Undeniably, I do. It drives me nuts. I even have a couple of websites that I refer to (when I think about it) to help with such things. Site one and site two, but obviously I still fall into the traps.

So, how does that relate to the frustrations of a design engineer? Well... read my blog. Most of my writing is about a very similar issue. Check this one about via in pad. And this one about parts libraries. Or this one about shorting potential under a QFN.

None of those problems were created by "dumb" people. Likely all of those boards were created by intelligent, highly skilled, well trained engineers - people who got picked on in school for blowing the curve, or were called "Spock" by the kids not on a college track. Yet, what does such an error get? It may get a blog post here. It may get a Twitter comment like this that I wrote about. Of course, some times silly little oversights like this have more dire or more expensive consequences.

And the moral of the story - attention to detail and continuous learning. Never stop trying to learn. Never stop double checking. I have to keep referring to my two grammar sites and other references. If you're a designer, never stop researching. Dig into those data sheets. Read up on best practices. If you're working a job over multiple sites, always make sure everyone's using the same rules.

Now over the next few days, I'm going to go back through my past posts and see how many of these "than/then" errors I can find and rework. Ugh.

Duane Benson
Never give up. Never surrender.

The Next Industrial Revolution - Is Happening In 1910

Matt, our product manager, sent me a couple of interesting links about the next Industrial Revolution. The first was an article in Wired Magazine by Chris Anderson. The second was a rebuttal in Gizmodo by Joel Johnson. Both had some interesting points. Both, as far as my thoughts go, have some truth and both have some silliness, again as far as my thoughts go.

RCA12ax7_sq_arms Regarding the idea that what is going is something new and revolutionary, well, maybe the products are new, but the process really isn't, but for a few specific details. A while back, the country was coming off of an economic down turn and a wholesale group of young folk with tools at hand built an industry in garages and barns. That was the auto industry.

All of those farm kids grew up around machinery. They all had the tools at hand and the knowledge to use them. Communications (teletype, telephone, newspapers) was changing the way information flowed around the country and world. Transportation (railroad and the autos/trucks that they were building) was in revolution and changing the accessibility of new markets.

Car companies were coming and going all over the place. Sound familiar? Then there was consolidation, conformity, near-monopoly, bloatware and then crash. Yeah, and the same thing started with electronics and computing back in the 60's, 70's and 80's. It's happening again now too. Big surprise. It happens whenever there is a convergence of the cycles of low-barrier to entry (good, cheap tools), emerging technology and bright young folks with time on their hands.

I see some of what Chris is talking about in our electronics manufacturing customers. I just have a bit of a different take on it. First, rather than seeing this all as new, I kind of feel like "here it goes again." Second, I think what he misses is the concept of scale. On certain scales, what he says is very true and very workable. However, companies that spend a few years developing their products would like to eat food and send their kids to college, so they need to earn money for that intellectual property they have developed. That being the case, they still need a place to build their things, but a place that wont steal that intellectual property and deny the company's kids their college education and food.

There's a place for the model Chris is describing. There's also a place for megalithic industry producing gajillions. And there's a place for companies like Screaming Circuits that cost more than open source but focus on making life easy for an engineer and can build prototypes or flexible low to mid volume manufacturing without the hassle of big industry or the risk of losing a livelihood to people with a very liberal interpretation of who owns what. (see #1101 in this post)

Duane Benson
Danger Will Robinson!

Want Data

RCA12ax7_sq_arms So, I tried to participate in this SparkFun "free day" this morning. They were giving out $100.00 worth of goodies for free per customer (up to a combined total of $100,000), starting at 9:00am MST (8:00am PST here in Oregon).

I was pretty excited about it and had decided to get a new PIC programmer and some pre-assembled jumper wires. I hate crimping those little things by hand. I put it on my calendar for the night before and again for that morning. Then, I found out that I had forgotten a dentist appointment at 8:00 that morning. Bummer.

Just in case it would take more than an hour to burn through that $100K, I went ahead and got ready. I logged in and put the items in my cart. I left the browser sitting there waiting. All I had to do was click the "Place Order" button when I returned after getting my teeth scraped.

But, alas, when I got back, the site was timed out and not accessibly. I refreshed, tried a different browser, refreshed again, etc. I did once get enough of the site to load to see that they had only sold through about $19,000 thus far. Okay. That's not so bad. I could finish making my latte and get in to the office. Maybe try there.

Then, at the office, I was never able to get anything at all from the site to load. All full up. I had to go to a meeting at 10:00 and I thought that if they stayed at around $20K per hour, I might just have a chance of getting through when the meeting was over. But, it was not to be. When I checked in again at 11:30, all $100,000 was sold through. My guess is that so many people were trying in the first hour that the servers only had enough bandwidth to process $20K. After that, enough people gave up trying that the hardware could get the final $80K through in the next 44 minutes ad 50 seconds.

Now here's where my quest for data comes in. I was never able to get more then one click into the process. If all connections were equal, I would presume that everyone would have had the same results. Even if by random chance, someone found a pause long enough to get one page loaded, the chances of each subsequent step would drop astronomically. So, what is it about the Internet that gives some people priority over others? I'd love to see a geographic overlay of the folks that got an order placed combined with their distance from a backbone. Is it distance from a backbone (in hops or in miles) or is it distance from the SparkFun server?

In any case, good for them. It was a fun idea and great gesture of "thanks" Bummer for the inability to handle the load. Here's a Twitter quote from Chris Anderson on the subject: "Google's servers can't keep up with Nexus demand; Free Day brings down Sparkfun. It's 2010--why do we still have these scaling problems?" Ironically, when I first went to Twitter to copy that quote, Twitter was reporting over capacity and I had to wait a while for all the tweets to come back.

Duane Benson
If only my packets were more aggressive...

MOSFET Temps

How do you keep your MOSFETs running cool?

  • Flyback diodes?
  • Managing the PWM frequency?
  • Big heat sinks?
  • Fans?
  • More MOSFETS in parallel?
MOSFETs

Duane Benson
Remember, no matter where you go, there you are.

My Screaming Favorites from 2009

Years ago, it seemed like the last two weeks in December were just full of retrospectives on the year. It was all over the media all the time. I don't really hear so much of that any more, which might be a good thing, because it kind of made me a little sick at times. Certainly many lists are around, but it just doesn't seem to be such a big deal. Or maybe, I just don't pay attention anymore.

I'm in just that kind of a mood though, so I thought I'd put out my own little retrospective. It's not really a top-ten list, but close enough.

Trade shows: Still got to be the Embedded Systems Conference. I love engineer shows. Years ago, I used to go the Comdex and CES. Way, way back, I went to the West Coast Computer Faire (I was there when the Mac was first shown). Comdex and CES all so glurgy and more about hype then real stuff. At ESC, most of the companies are there showing things that I like and most of the attendees are there to actually learn. It's just cool.

It was kind of sad to see such a sharp decline in companies participating both in San Jose and Boston this year. I think we saw about the same number of folks wandering the show floor as past years, so that at least was good, but I do hope this show remains strong.Ti_beagle_board_top2 (Small)

Embedded dev boards: This is a three-way tie between the Beagleboard, from Ti, the mbed, from NXP /  Arm and a PIC based board that I made myself. 

The Beagleboard really sets a new standard for power and accessibility in the embedded development world. As far as I can see, it's a game changer in those terms. Really fine work and making it affordable and open source has made it accessibly to a huge community that would likely have not jumped were it positioned as a high-cost closed development system.

Mbed-microcontroller-angledThe mbed does for ease of programming and learning what the Beagleboard does for power and features. mBed is truly amazing in terms of how easy it is to get up and running with a 32 bit processor. Again, I don't think I've seen this big of a leap in ease of development ever.

I could list the Arduino here, and it's a viable contender in the 8-bit class, but I'm876-CTRL_rev2.1 001 g more of a PIC guy and I'm a little biased toward mine because, well, it's mine. The Arduino gets enough attention in other places anyway. Mine is of a similar caste as Arduino, was first designed in 2005 and has gone through a number of iterations since. It has IMHO a better I/O structure and a little bus to easily connect to some small motor controllers I've designed.

New chip packaging: Package on Package (POP) has been around for a while, but I think it's just finally starting to come in to its own this year, and we've just started assembling it this year. It's a pretty cool way to chomp some more size out of a small little embedded design. The Ti OMAP (used in the Beagleboard) isn't the only POP that we've assembled here at Screaming Circuits, but it's probably the most visible example.

Consumerish thing: I'd have to say electronic ink, as used in the Kindle and other electronic book readers. I haven't spent a whole lot of time with any of these, so I'm not totally sure it's ready for prime time yet, but I think it's very cool and very promising.

Movement: This is a pretty easy one. The open source hardware movement (I hope). Open source has been serious business in the software world for a long time, but until recently, the hardware community hasn't jumped on the concept. Now we have Beagleboard, Arduino and a gazillion others. There are even a number of web sites pretty much devoted to open source hardware and related subjects like circuit bending.

My only concern is that the hardware folks may get overwhelmed and go back into hiding. Over on the Beagleboard Google group, though it's supposed to cover both HW and SW, the topics are virtually all software related. A few HW exclusive discussion boards (like chiphacker.com) have popped up and may get traction, but there's a lot of catching up to do.

My honorable mention in the movement department would be the closely related "after hours hardware" community. This includes hobbyists, circuit benders and hackers (of the good sort). I think the barriers to entry to starter hardware development are lower then any time since the early 1980's. That's a good thing. The more people involved in electronics as a hobby, the more we will have heading down that career path and the more new small businesses we will have start up. All a very good thing. Certainly a lot of creativity going on in this arena.

That's all I've got for now. So I'm calling the list closed. Maybe more later. Maybe

Duane Benson
Merry Christmas, Yo, Ho, Ho Green Giant and A Bottle of Rum

Ye Hardware Engineer on Quest for Firmware

I've been spending some time with the mbed here and I'm convinced that there are a lot of good uses for this little thing. One in particular popped in to my head with a lot of vigor.

Back in December of 2008, I listed ten (Octal) things to do to help get through a lousy economy (read #3). If you're pretty much a pure hardware engineer, now might just be a good time to develop some firmware skills.

In my mind, one of the biggest problems going from hardware to firmware isn't the programming itself. That's not really as tough to pick up as you might think. But it's the environment. The tool chains. The configurations. Make files, environment variables, linked libraries, boot loaders, ICSP, flag bits... There's a load of ancillary junk that gets in the way. Some micros require purchased proprietary compilers. Some use open source. Should you use C or C++ or ASM? Too many choices.

Well, here's something that gets rid of all of that extra junk. Plug in an mbed and in minutes you can be experimenting with C programming on an embedded micro controller. Use the onboard LEDs and sample programs to get instant gratification. Plug in some external LEDs or a sensor of some type (maybe from sparkfun) as you get a little more versed in the language. Save the data to the FLASH and graph it in Excel or something.

My personal feeling is that a hardware engineer is much more employable these days with the ability to write firmware. I haven't found a better way to get started then with an mbed. You can worry about all of the other details later, but use this little guy to teach yourself to code.

Duane Benson
It's been a soft day's night, and I've been coding like a frog

My mbed Is Up

I wrote about the new mbed development board a while back and mine just arrived over the holiday weekend. I have to say, true to it's promise, It was the easiest piece of development hardware that I've ever brought up:

  1. Take it out of the shipping box
  2. Plug in the USB cable to the board and my computer
  3. Wait a minute for it to be recognized and open up like a USB thumb drive
  4. Double click on the web shortcut in the drive
  5. Register
  6. Click the Compiler link
  7. Pull up a code sample and modify it a bit (I didn't need to modify it, but I did anyway)
  8. Click the compile button
  9. Save it to the mbed as though it were a USB thumb drive
  10. Press the reset button on the mbed board

That's ten steps, but it's only ten steps. There was nothing else to do. Nothing. The longest step was number seven which took me about two minutes. I programmed a "Knight Rider" sweeper with the four on-board LEDs. I made one of those for my Jack-o-lantern back at Halloween, so it was the first test program that popped into my head.

I built the Jack-o-lantern sweeper with eight LEDs and an 8 bit PIC16F819. The PIC I used came in an 18 pin thru-hole DIP package, costing $3.22 at Digi-Key, and I hand soldered it all on an old perf board. It runs at 20MHz, has 16 GPIO, 3.5K program code space, 256 bytes of FLASH and 256 bytes of RAM.

Mbed pinout The 32 bit NXP LPC1764 runs at 100MHz in a 100 pin LQFP and costs $8.70 in quantity of one at Digi-Key. (The dev board, of course, costs more then that) It has 512K of program FLASH and 64K of RAM. The dev board can have up to 25 GPIO (the chip can have up to 70 GPIO with your hardware) along with the standard assortment of peripherals that can be configured, including six hardware PWM channels. The mbed dev board is like a breakout board configured as a 40 pin 0.1" DIP so it will be easy to prototype with.

The processor, being a fine-pitch package really isn't hand-solderable like the PIC except for by the most adventurous of folks, but that's where Screaming Circuits comes in. Why wait for your custom hardware before starting on the software. Get one of these mbed dev boards to work on your software while the EE folks are designing the custom hardware. Then, when they're done, we'll assemble up the prototypes and you can integrate it all together. Take some time out of your development schedule that way.

I've wanted to try out an ARM processor for quite a while, but prior to this, haven't found the right way to do so while keeping within the limits of my time availability and skill set, but this looks like it could very well do the job.

Duane Benson
Robots rule!


What it is...

Dan got it. As for what it has to do with PCBs, well, not a whole lot except that my desk was all messy that day so I was using the carpet as a backdrop to photograph a pc board.

What it is Misc components on boards

Yes. I know. It's a trick question, and not all that interesting in the end, but I was suffering from lack of sleep that day. I thought it just looked cool and so it seemed like a good idea at the time.

Duane Benson

What is it?

What Misc components on boardsWhat is this and what does it have to do with PCBs?

As you ponder that question, if you care to ponder that question, keep in mind that I have at my disposal, not just the work of my company, Screaming Circuits, but I have the entire Internets to draw from and the Internets have photos from all of the history of electronics. So, this photo might actually not relate directly to via-in-pad or small component tombstoning.

There will be no prize for the correct answers, but you will likely get at least 3.2 picoseconds of fame if you post your answer as a comment here. And while a picosecond may not seem like much, if you could save picoseconds in a leyden jar, and then do the same over and over again, you could eventually end up with a usable duration.

Duane Benson
To have enough time
to do the things you want to do
you just need a fast enough internal clock speed