IRremoteInfo a Helper utility for troubleshooting IRremote

In recent years we have responded to hundreds of supports requests on the Arduino Forum, GitHub and elsewhere for many recurring issues with IRremote – the library for Infrared remote control. As many of the issues are similar we decided it was time to develop a ‘IRremoteInfo a Helper utility for troubleshooting IRremote’ that will help users resolve their own issues or failing that, provide solid support information to those who are providing free support services. Today we release the first version of IRremoteInfo, which prints the settings for most of the relevant parameters within the IRremote library, in the hope that users seeking support can post or upload this information when seeking assistance on-line.

IRremoteInfo a Helper utility for troubleshooting IRremote
IRremoteInfo a Helper utility for troubleshooting IRremote

IRremoteInfo a Helper utility for troubleshooting IRremote

Example Output
Below we show some sample output from the IRremoteInfo sketch, including:

  • Header Information
  • A printout of all the important configurable settings within the library
  • A list of the different IR protocols available
  • Indicators showing whether each protocol is enabled for sending during compile.
  • Indicators showing whether each protocol is enabled for decoding during compile.
  • A footer which includes some useful information for users.

The Platform which generated this output is an Arduino Nano. (Scroll the panel to the right to see all the sample output)

IRremoteInfo - by AnalysIR (
             - A helper sketch to assist in troubleshooting issues with the library by reviewing the settings within the IRremote library
             - Prints out the important settings within the library, which can be configured to suit the many supported platforms
             - When seeking on-line support, please post or upload the output of this sketch, where appropriate

IRremote Library Settings
Timer defined for use: Timer2
IR Tx Pin: 3
MCU Clock: 16000000
MCU Platform: ATmega328(P) / (Duemilanove, Diecimila, LilyPad, Mini, Micro, Fio, Nano, etc)
Mark Excess: 100 uSecs
Microseconds per tick: 50 uSecs
Measurement tolerance: 25%
Minimum Gap between IR Signals: 5000 uSecs
Arduino IDE version: 1.6.5
Debug Mode: OFF (Normal)

============= ======== ========
RC5:          Enabled  Enabled
RC6:          Enabled  Enabled
NEC:          Enabled  Enabled
SONY:         Enabled  Enabled
PANASONIC:    Enabled  Enabled
JVC:          Enabled  Enabled
SAMSUNG:      Enabled  Enabled
WHYNTER:      Enabled  Enabled
AIWA_RC_T501: Enabled  Enabled
LG:           Enabled  Enabled
SANYO:        Disabled Enabled
MITSUBISHI:   Disabled Enabled
DISH:         Enabled  Disabled
SHARP:        Enabled  Disabled
DENON:        Enabled  Enabled
PRONTO:       Enabled  (Not Applicable)

     - Most of the seetings above can be configured in the following files included as part of the library
     - IRremteInt.h
     - IRremote.h
     - You can save SRAM by disabling the Decode or Send features for any protocol (Near the top of IRremoteInt.h)
     - Some Timer conflicts, with other libraries, can be easily resolved by configuring a differnt Timer for your platform

IRremoteInfo a Helper utility for troubleshooting IRremote

The Sketch
The code itself is pretty simple. All you have to do is to copy the code from the link below and paste it into a new sketch within your Arduino IDE and upload it to your platform. All platforms that are currently supported by the library are also supported in this sketch.

Download the source for IRremoteInfo here

The sketch was Authored by AnalysIR & you are free to use it without restriction – subject to the same licence as the official IRremote library. If you find it of any use or it helps to resolve an issue, post a comment or send us a message via the contact form above. To use this utility you need:

  • Arduino IDE or equivalent
  • An Arduino or other supported platform
  • IRremote installed within your IDE (available from GitHub)

Please post the output of this sketch when seeking support on IRremote, where appropriate.


Get your own copy of AnalysIR here