logo elektroda
logo elektroda
X
logo elektroda

BK7231N - Universal IR Remote Contorl

yarix2 46002 181

TL;DR LABEL_AI_GENERATED

  • BK7231N-based universal IR remote control now has a working IR blaster on firmware 1.15.x, tested on a Model S08 / PCB S06-CBU-V1.2.
  • All flashing pins are exposed on the board, including TX1, RX1, GND, 3.3v, and CEN for reset.
  • After flashing, set PinDescription 7 IRSend, 8 IRRecv, and 24 wifiLed, then restart because IR pins do not change in real time.
  • Firmware 1.15.226 and the webapp log confirm IRRecv captures external remote codes, and IRSend can replay commands like LG-88-130-1.
AI summary based on the discussion. May contain errors.
ADVERTISEMENT
Listen:
  • Goodweather protocol learned, unknown 99-bit frames remain

    #181 21641497
    sanychlxg60989
    Level 3  
    Posts: 3
    Hello, i tried to learn my ir remote controller.
    my air conditioner NEOLINE (in tuya it - CHIGO) - from tuya work ok.

    Info:IR:IR GOODWEATHER 0 0 1
    Info:IR:IR GOODWEATHER,48,0x552436000000
    Info:MQTT:Publishing val 3f,0x552436000000,48 to homeassistant/ir/get retain=0
    Info:IR:IR MQTT publish IR GOODWEATHER,48,0x552436000000 took 3ms
    Info:MQTT:Publishing val {"IrReceived":{"Protocol":"GOODWEATHER","Bits":48,"Data":"0x552436000000"}} to homeassistant/RESULT retain=0
    Info:MQTT:MQTT client in mqtt_incoming_publish_cb topic homeassistant/ir/get
    Info:MAIN:Time 619, idle 118019/s, free 68480, MQTT 1(2), bWifi 1, secondsWithNoPing -1, socks 2/38
    Info:IR:IR GOODWEATHER 0 0 1
    Info:IR:IR GOODWEATHER,48,0x552434000000
    Info:MQTT:Publishing val 3f,0x552434000000,48 to homeassistant/ir/get retain=0
    Info:IR:IR MQTT publish IR GOODWEATHER,48,0x552434000000 took 2ms
    Info:MQTT:Publishing val {"IrReceived":{"Protocol":"GOODWEATHER","Bits":48,"Data":"0x552434000000"}} to homeassistant/RESULT retain=0
    Info:MQTT:MQTT client in mqtt_incoming_publish_cb topic homeassistant/ir/get
    Info:MAIN:Time 620, idle 108566/s, free 68480, MQTT 1(2), bWifi 1, secondsWithNoPing -1, socks 2/38
    Info:GEN:dhcp=0 ip=192.168.1.233 gate=192.168.1.1 mask=255.255.255.0 mac=4c:a9:19:be:1e:0f
    Info:GEN:sta: 1, softap: 0, b/g/n
    Info:GEN:sta:rssi=-61,ssid=Home_Z,bssid=24:0f:5e:00:52:66,channel=1,cipher_type:CCMP
    Info:IR:IR Unknown ffffffff,0x7E4997B4,99
    Info:MQTT:Publishing val ffffffff,0x7E4997B4,99 to homeassistant/ir/get retain=0
    Info:IR:IR MQTT publish IR Unknown ffffffff,0x7E4997B4,99 took 3ms
    Info:MQTT:MQTT client in mqtt_incoming_publish_cb topic homeassistant/ir/get
    Info:MQTT:Publishing val {"IrReceived":{"Protocol":"UNKNOWN","Bits":99,"Data":"0x7E4997B4"}} to homeassistant/RESULT retain=0
    Info:MAIN:Time 621, idle 116845/s, free 68480, MQTT 1(2), bWifi 1, secondsWithNoPing -1, socks 2/38
    Info:IR:IR Unknown ffffffff,0x85BCC9D0,99
    Info:MQTT:Publishing val ffffffff,0x85BCC9D0,99 to homeassistant/ir/get retain=0
    Info:IR:IR MQTT publish IR Unknown ffffffff,0x85BCC9D0,99 took 3ms
    Info:MQTT:MQTT client in mqtt_incoming_publish_cb topic homeassistant/ir/get
    Info:MQTT:Publishing val {"IrReceived":{"Protocol":"UNKNOWN","Bits":99,"Data":"0x85BCC9D0"}} to homeassistant/RESULT retain=0

    if I try to send - say "OK", no actions on contioner.
    Smart IR app screen showing selected Chigo air conditioner remote Universal remote control with USB cable and reset button held in hand Person holding a round black Wi-Fi remote with USB cable and QR sticker on the bottom.
  • ADVERTISEMENT
  • Possible itoa bug and swapped pullup helpers

    #182 21854579
    divadiow
    Level 38  
    Posts: 5220
    Help: 449
    Rate: 918
    saw this GH issues post about IRremoteESP8266 and wondered how an LLM would get on with updating the OpenBeken integration from v2.8.4 to v2.9.0:
    https://github.com/openshwprojects/OpenBK7231T_App/issues/2014

    The process brought up a couple things that may or may not be anything. I am curious about them

    itoa.cpp
    is this local itoa/ltoa/utoa/ultoa replacement correct?. it looks like it resets the output index inside the loop, which would seem to make multi-digit numbers collapse down to a single digit

    digitalWriteFast.cpp
    In the non-Beken path, INPUT_PULLUP appears to call the pulldown helper, and INPUT_PULLDOWN appears to call the pullup helper. On the Beken side it’s mapped the expected way around. was there a platform-specific reason for that?

    :)
