The Arduino_DY_IRDaikin ARC/BRC library is designed to send IR commands to control Daikin air conditioners (ARC/BRC). It is based on Ken Shirriff's IRremote library and has been further developed to support various microcontroller platforms.
- Start Date: September 2014
- Copyright: 2025 by Danny
- Original Name: Arduino_IRremote_Daikin
- Current Name: Arduino_DY_IRDaikin ARC/BRC
- Purpose: This library enables control of Daikin air conditioners via IR commands, including power on/off, mode switching, temperature adjustment, and more.
-
1.1.2
- Fixed PWM frequency.
- Refactored
DYIRDaikinRecv
class.
-
1.1.1
- Fixed issues with software IR frequency and wave width.
-
1.1.0
- Updated class and function names.
- Added support for STM32Duino, Arduino ESP8266, Ameba platforms.
- Added support for Arduino PWM IR signals.
- Added SOFT IR support for Arduino UNO/Nano/Mega 2560.
-
1.0.2
- Added support for ESP8266/Ameba (software IR) and Arduino PWM IR signals.
-
1.0.1
- Added support for ESP8266 (software IR) and Arduino PWM IR signals.
-
1.0.0
- Refactored code.
- Added ARC support for IR decoding.
-
0.0.5
- Renamed
IRremote
toIRremoteDaikin
for isolation. - Refactored code.
- Renamed
- Pin 3 (D3)
- Pin 2 (D2)
- Pin 9 (D9)
The default pin for SOFT IR when using begin()
is pin 3.
If you need to use a different pin, you must specify it using begin(int irSendPin)
.
- Pin 4 (GPIO4)
- Pin 5 (GPIO5)
- Pin 2 (D2)
- Pin 3 (D3)
- Pin 4 (D4)
- Pin 5 (D5)
- Pin 6 (D6)
- Pin 7 (D7)
- Pin 2 (D2)
- Pin 5 (D5)
- Pin 2 (PA2)
- Pin 3 (PA3)
- Pin 2 (PA2)
- Pin 3 (PA3)
on();
— Turn on the air conditioner.off();
— Turn off the air conditioner.
setSwing_on();
— Enable swing mode.setSwing_off();
— Disable swing mode.
setMode(int mode);
— Set the mode:0
= FAN1
= COOL2
= DRY3
= HEAT (if supported by your AC model)
setFan(int speed);
— Set fan speed:0-4
= Speed levels (1, 2, 3, 4, 5)5
= Auto6
= Moon mode
setTemp(int temp);
— Set temperature:- 18–32°C for COOL mode
- 10–30°C for HEAT mode
- 18–30°C for AUTO mode
sendCommand();
— Send the configured command.
decode();
— Decode IR signals.description();
— Print the current configuration and states.
on();
— Turn on the air conditioner.off();
— Turn off the air conditioner.
setSwing_on();
— Enable swing mode.setSwing_off();
— Disable swing mode.
setFan(int speed);
— Set fan speed:0
= Low1
= High
setTemp(int temp);
— Set temperature (18–36°C).
sendCommand();
— Send the configured command.
To use the library, you must first initialize and configure the settings in your program. After configuring, use sendCommand()
to execute the command.
begin(); // Initialize the IR library
on(); // Turn on the air conditioner
setSwing_off(); // Disable swing mode
setMode(1); // Set to COOL mode
setFan(4); // Set fan speed to maximum
setTemp(25); // Set temperature to 25°C
description(); // Print the current configuration
sendCommand(); // Send the IR command
Kwok Fai Fong
help me build Daikin BRC remote control support.
Peter Lambrechts