IRremote e analogWrite in conflitto su attiny85

Sto provando a fare una centralina led rgb con un sensore ir e un telecomando che dovrebbe utilizzare il protocollo NEC, ad ogni modo credo che l'analogWrite e la libreria IR vadano in conflitto usando l'attiny85 su digispark, idee di come fixare? il problema si pone quando dichiaro irrecv.enableIRIn(); nel void setup()

AGGIORNAMENTO:
il problema riguarda il timer utilizzato da IRremote perche' il pwm sul 4 funziona, su 0 e 1 no

#include <IRremote.h>
int RECV_PIN = 3;
byte i=0;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup(){
  irrecv.enableIRIn();
  pinMode(0,OUTPUT);
  pinMode(1,OUTPUT);
  pinMode(4,OUTPUT);
  pinMode(2,OUTPUT);
  digitalWrite(2,HIGH);
  
}
void loop() {
  analogWrite(0,i);
  i++;
  delay(20);
}

Ho gia' provato a cambiare di posto pin, 0 1 e 4 non possono essere toccati poche' gli unici 3 pwm.

Ho risolto il problema provvedendo a ricreare il duty cycle con cicli di digitalwrite molto veloci con delaymicroseconds sugli stessi pin 0 e 1, ho aggirato ma comunque mi piacerebbe sapere se è possibile cambiare timer di riferimento per i pin pwm o se sono fisicamente connessi e ogni pwm ha necessariamente il suo timer, avevo anche pensato di fare due microcontrollori dove uno fa il pwm e uno legge l’ir e comunicano assieme, fortunatamente non ce nè stato bisogno, se volete fatemi sapere! :slight_smile:

Il Tiny85 ha solo due timer, mentre la atmega328p di arduino uno ne ha tre
Di solito la millis() viene gestita al timer0, ma NON su attiny85 dove usa il timer1
https://forum.arduino.cc/index.php?topic=259636.msg1833526#msg1833526
Potrebbe essere che la IRRemote usa il timer1 di default perchè sulla maggior parte di MCU atmega il millis() usa il timer0