# Adafruit Infrared IR Remote Transceiver

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/131/101/medium800/adafruit_products_5990-04.jpg?1720455010)

We've got a [high-powered infrared emitter board](https://www.adafruit.com/product/5639), and a [super-sensitive infrared remote receiver board](https://www.adafruit.com/product/5939) - but why buy two boards when you can pick up one that does both? This board is the **Adafruit Infrared Tranceiver breakout** , which can transmit and receiver 940nm remote control data in one handy solder-free package.

![](https://cdn-learn.adafruit.com/assets/assets/000/131/102/medium800/adafruit_products_5990-03.jpg?1720455057)

 **Please Note:** to make this board easy to use, we have both solder-able breakout pads and also a JST PH 4-pin cable. We often use JST PH cables for I2C but this board **_does not use I2C_** - the green wire is data from a microcontroller to be emitted over the IR LED, the white wire is demodulated IR remote signal data to a microcontroller. The black wire is ground, red wire is 3V~5V power and logic level.

![](https://cdn-learn.adafruit.com/assets/assets/000/131/103/medium800/adafruit_products_5990-01.jpg?1720455092)

For the emitter half, we use the [same schematic and setup as our "High Power IR LED Emitter" breakout](https://www.adafruit.com/product/5639), with an onboard N-Channel FET driver, to blast 100mA-200mA of current pulsing through each LED for 10+ meters of range!

One LED is vertical and one is horizontal so you get tons of coverage. If powering with 5V, the board will draw about 200mA per LED (400mA total) when pulsing on. If powering with 3V the board will draw about 100mA per LED (200mA total). Since you can't see IR with a human eyeball, we have a small yellow LED labeled 'IN' that will blink when the IR LEDs are on.

![](https://cdn-learn.adafruit.com/assets/assets/000/131/104/medium800/adafruit_products_5990-02.jpg?1720455134)

For the receiver half, we use the [same 'vertical' IR sensor in our "IR Receiver breakout"](https://www.adafruit.com/product/5939) The sensor is designed to recognize remote control style modulated signal at 38KHz and 940nm wavelength. The demodulated IR envelope is piped out the OUT labeled pin into your microcontroller which will then need to decode it. To make debugging easy, there's a second yellow LED labelled "OUT" that will blink when data is received.

![](https://cdn-learn.adafruit.com/assets/assets/000/131/105/medium800/adafruit_products_5990-00.jpg?1720455166)

Each STEMMA board is a fully assembled and tested PCB, but no cable. No soldering is required to use it, but you will need to pick up [a 2mm pitch, 4-pin STEMMA JST PH cable](https://www.adafruit.com/search?q=jst+ph+4+pin). Alternatively, if you _do_ want to solder, there's a 0.1" spaced header for power/ground/signals.

Note that this board is specifically for receiving 940nm 38KHz IR remote control signals - it isn't going to work for proximity/distance sensing or other frequency signals. The signal must be read by a microcontroller that has pulse-input reading capabilities - basically just check that it supports common IR Receiver connectivity and decoding. Sometimes you need to use special code or pins.

# Adafruit Infrared IR Remote Transceiver

## Pinouts

![](https://cdn-learn.adafruit.com/assets/assets/000/131/106/medium800/adafruit_products_double.jpg?1720465033)

## Power Pins

- **VIN** &nbsp;- this is the power pin. We have included an N-Channel FET driver&nbsp;on board for the IR LEDs that will take 3-5VDC. To power the board, give it the same power as the logic level of your microcontroller - e.g. for a 5V microcontroller like Arduino, use 5V.
  - If powering with **5V** , the board will draw about **200mA per LED** (400mA total) when pulsing on. 
  - If powering with **3V** the board will draw about **100mA per LED** (200mA total).

- **GND** &nbsp;- common ground for power and logic.

## Signal Pins

- **IRin** -&nbsp;this is the input signal pin from the infrared receiver in the center of the board. When a 38KHz signal is received, the demodulated IR envelope is piped out the **IRin** pin into your microcontroller which will then need to decode it.
- **IRout** -&nbsp;this is the infrared signal output pin. When the pin is high, the IR LEDs are on, when the signal pin is low, the IR LEDs are off.

Warning: The infrared receiver on this board is specifically for receiving 38KHz IR remote control signals - it isn't going to work for proximity/distance sensing or other frequency signals.

## STEMMA JST PH

- [**STEMMA JST PH**](https://learn.adafruit.com/introducing-adafruit-stemma-qt) - 2mm pitch STEMMA JST port for use with [4-pin STEMMA JST PH cables](https://www.adafruit.com/search?q=jst+ph+4+pin). It has connections for:
  - **GND** &nbsp;- common ground for power and data. It is the black wire on the JST PH cable.
  - **VIN** - power input for the infrared receiver and infrared LEDs. It is the red wire on the JST PH cable.&nbsp;
  - **IRin** - infrared signal input. It is the white wire on the JST PH cable.
  - **IRout** - infrared signal output. It is the green wire on the JST PH cable.

## Signal LEDs and LED Jumpers

- **IN LED -&nbsp;** In the center of the board, above the IR receiver, is the signal LED, labeled **IN**. It a yellow LED. It will light up when an IR signal is read by the IR receiver.
- **IN LED jumper&nbsp;** - This jumper is located on the back of the board and is labeled **IN**. Cut the trace on this jumper to cut power to the "IN" LED.
- **OUT LED -&nbsp;** In the center of the board, directly above the **IN** LED, is the signal LED, labeled **OUT**. It a yellow LED. Since humans don't see in IR, the **OUT** LED lights up to let you know when the IR LEDs are lit.
- **OUT LED jumper&nbsp;** - This jumper is located on the back of the board and is labeled **OUT**. Cut the trace on this jumper to cut power to the "OUT" LED.

## Power LED and LED Jumper

- **Power LED -&nbsp;** In the bottom left corner, below the STEMMA JST PH connector, on the front of the board, is the power LED, labeled **&nbsp;ON**. It is the green LED.
- **Power LED jumper&nbsp;** - This jumper is located on the back of the board and is labeled **ON**. Cut the trace on this jumper to cut power to the "ON" LED.

# Adafruit Infrared IR Remote Transceiver

## CircuitPython

It's easy to use the&nbsp; **Infrared IR Remote Transceiver** with CircuitPython and the [Adafruit\_CircuitPython\_IRRemote](https://github.com/adafruit/Adafruit_CircuitPython_IRRemote) module. This module allows you to easily write Python code that allows you to send and receive IR remote pulses using the&nbsp;[pulseio](https://docs.circuitpython.org/en/latest/shared-bindings/pulseio/index.html) core module.&nbsp;

You'll need an IR remote controller to use this example:

### Mini Remote Control

[Mini Remote Control](https://www.adafruit.com/product/389)
This little remote control would be handy for controlling a robot or other project from across the room. It has 21 buttons and a layout we thought was handy: directional buttons and number entry buttons. The remote uses the NEC encoding type and sends data codes 0 thru 26 (it skips #3, #7,...

Out of Stock
[Buy Now](https://www.adafruit.com/product/389)
[Related Guides to the Product](https://learn.adafruit.com/products/389/guides)
![Mini Remote Control with 21 buttons](https://cdn-shop.adafruit.com/640x480/389-03.jpg)

Warning: This receiver on this board is specifically for receiving 38KHz IR remote control signals - it isn't going to work for proximity/distance sensing or other frequency signals.

## CircuitPython Microcontroller Wiring

First, wire up the transceiver to your board exactly as shown below. Here's an example of wiring a Feather RP2040 to the transceiver using one of the handy [STEMMA JST PH](https://www.adafruit.com/search?q=jst+ph+4+pin)[cables](https://www.adafruit.com/search?q=jst+ph+4+pin):

- **Board 3V** to **VIN (red wire)**
- **Board GND** &nbsp;to **GND (black wire)**
- **Board pin 5** &nbsp;to **IRin**** &nbsp;(white wire)**
- **Board pin 6** &nbsp;to **IRout** **(green wire)**

![adafruit_products_featherStemma_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/131/107/medium640/adafruit_products_featherStemma_bb.jpg?1720531586)

You can also use standard&nbsp; **0.100" pitch** &nbsp;headers to wire it up on a breadboard:

- **Board 3V** to **VIN (red wire)**
- **Board GND** &nbsp;to **GND (black wire)**
- **Board pin 5** &nbsp;to **IRin**** &nbsp;(white wire)**
- **Board pin 6** &nbsp;to **IRout** **(green wire)**

![adafruit_products_featherBB_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/131/108/medium640/adafruit_products_featherBB_bb.jpg?1720531622)

## CircuitPython Usage

To use with CircuitPython, you need to first install the IRRemote library into the&nbsp; **lib** &nbsp;folder on your&nbsp; **CIRCUITPY** &nbsp;drive. Then you need to update&nbsp; **code.py** &nbsp;with the example script.

Thankfully, we can do this in one go. In the example below, click the&nbsp; **Download Project Bundle** &nbsp;button below to download the necessary library and the&nbsp; **code.py** &nbsp;file in a zip file. Extract the contents of the zip file, and copy the&nbsp; **entire&nbsp;**** lib **&nbsp;** folder **&nbsp;and the&nbsp;** code.py **&nbsp;file to your&nbsp;** CIRCUITPY**&nbsp;drive.

Your&nbsp; **CIRCUITPY/lib** &nbsp;folder should contain the following file:

- **adafruit\_irremote.mpy**

![CIRCUITPY](https://adafruit.github.io/Adafruit_Learning_System_Guides/STEMMA_IR_Transceiver_Examples_CircuitPython.png )

## Example Code

Once everything is saved to the&nbsp; **CIRCUITPY** &nbsp;drive,&nbsp;[connect to the serial console](https://learn.adafruit.com/welcome-to-circuitpython/kattni-connecting-to-the-serial-console)&nbsp;to see the data printed out!

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/STEMMA_IR_Transceiver_Examples/CircuitPython/code.py

The code begins by creating `pulseio` objects on pin `D5` and `D6`. These will send and receive infrared signals at 38KHz. Then,&nbsp;`emitter` and `decoder` objects are created with the `adafruit_irremote` library.

In the loop, if an IR remote command is received, its HEX (hexadecimal) code is printed to the serial monitor. Then, that same command is sent via the IR LEDs as an array. `ir_receiver.clear() `is called to clear the buffer so that the receiver does not go into an infinite loop of receiving the code sent by the IR LEDs.

![](https://cdn-learn.adafruit.com/assets/assets/000/131/113/medium800/adafruit_products_cpSerial.png?1720538874)

# Adafruit Infrared IR Remote Transceiver

## Python Docs

# Adafruit Infrared IR Remote Transceiver

## Arduino

Using the Infrared IR Remote Transceiver&nbsp;with Arduino involves wiring up the transceiver to your Arduino-compatible microcontroller, installing the&nbsp;[IRremote](https://github.com/Arduino-IRremote/Arduino-IRremote)&nbsp;library and running the provided example code.

You'll need an IR remote controller to use this example:

### Mini Remote Control

[Mini Remote Control](https://www.adafruit.com/product/389)
This little remote control would be handy for controlling a robot or other project from across the room. It has 21 buttons and a layout we thought was handy: directional buttons and number entry buttons. The remote uses the NEC encoding type and sends data codes 0 thru 26 (it skips #3, #7,...

Out of Stock
[Buy Now](https://www.adafruit.com/product/389)
[Related Guides to the Product](https://learn.adafruit.com/products/389/guides)
![Mini Remote Control with 21 buttons](https://cdn-shop.adafruit.com/640x480/389-03.jpg)

Warning: This receiver on this board is specifically for receiving 38KHz IR remote control signals - it isn't going to work for proximity/distance sensing or other frequency signals.

## Wiring

Wire as shown for a&nbsp; **5V** &nbsp;board like an Uno. If you are using a **&nbsp;3V** &nbsp;board, like an Adafruit Feather, wire the board's 3V pin to the transceiver VIN.

Here is an Adafruit Metro wired up to the transceiver using the STEMMA JST PH cable:

- **Board 5V** to **VIN (red wire)**
- **Board GND** &nbsp;to **GND (black wire)**
- **Board pin 5** &nbsp;to **IRin**** &nbsp;(white wire)**
- **Board pin 6** &nbsp;to **IRout** **(green wire)**

![adafruit_products_metroStemma_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/131/109/medium640/adafruit_products_metroStemma_bb.jpg?1720533804)

Here is an Adafruit Metro wired up using a solderless breadboard:

- **Board 5V** to **VIN (red wire)**
- **Board GND** &nbsp;to **GND (black wire)**
- **Board pin 5** &nbsp;to **IRin**** &nbsp;(white wire)**
- **Board pin 6** &nbsp;to **IRout** **(green wire)**

![adafruit_products_metroBB_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/131/110/medium640/adafruit_products_metroBB_bb.jpg?1720533839)

## Library Installation

You can install the&nbsp; **IRremote** &nbsp;library for Arduino using the Library Manager in the Arduino IDE.

![](https://cdn-learn.adafruit.com/assets/assets/000/131/111/medium800/adafruit_products_Arduino_Open_Library_Manager.png?1720533857)

Click the&nbsp; **Manage Libraries ...** &nbsp;menu item, search for **IRremote,** &nbsp;and select the&nbsp; **IRremote** library:

![](https://cdn-learn.adafruit.com/assets/assets/000/131/114/medium800/adafruit_products_lib.png?1720540523)

Info: There are no additional dependencies needed for this library.

## Example Code
https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/STEMMA_IR_Transceiver_Examples/Arduino_STEMMA_IR_Transceiver/Arduino_STEMMA_IR_Transceiver.ino

Upload the sketch to your board and open up the Serial Monitor ( **Tools -\> Serial Monitor** ) at 115200 baud. As you press buttons on your IR remote, you'll see the protocol, address, command, raw data and repeat gap print to the Serial Monitor. Then, the breakout will send the received IR code via the IR LEDs.

![](https://cdn-learn.adafruit.com/assets/assets/000/131/112/medium800/adafruit_products_arduinoSerial.png?1720537286)

# Adafruit Infrared IR Remote Transceiver

## Arduino Docs

# Adafruit Infrared IR Remote Transceiver

## Downloads

## Files

- [EagleCAD PCB Files on GitHub](https://github.com/adafruit/Adafruit-Infrared-IR-Remote-Transceiver)
- [Fritzing object in the Adafruit Fritzing Library](https://github.com/adafruit/Fritzing-Library/blob/master/parts/Adafruit%20Infrared%20IR%20Remote%20Transceiver.fzpz)

## Schematic and Fab Print
![](https://cdn-learn.adafruit.com/assets/assets/000/131/095/medium800/adafruit_products_schem.png?1720447149)

![](https://cdn-learn.adafruit.com/assets/assets/000/131/096/medium800/adafruit_products_fab.png?1720447156)


## Primary Products

### Adafruit Infrared IR Remote Transceiver - STEMMA JST PH 2mm

[Adafruit Infrared IR Remote Transceiver - STEMMA JST PH 2mm](https://www.adafruit.com/product/5990)
We've got a [high-powered infrared emitter board](https://www.adafruit.com/product/5639), and a [super-sensitive infrared remote receiver board](https://www.adafruit.com/product/5939) - but why buy two boards when you can pick up one that does both? This board is...

In Stock
[Buy Now](https://www.adafruit.com/product/5990)
[Related Guides to the Product](https://learn.adafruit.com/products/5990/guides)

## Featured Products

### JST PH 2mm 4-Pin to Male Header Cable - I2C STEMMA Cable - 200mm

[JST PH 2mm 4-Pin to Male Header Cable - I2C STEMMA Cable - 200mm](https://www.adafruit.com/product/3955)
This cable will let you turn a JST PH 4-pin cable port into 4 individual wires with high-quality 0.1" male header plugs on the end. We're carrying these to match up with any of our boards with 'STEMMA' connectors on them such as the&nbsp;<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/3955)
[Related Guides to the Product](https://learn.adafruit.com/products/3955/guides)
### JST PH 2mm 4-Pin to Female Socket Cable - I2C STEMMA Cable

[JST PH 2mm 4-Pin to Female Socket Cable - I2C STEMMA Cable](https://www.adafruit.com/product/3950)
This cable will let you turn a JST PH 4-pin cable port into 4 individual wires with high-quality 0.1" female sockets on the end. We're carrying these to match up with any of our boards with 'STEMMA' connectors on them such as the <a...></a...>

Out of Stock
[Buy Now](https://www.adafruit.com/product/3950)
[Related Guides to the Product](https://learn.adafruit.com/products/3950/guides)
### JST PH 2mm 4-pin Plug to Color Coded Alligator Clips Cable

[JST PH 2mm 4-pin Plug to Color Coded Alligator Clips Cable](https://www.adafruit.com/product/4029)
This cable will let you turn a JST PH 4-pin cable port into 4 individual wires with grippy mini alligator clips. We're carrying these to match up with any of our boards or breakouts with 'STEMMA' connectors on them such as the&nbsp;<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/4029)
[Related Guides to the Product](https://learn.adafruit.com/products/4029/guides)
### Mini Remote Control

[Mini Remote Control](https://www.adafruit.com/product/389)
This little remote control would be handy for controlling a robot or other project from across the room. It has 21 buttons and a layout we thought was handy: directional buttons and number entry buttons. The remote uses the NEC encoding type and sends data codes 0 thru 26 (it skips #3, #7,...

Out of Stock
[Buy Now](https://www.adafruit.com/product/389)
[Related Guides to the Product](https://learn.adafruit.com/products/389/guides)

## Related Guides

- [CircuitPython Painter](https://learn.adafruit.com/circuitpython-painter.md)
- [Super Nintendo USB Controller](https://learn.adafruit.com/super-nintendo-usb-controller.md)
- [Adafruit Chainable DS18B20 Extender Breakout](https://learn.adafruit.com/adafruit-chainable-ds18b20-extender-breakout.md)
- [Adafruit Universal USB / DC / Solar Lithium Ion/Polymer charger - BQ24074](https://learn.adafruit.com/adafruit-bq24074-universal-usb-dc-solar-charger-breakout.md)
- [CircuitPython MIDI to CV Skull](https://learn.adafruit.com/circuitpython-midi-to-cv-skull.md)
- [NeoPixel Infinity Cube](https://learn.adafruit.com/neopixel-infinity-cube.md)
- [Introducing the Adafruit Bluefruit LE Friend](https://learn.adafruit.com/introducing-adafruit-ble-bluetooth-low-energy-friend.md)
- [DIY Darksaber Build - 3D Print with PropMaker FeatherWing and BLE](https://learn.adafruit.com/ble-darksaber-propmaker.md)
- [Adafruit Joy Bonnet for Raspberry Pi](https://learn.adafruit.com/adafruit-joy-bonnet-for-raspberry-pi.md)
- [Adafruit NeoKey Trinkey](https://learn.adafruit.com/adafruit-neokey-trinkey.md)
- [Adafruit Airlift Bitsy Add-On - ESP32 WiFi Co-Processor](https://learn.adafruit.com/adafruit-airlift-bitsy-add-on-esp32-wifi-co-processor.md)
- [Adafruit SGP41 Multi-Pixel Gas Sensor Breakout](https://learn.adafruit.com/adafruit-sgp41-multi-pixel-gas-sensor-breakout.md)
- [Adafruit Metro M7 with microSD](https://learn.adafruit.com/adafruit-metro-m7-microsd.md)
- [Adafruit MCP23017 I2C GPIO Expander](https://learn.adafruit.com/adafruit-mcp23017-i2c-gpio-expander.md)
- [LED Neon Signs with NeoPixels](https://learn.adafruit.com/led-neon-signs-with-neopixels.md)
