I made a remote controlled wall switch for lighting. It is an ATTiny85 (8MHz internal), a 315MHz ASK receiver using RCSwitch, a 5v dual coil latching relay, and a modified Decora rocker switch to be momentary SPST. The relay toggles either with the manual rocker switch, or with an RF signal, for 3-way switch functioning.
Everything works great. I'm just looking for ways to polish the project with a power saving function to stretch battery life (for the meantime until I decide to feed it from the mains through a converter).
The whole shebang runs on 4 AA NiMH batteries. Haven't run a set into dead yet. But I've tried a single 18650 through a boost to 5V and it only lasted a couple days. Maybe power saving would make the 18650 viable.
The RF receiver uses interrupt 0 on pin 2, and the manually activated rocker is a standard button input/pulldown on pin 3. Those are the two inputs that the ATTiny85 has to respond to, (by writing either pin 0 or 1 HIGH to turn on either relay coil via transistors).
I want to keep the setup running at 5V as the relay needs that and the RF module receives acceptably. I've built one with a 3V coil relay but the RF wasn't too happy. I've kept it at 8MHz, haven't been sure enough to pick 1MHz in the IDE settings and how that would affect things. But for the simple project that this is, 1MHz should be plenty if it works.
Is it possible to put the ATTiny85 to sleep while still having it responsive to incoming RF data on the interrupt as well as the button input (not interrupt)? Or does it need two inputs, one to just wake it up and another that it will actually perform other functions?
What does this chart mean by 'only level interrupt'? The pin state change from my button seems okay, but what does incoming RF data look like to the ATTiny85? Will it lose any of the incoming message upfront so I'll have to just send repeats?