Listen:

Topic summary

LABEL_AI_GENERATED
Discussion about flashing and reverse-engineering BK7231N-based universal IR blasters, mainly Tuya S06/S08 and related CBU/CB3S boards. The thread covers board teardown photos, pin mappings for IRRecv, IRSend, status LED, UART flashing access, and safe reboot behavior after changing pin configuration. OpenBeken/OpenBK7231N firmware development adds IR receive and transmit support, MQTT and HTTP control, JSON/raw publish formats, protocol filtering, RX/TX coexistence, and inverted PWM output. Users report issues such as unknown IR codes for some air-conditioner remotes, unreliable transmission on some boards, echo during TX when RX is enabled, and the need to restart after pin changes. Later posts discuss Home Assistant and Node-RED integration, correct MQTT topic syntax, and expanding codec support for Samsung, Panasonic, Sony, RC5, NEC, Mitsubishi AC, and other IR protocols.
AI summary based on the discussion. May contain errors.

FAQ LABEL_AI_GENERATED

TL;DR: Firmware v1.17.566 decodes 48-bit AC frames and drives IR TX/RX on PWM 7-8-26 in > 90 % of S06/S08/S16 blasters; “all the pins needed for flashing are easily accessible” [Elektroda, yarix2, post #20195873]

Why it matters: Correct pin mapping and command syntax unlock reliable two-way IR control for Home-Assistant, Alexa and MQTT.

Quick Facts

• Default pinout: P7 = IRSend, P8 = IRRecv, P24/26 = Wi-Fi LED [Elektroda, avdm, post #20254570] • Safe flashing via TX1/RX1 @ 115 200 bps; full 2 MB dump ≈ 3 min [Elektroda, crazybyte, post #20354088] • Working protocols after v1.17.386: NEC, RC5/6, Sony 12/15/20 bit, Panasonic 48-bit, Daikin312 [Elektroda, pkaczmarek2, post #20883323] • AC frames can exceed 300 bytes; enable Flag 15 to log UNKNOWN noise [Elektroda, dpprpl, post #20780264] • Typical reach: 8–10 m with 3 × 5 mm 940 nm IR LEDs, 38 kHz carrier [IRremote].

How do I wire and flash the S06/S08/S16 IR blaster?

  1. Solder wires to 3 V3, GND, TX1, RX1 and CEN pads.
  2. Hold CEN low, power the board, then run hid_download_py or OpenBK GUI Flash Tool with the BK7231N_QIO image [Elektroda, crazybyte, post #20354088]
  3. After “Flash success”, release CEN and reboot. Total time ≈ 60 s.

Why does my Wi-Fi LED stay off?

Use the inverted type: select WifiLED_n on P9 or P24 depending on PCB revision. Some S08 Pro boards route LED to PWM3 (P9), not PWM2 [Elektroda, brianroy86, post #20862526]

IRSend runs but LEDs never flash—what’s wrong?

Check: a) protocol string must start with the name only, e.g. “NEC-4-2-1”, NOT “IR_NEC” [Elektroda, pkaczmarek2, post #20862511]; b) IRSend pin must be on a PWM-capable GPIO; c) carrier ≈ 38 kHz—scope it or view through a phone camera.

How do I read IR codes quickly?

Enable Flag 15 to log unknown packets, open WebApp→Log, point remote, read lines like “IR_NEC 0x4 0x2 0” [Elektroda, dpprpl, post #20780264]

Sony commands send only the start bit—fix?

Update to ≥ v1.17.566. Firmware now auto-fills missing bit length; override with “Sony-ADDR-CMD-REP-NUMBITS” if needed [Elektroda, pkaczmarek2, post #20883323]

AC remote shows IR_UNKNOWN—can I still control it?

Try VFonov IR fork (build 566+) which adds Daikin, Fujitsu, TCL and Spectra protocols. If decoding still fails, record with an ESP32 + IRrecvDump then replay raw via “IRSend RAW,,,…”. Edge case: long AC frames may exceed 1 KB buffer; split into two parts.

How to convert Celsius*10 to real temperature?

Set channel type temperature_div10 in autoexec: “setChannelType 1 temperature_div10”. HA will convert to °F automatically [Elektroda, p.kaczmarek2, post #20840661]
AI summary based on the discussion. May contain errors.
ADVERTISEMENT