pdf-icon

Arduino Quick Start

2. Devices & Examples

5. Extensions

6. Applications

AtomS3U IR Transmit

AtomS3U IR transmit related libraries and example.

Example

Compilation Requirements

  • M5Stack Board Manager version >= 3.2.6
  • Development board option = M5AtomS3
  • M5Unified library version >= 0.2.13
  • IRremote library version >= 4.5.0
cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
#include "M5Unified.h"
#include <IRremote.hpp>

#define IR_SEND_PIN    12    

// Demo parameters for NEC protocol
uint16_t address = 0x0000;     // Starting device address
uint8_t  command = 0x55;       // Starting command value
uint8_t  repeats = 0;          // Number of repeat transmissions

void setup() {
    M5.begin();                // Initialize M5Stack device
    Serial.begin(115200);      // Start serial communication at 115200 baud
    delay(200);                // Wait for serial port to stabilize

    Serial.println("AtomS3U IRremote example");
    pinMode(IR_SEND_PIN, OUTPUT);// Essential! Otherwise can not transmit 

    // Initialize IR communication
    IrSender.begin(DISABLE_LED_FEEDBACK);  // Initialize IR sender without LED feedback
    IrSender.setSendPin(IR_SEND_PIN);      // Assign transmitter pin

    Serial.printf("IR Send Pin: %d\n", IR_SEND_PIN);
    delay(500); // Wait for hardware components to stabilize
}

void loop() {
    // Send infrared signal using NEC protocol
    Serial.printf("Send NEC: addr=0x%04x, cmd=0x%02x\n", address, command);
    IrSender.sendNEC(address, command, repeats);

    // Update transmission parameters for next cycle
    address += 0x0001;  // Increment device address
    command += 0x01;     // Increment command code
    repeats  = 0;        // Disable repeat frames (set >0 to test repeats)

    delay(2000);
}

AtomS3U transmits an NEC infrared frame every two seconds. The address and command values start at 0x0000 and 0x55 and increment on each transmission. You can verify reception using any NEC-compatible IR receiver.

Driver Library

On This Page