Skip to product information
1 of 4

Axiometa

IR Receiver

IR Receiver

SKU:AX22-0033

21 in stock

Add remote-control input to any AX22 build in seconds. This board hosts a IRM-V538M3/TR138 kHz IR demodulator on a compact 22 × 22 mm PCB, giving your microcontroller a clean, decoded active-low pulse stream that’s immune to ambient light and power-line noise. A status LED is already fitted, so you can plug straight into an Arduino IDE, IRemote sketch, a MicroPython pulse-in decoder, or a MicroBlocks “IR Receiver” block with zero extra parts.

Regular price $2.99
Regular price Sale price $2.99
Sale Sold out
Taxes included. Shipping calculated at checkout.
View full details
  • - 22 mm × 22 mm square
    - 4× ⌀2.7 mm Mounting Holes
    - 38 kHz carrier, demodulated digital output
    - 3.3 V, 5.0 V
    - Typical range 30 m indoors
    - High ambient-light immunity & AGC filtering
    - Arduino IDE Compatible
    - MicroPython Compatible
    - MicroBlocks Compatible

    Material Datasheet 

Technical Resources

IR Receiver - (AX22-0033)

PCB FRONT

PCB BACK

🟢 Live 3D Model

🖱️ Click & drag to rotate
#include "esp32-rmt-ir.h"  // by junkfix

#define RX_PIN 14

void irReceived(irproto brand, uint32_t code, size_t len, rmt_symbol_word_t *item) {
  if (code) {
    Serial.printf("IR %s, code: %#x, bits: %d\n", proto[brand].name, code, len);
  }

  if (true) {  //debug
    Serial.printf("Rx%d: ", len);
    for (uint8_t i = 0; i < len; i++) {
      int d0 = item[i].duration0;
      if (!item[i].level0) { d0 *= -1; }
      int d1 = item[i].duration1;
      if (!item[i].level1) { d1 *= -1; }
      Serial.printf("%d,%d ", d0, d1);
    }
    Serial.println();
  }
}

void setup() {
  Serial.begin(115200);
  irRxPin = RX_PIN;
  xTaskCreatePinnedToCore(recvIR, "recvIR", 4096, NULL, 10, NULL, 1);
}

void loop() {

  //loop does nothing
}