James Cameron wrote: > I didn't *really* want to drive the latching relay at 99% PWM duty > cycle at 55Hz, Well, *don«t*! I presume you mention 55Hz because you have used the prescaler for the timer? If your prime concern is to save current and the module doesn«t do much else, I«d suggest the prescaler is better allocated to the WDT. You can hang any number of cascade counters from a timer overflow anyway, and even without prescaling, 250-odd instruction cycles is plenty to do most things i.e., you do your 200-cycle job, wait for the counter to overflow and service it, then do your job again... It generally doesn«t matter if the once-per-second or so task takes 200 cycles itself, delays the "foreground" task and makes the next overflow late, because the next overflow is guaranteed not to ripple! > I suppose if I placed a capacitor across the output pin, and made it > change between high and tristate instead of high to low, then I'd > reduce the impact of this little "feature." You«ve got me beat. Why are you using SLEEP whilst trying to drive the latching relay? You aren«t saving current for starters. Firstly, you only drive the latching relay so long when you know you need to change its state and then you release it; after all, that«s why you used it in the first place. Secondly, if you want to remember where you last put it while you go to sleep, you store this in a register (which is unchanged) while you sleep. On awakening, you see if the relay is supposed to be where you want it, and pulse it if it isn«t. The Power Down bit is to tell you if you have lost power in which case you assume the "last position" bit is 50% wrong, decide and set the relay anew. What«s the problem? -- Cheers, Paul B.