i learned a few this about the sleep. here is a code segment from my 58 project, i haven't ordered the 508's yet. note that you must reload the OSCCAL every time and also the OPTION register, but most of all, and i don't understand why you must reload the TRIS register. even though outputs remain active during sleep, when the processor resets it changes them to the input mode. Reset movwf OSCCAL Start movlw B'11001111' OPTION movlw H'FF' ; set all ports high movwf PORTB movlw B'10110001' ; Port B TRIS PORTB btfss STATUS,4 ; wakeup from sleep? goto wakeup power_on_reset clrf bit_variables michael