Research & Development Engineering

I was born with "The Knack", per Dilbert, and have been programming and designing Embedded Systems ever since. I am a American Society for Quality - Certified Quality Software Engineer, with background in Analog/Digital hardware system design and layout. I worked for many years in a electronic Contract Manufacturing (CM) environment. I know what it takes to have a idea come in on the back of a napkin, and get a finished product out the door, from BOM to PCB. See my blog on the subject: http://blog.designer-iii.com/contract_manufacturer/20090616-211514-Is-there-a-rule-of-thumb-for-estimating-the-cost-of-getting-circuit-boards-assembled My particular interests are in the area of requirements management and Software Safety. See my award winning web site on the subject at http://www.softwaresafety.net , and my blog http://blog.softwaresafety.net .


's contributions
    • I never saw any value in Facebook until my wife's suicide. From 9,437 Facebook messages, some moments before her death, I reconstructed her life with the medical world, in her own words. See http://www.kpaddoc.com In some of the Facebook groups there is more collected wisdom and medical knowledge than in medical schools. These groups are mostly populated by the people that The System has left behind. They can tell you what works, what doesn't, who can help you and whom to avoid. The point here is that Facebook can have value if you do not allow it to be a time sink. I did not understand that myself until Karen died.

    • My concern is that with things being easy, doing things correctly may never happen. Far to easy for the inexperienced, especially in management, to say: "It looks like it works. Ship it." Where does the motivation to improve come from? I agree that you must keep control of the tools, I said similar things last year: http://www.embedded.com/electronics-blogs/break-points/4400698/mbed--A-strange-IDE NOV 7, 2012 9:43 AM EST The problem with any web based tool is that A) It assumes you have a fast reliable Internet. B) Will that web site work in five years when the customer wants a code change? How do you archive the tools with the project? [Will the site in five years produce the same code it does today?] C) It assumes your IT department is not run by Mordac.

    • Here is some real world code, been using it for years: https://github.com/dhylands/TimerUART/blob/master/CBUF.h " A simple and efficient set of circular buffer manipulations. * * These macros implement a circular buffer which employs get and put * pointers, in such a way that mutual exclusion is not required * (assumes one reader & one writer)." Simply avoid any queue that involves a 'count'. Nice to have but they are rarely implemented correctly as I've explained in my blog in the past: http://blog.softwaresafety.net/2012/02/even-design-patterns-still-have-bugs.html

    • Don't over look flux that is trapped under the parts. The 2006 paper in 2.3 is talking more about wave soldering than modern QFN's. Make sure there is a clear path for water flow (cleaning fluids) for ingress and egress of the flux. "Make it smaller" does not always go well with "make it manufactureable" when hard to clean parts (BGA/QFN/LCC/LGA) are surrounded by things like bypass caps for example. :-( Also do not over look Triboelectric Noise in your test setup when dealing with such low currents.

    • We have known collectively for years that a knob with indents, and physical buttons are easy to use on instruments or dashboards. Yet we see TV ads for new cars that do nothing but show the fancy center console touch screen, that is impossible to use without looking at it, to sell to the "Ooo Shinny" crowed. The Human Factors Interdisciplinary Research in Simulation and Transportation (HumanFIRST) project at http://www.humanfirst.umn.edu Studies this kind of stuff, yet the manufacturers ignore the data to sell more cars (based on TV commercials at least). "The HumanFIRST Program employs the tools and methods of psychology and human factors engineering to improve scientific understanding of driver performance and cognitive functions."

    • "The manual warns that the unit is unfused, and the shunt resistors are teeny little SMT things that will fry easily so one has to be careful not zap it with too much current." Place a silicon diode across the uCurrent terminals. High current (relative to the uCurrent range) will cause the diode to conduct, bypassing the uCurrent, preventing fried fuse. Diode will not conduct during the low uCurrent usage. Need to do tricks like this if you are testing a sleeping transmitter that could wake up and go from 20 nA sleep to +1A transmit with no notice.