38KHz IR Transmitter & Receiver Modules - Remote-Control Building Blocks for Arduino, Robots, and Smart DevicesThe 38KHz IR Transmitter and Receiver modules are compact infrared communication boards for learning, prototyping,…
The 38KHz IR Transmitter and Receiver modules are compact infrared communication boards for learning, prototyping, and adding simple remote-control links to embedded projects. The transmitter variant sends modulated infrared light, while the receiver variant uses a 1838-style 38KHz IR receiver to detect remote-control signals and output a digital logic signal for a microcontroller.
These modules are useful for Arduino lessons, robot control, appliance-style remote inputs, object-triggered experiments, and quick IR communication demos. They work well with compact controller boards such as the ELAB Nano V3, breadboard setups built around the MB 102 Breadboard Kit, and classroom builds that use an UNO R3 Prototype Expansion Board. For a small wireless-control lab, you can also pair the receiver with LEDs, relays, buzzers, or motor-driver circuits to turn remote button presses into visible actions.
The receiver module listed on this page operates from 5V, provides a digital data output, includes a data indicator, and has two mounting holes for easier installation. The transmitter SKU, TB-IR-Transmitter, is sold as the IR transmitter option on the same product page and is intended to generate 38KHz IR output under microcontroller control. For MicroPython and compact-host experiments, the Raspberry Pi Pico W is another practical controller choice.
| Parameter | Value |
|---|---|
| Product Type | 38KHz infrared transmitter and receiver module variants |
| Requested SKU | TB-IR-Transmitter |
| Available Variants | IR Transmitter x2; IR Receiver x2 |
| Receiver Sensor Type | 1838-style 38KHz remote-control receiver |
| Receiver Working Voltage | 5V DC |
| Receiver Output Type | Digital output |
| Receiver Pins | DAT, VCC, GND |
| Carrier Frequency | 38KHz nominal IR remote-control carrier |
| Transmitter Function | IR LED output for 38KHz modulated control signals |
| Indicator | Receiver data indicator listed on current product page |
| Mounting | Two fixing holes on receiver module |
| Mounting-Hole Aperture | Approx. 3.1mm, per current listing |
| Compatible Controllers | Arduino-compatible boards, RP2040 boards, ESP32 boards, and other 5V/logic-compatible hosts |
| Typical Software | Arduino IRremote, MicroPython pulse timing, custom timer/PWM code |
| Typical Applications | IR remote decoding, robot control, smart-home demos, short-range device commands |
This Arduino example uses the IRremote library to read a 38KHz remote-control signal from the receiver module and print the decoded command.
#include const int receiverPin = 2;void setup() { Serial.begin(115200); IrReceiver.begin(receiverPin, ENABLE_LED_FEEDBACK);}void loop() { if (IrReceiver.decode()) { Serial.print(“Command: 0x”); Serial.println(IrReceiver.decodedIRData.command, HEX); IrReceiver.resume(); }}
Connect the IR transmitter module signal input to a PWM-capable Arduino pin, then use the IRremote library to send a repeatable command for testing.
#include const int transmitterPin = 3;void setup() { IrSender.begin(transmitterPin);}void loop() { IrSender.sendNEC(0x00FF, 0x45, 0); delay(1000);}
This sketch turns a visible LED on or off when a selected IR command is received, which is handy for a first remote-control lab.
#include const int receiverPin = 2;const int ledPin = 13;const uint8_t toggleCommand = 0x45;bool ledState = false;void setup() { pinMode(ledPin, OUTPUT); IrReceiver.begin(receiverPin, ENABLE_LED_FEEDBACK);}void loop() { if (IrReceiver.decode()) { if (IrReceiver.decodedIRData.command == toggleCommand) { ledState = !ledState; digitalWrite(ledPin, ledState ? HIGH : LOW); } IrReceiver.resume(); }}
This simple MicroPython routine watches the receiver output and reports falling edges, which is useful when checking wiring before writing a full decoder.
from machine import Pinimport timeir_pin = Pin(15, Pin.IN)last = ir_pin.value()while True: current = ir_pin.value() if last == 1 and current == 0: print(“IR activity detected”) last = current time.sleep_ms(1)
Point the transmitter toward the receiver and use the receiver output as a basic beam-break input for robot lanes, counting demos, or simple alarm prototypes.
const int irInput = 2;const int alarmLed = 13;void setup() { pinMode(irInput, INPUT); pinMode(alarmLed, OUTPUT);}void loop() { int signal = digitalRead(irInput); digitalWrite(alarmLed, signal == LOW ? HIGH : LOW); delay(10);}
Use this minimal sketch during enclosure testing to see whether remote commands are still detected after the module is mounted.
#include const int receiverPin = 2;void setup() { Serial.begin(115200); IrReceiver.begin(receiverPin);}void loop() { if (IrReceiver.decode()) { Serial.print(“Protocol=”); Serial.print(IrReceiver.decodedIRData.protocol); Serial.print(” Address=0x”); Serial.print(IrReceiver.decodedIRData.address, HEX); Serial.print(” Command=0x”); Serial.println(IrReceiver.decodedIRData.command, HEX); IrReceiver.resume(); }}
Q: What does SKU TB-IR-Transmitter include?
A: It corresponds to the IR Transmitter x2 variant on this product page.
Q: Is this page for both transmitter and receiver modules?
A: Yes. The product page contains both IR transmitter and IR receiver variants, so choose the variant that matches your project.
Q: What carrier frequency is this module intended for?
A: It is intended for common 38KHz infrared remote-control communication.
Q: What voltage does the receiver module use?
A: The current listing specifies 5V DC for the receiver module.
Q: What pins are used on the receiver module?
A: The receiver wiring is DAT for digital output, VCC for 5V positive supply, and GND for ground.
Q: Can I use it with Arduino?
A: Yes. Arduino-compatible boards can decode receiver output or drive the transmitter with libraries such as IRremote.
Q: Can I connect the receiver directly to a 3.3V microcontroller?
A: Check the controller input tolerance first. If the module is powered at 5V, use level shifting when the host GPIO is not 5V tolerant.
Q: Why is my IR receiver not detecting commands?
A: Check VCC/GND wiring, DAT pin assignment, remote-control battery, line of sight, carrier frequency, and whether the transmitter is facing the receiver window.
We offer fast and reliable shipping worldwide. All orders are carefully packaged and shipped within 1–3 business days after payment confirmation.
Standard shipping, expedited shipping and express delivery options are available at checkout. Delivery time depends on your destination country and local logistics.
Only logged in customers who have purchased this product may leave a review.
Add Related products to weekly line up
Special Ofers For Subscribers