# Consumer IR

Consumer IR, consumer infrared, or CIR is a class of devices employing the infrared portion of the electromagnetic spectrum for wireless communications. CIR ports are commonly found in consumer electronics devices such as television remote controls, PDAs, laptops, computers, and video game controllers.
The functionality of CIR is as broad as the consumer electronics that carry it. For instance, a television remote control can convey a "channel up" command to the television, while a computer might be able to surf the internet solely via CIR. The type, speed, bandwidth, and power of the transmitted information depends on the particular CIR protocol employed.
CIR is the most common type of free-space optical communication.

## Protocol description

Since the consumer IR protocols are for the most part not standardized, computers and universal remotes often memorize a bit stream, possibly with compression and possibly without determining the actual bit rate, and play it back. Similarities between remotes are often largely the accidental result of the finite selection of infrared encoder/decoder chips (though now microcontrollers are also used) and IR receiver modules or imitation of the older chips rather than by design. Manufacturers of consumer appliances often reuse the same protocol on many similar devices, though for each manufacturer and device type there are usually multiple protocols in use. The code listings inform about for any universal remote.

### CIR and protocol implementation

With the ready availability of inexpensive microcontroller chips, many remotes may be based on such chips today rather than dedicated remote control encoder chips. This makes it easier to keep the same codes when moving the buttons on the remote.
Also, the decoder functionality will often be integrated into a more complicated microcontroller that controls the AV device, eliminating the need for the separate chip. In the absence of a viable standard, the microcontrollers can be used to emulate the ambiguous protocols used by the old dedicated encoder/decoder chips and it appears that this is often the case. There are even stripped down 4-bit mask-programmable microcontrollers designed only for remote control use (such as NEC's μPD612xA (discontinued), μPD613x, μPD1724x, μPD6x; and μPD17932x 8-bit family). These offer keyboard wake, low power standby modes, and sample controller code though similar features are present on more general PIC microcontrollers or Atmel AVRs.

### CIR influences in other devices

Some infrared wireless laptop keyboards and mice use protocols similar to consumer IR devices. Some PC remote controls used for controlling computer media players, controlling presentation software, or other applications also use consumer IR style protocols. Some computer remotes, keyboards, and mice may also use IrDA protocol though IrDA was designed for very short range use.

### Standards

Sony manufactured a number of consumer devices of different types that share a common proprietary protocol, called S-link. A jack on each device allowed the remote control signals to be interconnected between devices. The protocol included the useful but unusual feature of supporting more than one of the same type of device (such as multiple CD changers). Some AV components could generate informational status codes that could be used to do things like automatically stop your tape deck when the CD you were recording stopped playing. Software running on a PC with a suitable interface could also control the AV components and monitor their activity; for example, your computer could tell what disk and track were playing in your CD changer and look up the titles in one of the internet CD databases. Sony charges 5000 USD for access to the S-Link documentation. Sony use the SIRC protocol for remote controls. SIRC is developed in three different versions: 12 bit, 15 bit and 20 bit. After 12 bits have been received, the receiver waits to see if there are more falling edges to know if the SIRC protocol is 15 bit or 20 bit coded.
The RECS-80 and RC-5 codes developed by Philips have been casually referred to as international standards. However, the RECS-80 protocol was prone to interference and was quickly replaced by the RC-5 protocol. Although it appears that they were proprietary protocols developed by Philips, they were also adopted by various other manufacturers, specifically European- and US-based ones. This allowed interoperability between the remote handsets and equipment of various brands. The RC-5 code was, and still is, used by many US- and European-based manufacturers of specialty audio/video equipment. Unfortunately, documentation of the standard commands were not widely distributed. Therefore, there are some brands of equipment that use non-standard commands, causing interference with other equipment also using the RC-5 protocol.
The RC-5 command set was defined in the late 1980s and expanded to increase the number of commands in the early 1990s (sometimes called RC-5x). However, the rapidly expanding requirements for newer categories of electronics products since that time (e.g., DVD players, cable boxes, DVR's, et cetera) has led Philips to replace the RC-5 protocol with the newer RC-6 protocol that has both an expanded set of devices (256 versus 32) and commands per device (256 versus 64 in RC-5 and 128 in RC-5x). Again, information on the RC-6 protocol is not readily available from Philips.
In contrast, the major Japanese consumer electronics manufacturers almost universally adopted a protocol that was developed and administered by NEC (now Renesas). In the NEC protocol, each manufacturer is assigned a unique code that is contained in the transmitted command, avoiding the possibility of false triggering by other remote handsets.
RECS-80 uses pulse-position modulation and RC-5 uses bi-phase. Early dedicated-purpose chips were offered by Philips Semiconductors to allow for the easy use of RECS-80 and RC-5 protocols. The SAA3004, SAA3007, and SAA3008 encoder chips used RECS-80, and the SAA3006 and SAA3010 encoder chips used RC-5. The SAA3049A decoder chip decoded either type. (Note that the Philips Semiconductors division is now NXP Semiconductors). All of these chips have been discontinued. However, these transmission protocols are easily created and/or decoded with general-purpose 8-bit microcontrollers, such as those offered by Microchip Technology and Atmel.
Transmission of the IR commands requires only a microcontroller and an infrared LED, available from a wide variety of sources. Reception of the modulated commands for RC-5, RC-6, and the NEC protocols is easily accomplished with specialized IR receivers, most readily available from Sharp Corporation and Vishay Intertechnology. These receivers include a photo-diode, an automatic gain control (AGC) circuit, and a demodulator. The demodulated signal is then decoded with a microcontroller.
CEA-931-B defines a method for encapsulating remote control codes over IP and CEA-931-A defines a method for encapsulating remote control codes over IEEE 1394. These documents are not free even though free standards are the norm for Internet Protocols and contributed significantly to their widespread adoption.

### Protocol limitations

The lack of standardization creates many problems for consumers: the need to purchase universal remotes because the original cannot control related functions on interconnected devices and to upgrade them when buying a new device, universal remotes that do not adequately control the devices, inability to control more than one of the same type unit, the inability in most consumer setups to stop tape recording when CD ends, the inability of VCRs to control cable channels, and owning more than 5 different remotes.

### Technical information

* Infrared wavelength: around 870 nm and 930–950 nm. The latter is preferred, because water in atmosphere blocks sunlight in this wavelength, making devices less susceptible to blinding.
* Carrier frequency: Usually a fixed carrier frequency, typically somewhere between 33 and 40 kHz or 50 to 60 kHz. The most commonly used protocol is the NEC protocol, which specifies a carrier frequency of 38 kHz. The NEC protocol is used by the vast majority of Japanese-manufactured consumer electronics. The Philips RC-5 and RC-6 protocols both specify a carrier frequency of 36 kHz. However, the early RC-5 encoding chips divided the master frequency of the 4-bit microcontroller by 12. This required a ceramic resonator of 432 kHz to achieve a 36 kHz carrier, which was not widely available. Many companies therefore used a 455 kHz ceramic resonator, which is commonplace due to that frequency being used in the intermediate frequency stages of AM broadcasting radios, resulting in a carrier frequency of 37.92 kHz (essentially 38 kHz). Even documentation for Philips' own controller chips recommended an easier-to-obtain 429 kHz ceramic resonator, yielding a carrier frequency of 35.75 kHz. Modern IR transmitters typically use 8-bit microcontrollers with a 4 MHz master clock frequency, allowing a nearly arbitrary selection of the carrier frequency.
* Modulation schemes: typically 100% amplitude-shift keying (ASK). It may also involve pulse-position modulation, biphase/manchester encoding, etc. of the transmitted pulses (as opposed to the carrier itself). Most remotes use the length of the space between pulses to encode data.
* Data rate: usually significantly lower than the carrier frequency. Most protocols seem to range between 120 bits/second and 4 bits/second. The data rate may be variable as some common bit encoding schemes vary the timing between pulses to distinguish between a 1 and 0.
* Encoding: varies based on encoder/decoder chips used. It usually includes some redundancy for error detection or correction. For example, some NEC chips send the same code four times (inverted the second and fourth time).
* Key to code mapping: varies from remote control to remote control. In many cases, the codes sent may have more to do with the row and column positions on the remote than any unified plan.