Yes, it works, and its great! My Multitester doesn’t even show the amount of mA used (uA actually) during Power-Down, its really impressive. During usage is 25mA, not bad, since it lasts a few ms before it powers-down again.
I had to do some changes to the Infrared code to work on my ATmega8 chip, the one I’m using. Tests were done with a 3V battery and no external crystal. (just the chip actually) Question: do I need a capacitor for this? I see the U.Remote I got has a kinda big one inside.
Here’s my first DRAFT TEST code, just to keep things in motion. 
Main file
// Power Saving based on code by CrossRoads - http://www.crossroadsfencing.com/BobuinoRev17
#include <avr/sleep.h> // powerdown library
#include <avr/interrupt.h> // interrupts library
void pin2Interrupt() { ; } // brings back from sleep.
int sleep_count = 0; // flag/counter to tell us to go sleep
int pin2 = 2; // Int0 interrupt pin
uint8_t pressedButton = 0;
uint8_t ligthsOnOff = 0;
void enterSleep()
{
attachInterrupt(0, pin2Interrupt, LOW);
delay(50);
pressedButton = 0;
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable();
ADCSRA &= ~(1 << ADEN); // Disable ADC
pinMode(10, INPUT);
digitalWrite(10,HIGH);
sleep_mode(); // now goes to Sleep and waits for the interrupt
// The program will continue from here after the interrupt.
detachInterrupt(0); //disable interrupts while we get ready to read the keypad
sleep_disable();
}
void setup()
{
pinMode(13, INPUT);
digitalWrite(13, LOW);
pinMode(5, INPUT);
digitalWrite(5, HIGH);
pinMode(4, INPUT);
digitalWrite(4, HIGH);
pinMode(pin2, INPUT); // our sleep interrupt pin
digitalWrite(pin2, HIGH);
// define all the unused pins as inputs with internal pullups for lower power state
pinMode(0, INPUT);
digitalWrite(0, HIGH);
pinMode(1, INPUT);
digitalWrite(1, HIGH);
enterSleep();
}
void loop()
{
if (sleep_count>=1)
{
sleep_count=0;
delay(100);
enterSleep();
}
if (!digitalRead(5)) pressedButton = 5;
else if (!digitalRead(4)) pressedButton = 4;
if (pressedButton == 5)
{
digitalWrite(13, HIGH);
if (ligthsOnOff == 0) sendNEC(16236607, 32); else sendNEC(16203967, 32);
ligthsOnOff = !ligthsOnOff;
delay(250);
}
else if (pressedButton == 4)
{
digitalWrite(13, HIGH); delay(50); digitalWrite(13, LOW); delay(50); digitalWrite(13, HIGH); delay(50); digitalWrite(13, LOW); delay(50); digitalWrite(13, HIGH); delay(50);
}
else // Couldn't detect which button was pressed
{
digitalWrite(13, HIGH); delay(1000);
}
digitalWrite(13, LOW);
delay(200);
sleep_count++;
}
Infrasend code
// Based on the Infrared Lib by Ken Shirriff - http://arcfn.com/2009/08/multi-protocol-infrared-remote-library.html //
// WilliamK @ Beat707.com - Updated to work with the ATmega8 using Timer1 instead of Timer2
#define NEC_HDR_MARK 9000
#define NEC_HDR_SPACE 4500
#define NEC_BIT_MARK 560
#define NEC_ONE_SPACE 1600
#define NEC_ZERO_SPACE 560
#define NEC_RPT_SPACE 2250
#define TOPBIT 0x80000000
void mark(int time)
{
TCCR1A |= _BV(COM1B1); // Enable pin 10 PWM output
delayMicroseconds(time);
}
void space(int time)
{
TCCR1A &= ~(_BV(COM1B1)); // Disable pin 10 PWM output
delayMicroseconds(time);
}
void enableIROut(int khz)
{
pinMode(10, OUTPUT);
digitalWrite(10, LOW);
TCCR1A = _BV(WGM11) | _BV(WGM10);
TCCR1B = _BV(WGM13) | _BV(CS10);
OCR1A = F_CPU / 2 / khz / 1000;
OCR1B = OCR1A / 3; // 33% duty cycle
}
void sendNEC(unsigned long data, int nbits)
{
enableIROut(38);
mark(NEC_HDR_MARK);
space(NEC_HDR_SPACE);
for (int i = 0; i < nbits; i++) {
if (data & TOPBIT) {
mark(NEC_BIT_MARK);
space(NEC_ONE_SPACE);
}
else {
mark(NEC_BIT_MARK);
space(NEC_ZERO_SPACE);
}
data <<= 1;
}
mark(NEC_BIT_MARK);
space(0);
}
/*
Timer 1 Details
OC1A = Pin 9
OC1B = Pin 10
TCCR1A
7 6 5 4 3 2 1 0
COM1A1 COM1A0 COM1B1 COM1B0 FOC1A FOC1B WGM11 WGM10
TCCR1B
7 6 5 4 3 2 1 0
ICNC1 ICES1 - WGM13 WGM12 CS12 CS11 CS10
Timer 1 for Infrared Settings
phase-correct PWM with OCRA as top = WGM13 WGM11 WGM10
No Prescalar = CS10
*/