Volume 2, Number 5 Copyright 1997 TGG August 21, 1997
You may redistribute this newsletter for noncommercial purposes. For commercial use contact firstname.lastname@example.org.
EDITOR: Jack Ganssle, email@example.com
- Editor's Notes
- More Dumb Mistakes
- Embedded Seminar in Boston
- Thought for the Week
- About The Embedded Muse
For those of you interested in the "The 24 Best Ideas for Developing Better Firmware Faster" seminar in Boston on September 18, see the info later in this newsletter. As of today there are only a few seats left.
Readers have made more contributions to the "Dumb Mistakes" collection. Keep sending them so maybe we can all learn from each other.
Finally, the "Thought for the Week" is set to the tune of the theme song of The Beverly Hillbillies. International readers may not have been subjected to this old TV program, so may not know the tune. You're lucky; alas, this music all too often echoes around in our American skulls when we're supposed to be thinking productive thoughts and cranking code...
More Dumb Mistakes
From: Mitchell McGee
My first project at a new company highlighted the importance of not making assumptions. The design incorporated a TL7702 voltage monitor for brown out protection. I connected the previously unconnected active high reset signal to the reset input of the new processor I was tasked to add. Of course the processor failed to power up consistently. When I probed the reset signal I saw 12 volts during reset! I had noticed that the TL7702 was monitoring 12V; but I assumed that the device was 5V powered. Wrong!! The previous designer hid all the power and ground pins so they were not visible. Now I create "pin lists" that describe the implementation characteristics of each pin of every IC and never hide the power and ground pins.
From: Jack Ganssle
Mitchell's comment about making assumptions is right on: I find one of the toughest things to teach young engineers is to check their assumptions. Their test equipment might be bad; their compiler might not be the right version. Thus, this story of my own, though the names have been changed to protect the guilty:
An engineer I worked with, one a couple of years out of college, designed a marvelously complex new board with about a hundred high density SMT packages. After a week of "Bob's" inability to make even the smallest part of the logic function I was called in.
The scope showed all of the digital signals floating in bizarre half states. Things were heating madly; sometimes packages even de-soldered themselves.
With a bit of head scratching and a long searching session with the data books the problem came clear: the SMT packages did not have power and ground in traditional places. "Bob" hadn't bothered to check. He simply assumed power and ground went on corner pins.
Several weeks of work and $5000 of PCBs and parts went in the trash that day...
From: Rich Quinnell, EDN Magazine
Having had my own share of goofups I sympathize with all the stories. Here's a few of mine.
Three weeks of effort trying to solve what I thought was an intermittent failure of a NVRAM to keep its data secure finally got resolved when I realized that the RAM was working fine. The problem appeared when the software did a checksum on the data to verify its accuracy, and failed. Turns out the register bit that converted the ALU from binary to BCD arithmetic was never initialized, and would occasionally power-up in BCD mode. Funny how adding in a different number system results in a different number.
Lastly, I will never again try to carry a solvent in a Styrofoam cup. It not only melted the cup, it melted the tile floor and fused my crepe-soled shoes to it.
Embedded Seminar! Boston - Thursday, September 18
Last issue I mentioned a full-day embedded seminar I'll be conducting in Boston next month. It's called "The 24 Best Ideas for Developing Better Firmware Faster", and is for the developer who is honestly looking for new ideas, but who wants to cut through the academic fluff of formal methodologies and immediately find better ways to work.
The focus is uniquely on embedded systems. I'll talk about ways to link the hardware and software, to identify and stamp out bugs, to manage risk, and to meet impossible deadlines.
A few seats are still available.
Thought for the Week
The Computer Hillbillies
Come and listen to a story 'bout a man named Jed
A poor college kid, barely kept his family fed
But then one day he was talkin' to a recruiter
Who said, "they pay big bucks if ya work on a computer..."
UNIX, that is... CRTs... Workstations...
Well, the first thing ya know ol' Jed's an Engineer
The kinfolk said "Jed, move away from here"
They said "Arizona is the place ya oughta be"
So he bought some donuts and he moved to Ahwatukee...
Intel, that is... dry heat... no amusement parks...
On his first day at work, they stuck him in a cube
Fed him more donuts and sat him at a tube
They said "your project's late, but we know just what to do
Instead of 40 hours, we'll work you 52!"
OT, that is... unpaid... mandatory...
The weeks rolled by and things were looking bad
Schedules started slipping and some managers were mad
They called another meeting and decided on a fix
The answer was simple... "We'll work him sixty-six!"
Tired, that is... stressed out... no social life...
Months turned to years and his hair was turning grey
Jed worked very hard while his life slipped away
Waiting to retire when he turned 64
Instead he got a call and escorted out the door
Laid off, that is... de-briefed... unemployed...
Now the moral of the story is listen to what you're told
Companies will use you and discard you when you're old
So gather up your friends and start your own firm
Beat the competition, watch the bosses squirm
Millionaires, that is... Bill Gates... Steve Jobs...
Y'all come back now... ya hear'