FAQ
TL;DR: For owners of Tuya WiFi IR remotes, this thread gives 3 proven GPIO maps and one blunt rule: “choose the correct platform.” It solves the main OpenBeken problems for S06, S18, and IRC02 units: wrong module ID, failed UART flashing, and AC remotes that decode as unknown instead of usable IR data. [#20717335]
Why it matters: These remotes ship with different modules, pin maps, and firmware versions, so the same AliExpress model name does not guarantee the same OpenBeken setup.
| Model / variant |
Module / chip reported in thread |
Confirmed core pins |
Flashing notes |
| S06 |
WB3S, BK7231T |
Btn P6, IR RX P8, LED P9, IR TX P26 |
Standard mapping from teardown |
| S18 |
CB3S, BK7231N |
Btn P6, IR RX P7, LED P8, IR TX P26 |
One board had swapped RX/TX labels |
| IRC02 |
CB3S, BK7231N |
Btn P6, LED P7, IR RX P24, IR TX P26 |
Some boards lack labeled flash pads |
| Newer S18 variant |
CBU / BK7231N |
Btn P26, LED P24, IR RX P8, IR TX P7 |
Different from original S18 mapping |
| Later S18 variant |
T1-3S / BK7238 |
IRSend P6, input P9, LED P24, IRRecv P26 |
Needs BK7238 path, not BK7231 |
Key insight: Do not trust the product name or PCB silkscreen alone. Verify the actual Wi-Fi module and extracted Tuya pin map before flashing or importing a template.
Quick Facts
- The thread started with 3 usable pinouts, then later added at least 2 more hardware variants, including a CBU-based S18 and a T1-3S BK7238 S18. [#21713105]
- One user bought an S18 for 1.80 euros and flashed it over OTA with Tuya firmware 2.0, showing that some low-cost batches still accept CloudCutter-style workflows. [#20892177]
- OpenBeken’s device database passed 400 devices after the JSON templates from this teardown were added, which makes these mappings reusable beyond a single post. [#20760495]
- A practical serial-flashing constraint appears repeatedly: use an external 3.3V supply, because a USB-to-UART adapter may not provide enough current for reliable flashing. [#21156442]
- One OpenBeken user referenced a 73 kB Tuya config download from the web app for extracting mapping data on a CBU variant, which helps verify pins before full reconfiguration. [#21315480]
How do I configure OpenBeken GPIO pins for the Tuya S06, S18, and IRC02 WiFi IR remotes with BK7231 modules?
Use the model-specific mapping, not a generic IR profile. S06 uses Btn P6, IR RX P8, LED P9, IR TX P26. The original S18 uses Btn P6, IR RX P7, LED P8, IR TX P26. IRC02 uses Btn P6, LED P7, IR RX P24, IR TX P26. One S18 board also had RX and TX silkscreen labels swapped, so verify with the board or extracted config before flashing.
[#20717083]
Where do I import the OpenBeken JSON template file like s18.json.txt, and how do I use the template importer web app?
Import the JSON through the OpenBeken web interface or paste it into the standalone template importer. 1. Open the device web app and use the pin-import function. 2. If needed, open the standalone template importer page mentioned in the thread. 3. Paste the JSON from files like s18.json.txt and apply the generated pin setup to the device. A video and the web importer were both linked for this exact task.
[#20858630]
Why does BK7231 Easy UART Flasher keep showing "Getting bus failed" when flashing a CB3S or CBU IR remote, and how can I fix it?
That error usually means the device did not enter bootloader mode or the serial wiring is bad. In the thread, one case was fixed by correcting bad TX/RX soldering. Another reply suggested trying CEN-to-GND if auto-entry fails. Also avoid relying on the USB-to-UART adapter for power alone; an external 3.3V supply is the recommended setup for stable flashing on these IR remotes.
[#21160214]
What is Tuya CloudCutter, and how does it differ from serial flashing for S06, S18, and IRC02 IR remotes?
CloudCutter is an OTA exploit method that flashes supported Tuya firmware builds without opening the device, while serial flashing uses RX, TX, GND, and power over UART.
"CloudCutter" is an OTA flashing method that targets specific Tuya firmware builds, avoids soldering, and depends on a matching exploit profile for the exact device firmware. In this thread, CloudCutter worked on some S18 units with firmware 2.0 or 2.0.0, but failed on others running 1.0.2.
[#21813801]
What is the difference between WB3S, CB3S, CBU, and T1-3S modules in Tuya IR blasters, and why does it matter for OpenBeken flashing?
They are different Tuya Wi-Fi modules, and the module determines the chip family, platform choice, and sometimes the GPIO map. The thread corrected an early WB3S/CB3S mix-up because WB3S usually means BK7231T, while CB3S means BK7231N. Later posts also showed CBU-based S18 units and a T1-3S unit that needed BK7238 firmware. If you pick the wrong platform at flash time, the process and pin template can both fail.
[#20717191]
Which is more reliable for these Tuya IR remotes: CloudCutter OTA or UART solder flashing?
UART solder flashing is more reliable. The thread states that CloudCutter needs a per-build exploit, and success is not guaranteed because devices ship with different firmware versions and builds. By contrast, serial access works across more hardware revisions if you can reach RX and TX. Even users who preferred OTA ended up opening the case when profiles failed on MCU 1.0.2 devices.
[#21813801]
How can I publish received IR codes from OpenBeken to MQTT instead of only seeing them in the device logs?
Enable Flag 14 in OpenBeken. After that, received IR codes publish to the MQTT topic
<device id>/ir/get instead of staying only in logs. This was given as the direct fix for a Home Assistant user who already had the Tuya IR remote working and wanted incoming codes over MQTT for automation, not just live log viewing.
[#20997557]
Why does OpenBeken detect some remotes correctly but show only IR_UNKNOWN 0x0 0 or random unknown values for AC remotes?
Because some AC remotes use protocols the current build does not decode correctly. In the thread, one remote produced valid Sony logs, while an old TECO AC remote showed only
IR_UNKNOWN 0x0 0. Later users reported Samsung AC remotes producing changing unknown values around 173 to 175 bits. Tuya learning mode could still recognize some of those remotes, which shows the hardware may receive the signal even when OpenBeken cannot decode it cleanly.
[#21905896]
What can I do to troubleshoot an air conditioner remote that works in Tuya learning mode but is not decoded properly by OpenBeken?
Switch to the irRemoteESP build and inspect raw or alternate decode output. The thread first pointed to a fork with AC support, then reported that this IR variant was added to official builds. If OpenBeken logs only
IR_UNKNOWN, compare behavior across versions, because one later discussion said 1.18.98 worked better than 1.18.214 or master for irRemoteESP decoding. That gives you a concrete A/B test path before replacing hardware.
[#21758950]
How do I find RX, TX, GND, and power points on an IRC02 or S18 board when there are no labeled flashing pads?
Probe the board and use the module pins if the PCB exposes no clear header. On one IRC02-style board, the advice was to solder RX and TX directly to the CBU pads, use a large verified ground pad for GND, and power the board through its USB connector from the same machine as the USB-to-UART adapter. That avoids guessing unlabeled pads and limits soldering to only the essential serial lines.
[#21282250]
Why might an S18 or S06 have a different Wi-Fi module or pin mapping than the one shown in the original teardown, and how can I verify the real mapping?
Because Tuya remotes ship in multiple hardware batches under the same retail name. The thread shows an S06 with PCB silkscreen
S06-CB3S-V1.1 that actually had a WB3S module, plus a newer S18 with CBU whose pins changed to Btn P26, LED P24, IR RX P8, and IR TX P7. Verify the real mapping by checking the installed module, reading the Tuya config, or extracting mapping data with BK7231Flasher before applying any template.
[#21315300]
How can I back up the original Tuya firmware from an S06, S18, or CBU-based IR remote before flashing OpenBeken?
Dump the factory firmware before reflash, either from serial tools or from a backup someone posted for the same hardware. In the thread, one user dumped stock firmware from a CBU-based unit with ltchiptool, and another shared original firmware from an S06-class device in a related post. If the board has several variants, confirm the module first, because firmware from WB3S and CB3S hardware is not interchangeable just because the shell looks identical.
[#21299443]
What is the irRemoteESP OpenBeken build, and when should I use it instead of the standard firmware for AC remote support?
Use irRemoteESP when the standard build receives basic remotes but fails on AC protocols.
"irRemoteESP" is an OpenBeken firmware variant that integrates an alternate IR library, adds broader air-conditioner protocol support, and can improve decode results for remotes that appear as unknown in standard builds. The thread first referenced it as a forked build, then confirmed it was added to OpenBeken releases in May 2025.
[#21539309]
How do I create an OpenBeken event so one IR remote button triggers an IRSend command to control another device?
Create an event handler that matches the received protocol and code, then calls
IRSend. One working example in the thread used
startDriver IR,
setFlag 1 1, and
addEventHandler2 IR_NEC 0xC7EA 0x17 IRSend NEC 0x0 0xA8. The trigger side logged a Roku NEC code, and the destination device accepted
IRSend NEC 0x0 0xA8 manually. If the event fires but the target device does not react, test repeat bits or the exact pressed/released variant.
[#21714593]
Why does IR transmission range become very short after flashing an S18 mini remote, and what settings or pin states should I check?
Short range can mean the transmit hardware is not being fully enabled, not just weak firmware. The thread’s most concrete advice was to inspect the extracted Tuya config and check whether an extra GPIO must be driven high to enable sending. That matters because one user reported an S18 that could read and send IR codes, yet only over a very short distance after flashing.
[#21539309]
AI summary based on the discussion. May contain errors.
Comments
Thank you, can you also post JSON configs from Web App so I can just copy-paste them to our devices list? Futhermore, are you sure that you got BK7231N in a WB3S form? Usually WB3S i BK7231T, and CB3S... [Read more]
Sorry, checked it again and you are right: Both of them are BK7231T. I have corrected my post. Sure, I will add the JSON code shortly. [Read more]
Okay, no problem, I was just asking because we really already had a batch of devices that were using CB2S with BK7231T inside , which was very, very strange and confusing for our users, because you have... [Read more]
JSONs were added to our teardowns list. Thank you! Now we have more than 400 devices in our Elektroda database! [Read more]
In case you have a TH06 but the JSON posted in this thread doesn't work for you, maybe it's because you have the same PCB but a different Wi-Fi module. See here for more details. [Read more]
Please send the original firmware here I need any version except 2.0.0 . I write through a translator so there may be errors, thank you in advance. S06CB3S [Read more]
Hello, in case it's suitable for you (or anybody else), I've added the original FW of my device to my other post about it . Anyway, take into account that my device has a WB3S module instead of the... [Read more]
Sorry I am new from openbk the configuration file "s18.json.txt" where do you put? [Read more]
You can import pins that way: Or here is standalone converter: https://openbekeniot.github.io/webapp/templateImporter.html [Read more]
thanks [Read more]
Hello, i flash s18 via ota CloudCutter, using firmware 2.0. Purchased for 1.80 euros on Aliexpress from Spain to Italy I use this for test, i am new from openbk and flashing. Thanks Lexcis [Read more]
Hello @steltad , can I help you somehow? Have you seen our IR tutorial? [Read more]
Hi! I have one tuya IR Remote working with config like this post and embembed in HomeAssistant. Working!!! My question... How to send as mqtt topic the irCode getted by the sensor? Instead of... [Read more]
You need to set Flag 14 in the config>Configure General/Flags and then it will publish IR codes to <dev id>/ir/get https://obrazki.elektroda.pl/6108401700_1710023909_thumb.jpg [Read more]
I have one of these devices (CB3S, BK7231N), but I am confused about how this is supposed to be flashed. According to the second youtube video in this thread I should connect TX1, RX1 and GROUND pin... [Read more]
If it's not entering bootloader mode on its own, then try the CEN to ground method. [Read more]
Thanks for answer. Unfortunatly the CEN to GROUND trick does not work either. What is nonsense to me is having the device powered separately via its own USB cable, but also connected via USB-to-UART. Would... [Read more]
Yes, you can power it from the usb to TTL converter. The usb power is just for convenience. I haven't had any issues flashing obk to several devices now, sounds like maybe there's a hardware issue or... [Read more]
I'm afraid that you actually can't reliably power it from USB to UART converter. It does not have enough current capability. In our videos, we always use external 3.3V supply: https://www.youtube.com/watch?v=L6d42IMGhHw&list=PLzbXEc2ebpH0CZDbczAXT94BuSGrd_GoM ... [Read more]