IR remote unstable button numbers
Please post the code where you call the library. In particular where do you make an instance of IRControl?

I am guessing you are doing it at global scope which means you are probably running into the C++ static initialization order fiasco.

What it is: http://www.parashift.com/c++-faq/static-init-order.html

How to prevent it: http://www.parashift.com/c++-faq/static-init-order-on-first-use.html

To prevent this, you should not be doing this in the class constructor:

irrecv = new IRrecv(RECV_PIN);
pinMode(RECV_PIN , INPUT);
irrecv-&gt;enableIRIn();


Instead, make a begin function (like most Arduino classes do) and call that from setup.