Go here to sign up for The Embedded Muse.

Embedded Muse 210 Copyright 2011 TGG August 1, 2011

You may redistribute this newsletter for noncommercial purposes. For commercial use contact jack@ganssle.com. To subscribe or unsubscribe go to https://www.ganssle.com/tem-subunsub.html or drop Jack an email at jack@ganssle.com.

EDITOR: Jack Ganssle, jack@ganssle.com


- Editor's Notes
- Quotes and Thoughts
- Books
- Tools and Tips
- The Dumbest Thing I Did
- Jobs!
- Joke for the Week
- About The Embedded Muse

Editor's Notes

Are you happy with your bug rates? If not, what are you doing about it? Are you asked to do more with less? Deliver faster, with more features? What action are you taking to achieve those goals?

In fact it IS possible to accurately schedule a project, meet the deadline, and drastically reduce bugs. Learn how at my Better Firmware Faster class, presented at your facility. See https://www.ganssle.com/onsite.htm .

Flash Update! I'll be conducting public versions of this class in Chicago on October 21 and in London on October 28. More info here: https://www.ganssle.com/classes.htm .

Pete Upczak sent in a neat link to a 6502 archeology project: http://www.archaeology.org/1107/features/mos_technology_6502_computer_chip_cpu.html

Quotes and Thoughts

Thanks to Harold Kraus for sending this: 'Whereas Newton could say, "If I have seen a little farther than others, it is because I have stood on the shoulders of giants," I am forced to say, "Today we stand on each other's feet." Perhaps the central problem we face in all of computer science is how we are to get to the situation where we build on top of the work of others rather than redoing so much of it in a trivially different way.' (Richard Hamming, 1968 Turing Award lecture)


I've been getting a lot of email from people asking about various embedded books. I've reviewed about 50 here: https://www.ganssle.com/bkreviews.htm .

I'm working on the following, and will have reviews in the not-too-distant future:

- Mission-Critical and Safety-Critical Systems Handbook, edited by Kim Fowler
- Bootstrap Yourself with Linux-USB Stack by Rajaram Regupathy
- Design Patters for Embedded Systems in C by Bruce Douglass
- The Software IP Detective's Handbook by Bob Zeidman
- Embedded Linux Primer, Second Edition by Christopher Hallinan
- Hardware/Firmware Interface Design, by Gary Stringham

Tools and Tips

