Jack G. Ganssle is a lecturer and consultant on embedded development issues. He conducts seminars on embedded systems and helps companies with their embedded challenges. Contact him at jack@ganssle.com. His website is www.ganssle.com.


's contributions
    • Schematics.com offers a free schematic editor for those who wish to share their designs.

    • Hacker, Maker… do these neologisms imply only a facile level of understanding?

    • Agile luminary Ron Jeffries thinks it’s wrong to estimate schedules. Is it?

    • snprintf() is generally preferable to sprintf().

    • A BR2032 only has 190 mA of capacity, and that drops a lot if it is used in a cold environment. 190 mA over 10 years means the system's average draw cannot exceed 2 uA. It sounds like your system will be hot; you may have to assume the worst case power-down current of 4 uA, so the system can't last more than 5 years, even if it never wakes up. Note the 4 uA spec is with T1OSC and all peripherals off; will the timer even run? The frustrating part of the two bad batteries is that they tested OK. They were "bad" simply because they only delivered half their rated capacity. That sounded like a mixup with a smaller battery, but I examined them under a microscope and with a micrometer and found them marked exactly like the other CR2032s with the same dimensions. Strange! More coming on this subject in coming weeks and months.

    • Rich, A lot of it was ground bounce that caused incorrect latching. As an electronics technician in high school in the late 60s I was taught that "ground is ground the world around." Unfortunately, it's not. Reactance in PCB tracks limits how fast energy can be transferred. Jack

    • That's a great link! Thanks for making my day.

    • By this I mean that one should not count errors detected by the compiler. Compile the code, fix all of the problems it finds, and count all subsequent errors.

    • Charles, You're right. The 10**-15 error is some sort of transcription mistake going from Word to HTML. The 0.18 nA is my goof. Thanks! Jack

    • This is a very difficult issue. Some on-chip brownout detectors require far more current than the MCU core does in sleep mode. Writing to flash usually takes quite a lot of energy. And holding up the power using a capacitor will (probably) not work. If you do the time constant math, it will take a sizable cap, and the cap's leakage is proportional to it's size in Farads. So a big enough cap will probably leak more microamps than the MCU uses when sleeping. You'll have to use a ceramic cap (tantalums leak like an NSA whistleblower), and for some of the analysis I have done either it's impossible to get a cap of the required size, or it will cost $10 or more. I'll cover these issues more deeply in a future article.

    • Yes, Marcus tells me their ISP is having trouble this week. I know he and his people are working furiously to get it back up.

    • I walked into the house today and my wife told me her sister-in-law had called from the car, but suddenly, while talking, sideswiped a car, on a high bridge over a river. 5 minutes later she called again: now she was still on the bridge, still driving, following the other car and a cop to a safe spot!