# item.guide

Consumer Infrared (CIR)

Infrared & Optical · 6 specs

Direct Answer

Consumer Infrared (CIR) is a line-of-sight optical wireless communication standard utilizing near-infrared light (typically 940 nm or 880 nm) modulated on a 36 kHz to 56 kHz subcarrier (38 kHz nominal). Governed by established encoding protocols (NEC, Philips RC-5/RC-6, Sony SIRC), it is the global standard for televisions, audio systems, and HVAC remote controls.

Source: NEC Remote Control Protocol / Philips RC-5 Standard / Sony SIRC · Last reviewed Aug 28, 2026

Specs

Optical Wavelength 940 nm (Near-Infrared, invisible to human eye)
Subcarrier Modulation Frequencies 36 kHz, 38 kHz (Dominant standard), 40 kHz, 56 kHz
Major Protocol Formats NEC (32-bit Pulse Distance), Philips RC-5 (Bi-Phase/Manchester 36 kHz), Sony SIRC (12/15/20-bit Pulse Width)
Typical Range 5 to 10 m (line-of-sight / reflected indoor surfaces)
Data Payload Rate Low (~100 to 1,000 bps)
Receiver Filtering Integrated Photodiode + 38 kHz Bandpass Filter IC (e.g. Vishay TSOP series)

38 kHz Subcarrier Demodulation Physics

To prevent false triggers from ambient sunlight, fluorescent lamps, and incandescent light bulbs, Consumer IR transmitters do not flash raw DC light pulses. Instead, the infrared LED bursts on and off at a high carrier frequency (most commonly 38 kHz). The integrated optical receiver IC contains a photodiode, transimpedance amplifier, and sharp 38 kHz bandpass filter that rejects constant DC ambient lighting, passing only modulated control commands.

Dominant Protocol Encodings

  • NEC Protocol: Uses Pulse Distance Encoding (a 562.5 µs burst followed by a 562.5 µs pause represents logic 0; followed by a 1,687.5 µs pause represents logic 1). It transmits 32 bits consisting of an 8-bit Address, inverted Address, 8-bit Command, and inverted Command for error integrity.
  • Philips RC-5: Uses Manchester Biphase coding at 36 kHz, transmitting 14 bits (2 start bits, 1 toggle bit to distinguish held keys, 5-bit address, 6-bit command).

Something wrong or missing on this page?