The tool tips keep pouring in! Keep `em coming.

Except for this week!

The Dumbest Thing I Did

When interviewing I always ask candidates (those with experience) about their dumbest mistake and what they learned from it. Those with no mistakes are generally those with no experience - or are perhaps truthiness-challenged. Do you have any?

Ron Landman admitted to a mistake: "I was trying to hold off and not confess anything but here is one on many. Back in the 70s I worked at a company that made industrial equipment, sometimes controlled by electronic circuit boards instead of the usual double cabinets full of relay logic. They tested those boards with a homemade tester run by a minicomputer whose programs were loaded from punched paper tape.

"Trying to be proactive against the day that the paper tape wore out or tore I made the effort to copy all of the paper tape programs on to Mylar tape. Finally got all the tapes copied and started using the new Mylar ones. Trouble was that now I had to reload and reload the tapes over and over until I got the program loaded correctly. I even ordered new reader etc. Funny thing was, the paper tapes still read in just fine.

"Long story short, found out that the puncher that created the tape was either designed for paper tape only or had dull punchers. So the Mylar tapes ended up stretching ever so slightly when being punched so some of the bits no longer lined up across the optical reader correctly when reading back in. So much for being proactive."

Gary Crowell sent this: ""My first task at a new job was a respin of a large display processor board. The board had five large FPGAs that were in PGA packages. Due to my unfamiliarity with the layout tool, I managed to create the PGA footprints in a perfect mirror image, which only became apparent when the board was populated and in test. However, it was thru-hole *PGA* packages, and they *were* perfect mirror images... So we mounted the PGAs on the back of the board. And it worked perfectly. I dont think that many people bought my explanation that it was done that way to improve cooling."

"I panicked when I realized my supervisor was in the hallway and about to come in and see that I was futzing around so I deleted it. I deleted the file named *.* and then watched as the name of files on that mammoth 10MB drive scrolled up the screen as InDX announced proudly that it had been successfully deleted. I tried hitting escape. I tried hitting escape harder. Nothing worked. I then did what any one else would do in a similar situation. I yanked out the power cord. It coasted to a stop and sat there. I plugged her back in. She purred back to life and I tried to rebuild my long overdue project. Everything was there except for one file, but I had a hard copy of it so I just hunt and pecked it back in."

Ajay Nagarkar confessed: "While designing an FPGA Based control system for a renowned Industrial Control System Equipment Manufacturer, we came across a "showstopping issue" after the populated board came back. The PCBA was a fairly complex controller using a Cyclone III FPGA from Altera. Due to some reason the layout engineer missed the fact that the FPGA has a slug underneath that has to be connected to ground. Well bygones remain bygones and here we were with the 144 pin TQFP FPGA soldered on the board giving us no chance to sneak underneath to get access to the ground plane.

"Just when we had almost concluded that another turn around was inevitable before we can actually "bring up" the board, one engineer who was looking at the layout came running down the stairs. "What if we drill our way till we get access to the slug ?" he asked. I looked at him with a look that basically said "What are you smoking this morning ??"

"But then some rounds of discussion and some time in front of the tool boxes and the PCBA, started giving me some confidence that maybe this is actually possible. (Looking back , maybe it was me who was smoking something). (Pressure can sometimes make you accept such dangerous suggestions , doesn't it?)

"Well so here we were in front of the layout measuring the exact area where we could get access to the slug and marking that area on the board. Some components on the bottom side were kind enough to give us way to this drilling operation. (So the layout guy did something right, didn't he? ... ouch )

"Now here was the plan. Slowly start the drilling operation by counting how many layers of the 6 layer board have we crossed (counting copper and substrate both of course) and finally stop when the right number arrives.

"It was not actually as hard as I thought it would be. Thanks to the Black and Decker toolkit that we have at MAPYN. After 45-60 minutes of careful drilling and brushing away the filings there was a point when I actually saw the silver color, and the drill bit felt as if it was hitting something harder than what we were drilling against for the past hour.

"Yeah !! This was it. We have hit gold... no sorry silver .. no sorry slug (It was actually a pleasure this time that I did not see gold .. because had I seen it that would have meant that I am staring at the bonding leads and that would not have been a pretty sight at all). So much for not being a gold digger !

"Anyways. There I was with the slug in front of me .. what next?

"Now the next step was to take some solder paste and carefully apply it to the exposed slug. That was a tricky part because the drilling exercise had exposed the internal planes and the fear was that the solder would short the internal layers and that would be the end of story.

"So carefully we applied the paste, took the rework station hot air gun and starting carefully blowing hot air (not literally...) on the newly created well.

"As soon as I saw the paste melt I quickly grabbed the small 30 AWG wire that I had in my other hand and inserted the stripped end in the well and removed the air blast.

"Success was not a one-shot thing here, but patience and persistence bore fruit and there we were with the other end of the wire being soldered to the ground connection on the board.

"Felt good to finally do real soldering (I will no more complain if I have to solder 0402 parts.. at least not after this task).

"Byteblaster connected and bingo ... the binary file was in the Flash and board was up. We almost danced as if the project was over .. only to realize after a couple of minutes that it had actually just ... started."

Timothy Watko wrote: "In the early 80s I was working at a company using Data General Nova 3s. I was working on a system with a pair of CDC 300 MB disk drives. Drive 0 started blinking its fault light. To get around this, I thought I'd just swap disk packs and re-cable the drives to swap which one was drive 0. After powering up, the new drive 0 started blinking the fault light. Now I actually looked at the disk pack (7 platters, I think). I was horrified to see a lot of bare metal. All the heads (and there were a lot) in both drives were ruined. We never used those drives again."


Let me know if you're hiring firmware or embedded designers. No recruiters please, and I reserve the right to edit ads to fit the format and intents of this newsletter. Please keep it to 100 words.

Joke for the Week

Dejan Durdenic sent this: A few decades ago, a friend of mine had an opportunity to work with Cray X-MP and said that "It runs so fast that it can do and endless loop in less than 15 seconds..."

Note: These jokes archived at www.ganssle.com/jokes.htm.

About The Embedded Muse

The Embedded Muse is a newsletter sent via email by Jack Ganssle. Send complaints, comments, and contributions to me at jack@ganssle.com.

The Embedded Muse is supported by The Ganssle Group, whose mission is to help embedded folks get better products to market faster. can take now to improve firmware quality and decrease development time.