Custom ESPHome component for Teknopoint and Airton (Airton ref: 409729) AC units using the Tuya ACW02 Wi-Fi module.
⚠️ Compatibility Warning- ✅ Community Compatibility List
- 📌 Contribute
- 📋 Requirements
- ⚙️ Settings
- 🛠️ Build
- 🔍 Interface Details
- 🏠 Bonus Jeedom Configuration
- 📦 Components
- 🧵 PCB Soldering & Wiring
- 🧱 3D Files
- 🧾 Option: QR Code Info
- ❗ Notes
⚠️ Disclaimer & Safety Notice- 🛡️ License
Important
- Works on most Teknopoint units (unconfirmed but no known issues so far, see the Community Compatibility List).
- Works on most Airton units (unconfirmed but no known issues so far, see the Community Compatibility List).
- Exception – Airton: AC units using the Wi-Fi module 409945 are not compatible with this firmware.
- These units use a Tuya MCU UART protocol (
55 AA 03 ...) instead of the custom7A 7A ...protocol implemented here.- You can still use all provided hardware parts (PCB, wiring, and 3D-printed enclosure) from this repository.
- For these models, use this doc ACW02 ESPHome Tuya MCU integration instead — a basic configuration example is provided in that document and can be adapted to your needs.
A non-exhaustive list of tested models is available here:
👉 COMPATIBILITY.md
Help improve this project by reporting your unit compatibility.
If your model is not referenced, please submit a report (tested units only):
👉 Submit your unit
PS: If you encounter a problem, please post an issue before putting your incompatible model.
- Home Assistant with MQTT integration enabled and properly configured
- Enable the WIFI with the AC remote
Open esphome-acw02-en.yaml or esphome-acw02-fr.yaml depending on your preferred language.
If you want to compile using the ESPHome Builder add-on in Home Assistant, use the files from the HA-esphome-builder folder instead (ha-esphome-builder-acw02-en.yaml or ha-esphome-builder-acw02-fr.yaml).
Edit the substitutions section — you can modify:
dev_namedev_friendlyapi_encrypted_keyota_passwordap_passwordweb_server_usernameweb_server_password
substitutions:
dev_name: acw02-salon
dev_friendly: ACW02 salon
lang: "en"
api_encrypted_key: "D2oldc0VP++fni6src89tCSC0UwBhNPgyc8vgYN8/mA="
ota_password: "REPLACE_WITH_YOUR_PASSWORD"
ap_password: "fallbackpassword"
web_server_username: admin
web_server_password: admin
# ESP32 D1 mini WROOM 32
board: esp32dev
TX: GPIO17
RX: GPIO16
## LOLIN ESP32 C3 MINI
# board: lolin_c3_mini
# TX: GPIO21
# RX: GPIO20
## XIAO (seeeds studio) ESP32 C3
# board: seeed_xiao_esp32c3
# TX: GPIO21
# RX: GPIO20
## XIAO (seeeds studio) ESP32 C6
# board: seeed_xiao_esp32c6
# TX: GPIO16
# RX: GPIO17- ESP32 D1 mini WROOM 32
# ESP32 D1 mini WROOM 32 board: esp32dev TX: GPIO17 RX: GPIO16 - LOLIN ESP32 C3 MINI
# LOLIN ESP32 C3 MINI board: lolin_c3_mini TX: GPIO21 RX: GPIO20 - XIAO (seeeds studio) ESP32 C3
# XIAO (seeeds studio) ESP32 C3 board: seeed_xiao_esp32c3 TX: GPIO21 RX: GPIO20 - XIAO (seeeds studio) ESP32 C6
# XIAO (seeeds studio) ESP32 C6 board: seeed_xiao_esp32c6 TX: GPIO16 RX: GPIO17
🔑 I recommend visiting this page to generate a unique api_encrypted_key.
Open secrets.yaml and fill in your Wi-Fi credentials and desired web server access:
wifi_ssid: "testesp32"
wifi_password: "testesp32"
wifi_ssid2: "testesp32"
wifi_password2: "testesp32"
wifi_ssid3: "testesp32"
wifi_password3: "testesp32"- Build on Windows (native)
- Build on MACOS (native)
- Build on Windows with Docker
- Build with ESPHome Builder (2025.7.5 minimum) with Home Assistant add-on:
Use the files in theHA-esphome-builderfolder with the Home Assistant ESPHome add-on:ha-esphome-builder-acw02-fr.yaml– version françaiseha-esphome-builder-acw02-en.yaml– English version
🔁 After updating:
I recommend pressing the "G1: Rebuild MQTT Entities" button to ensure all MQTT discovery topics are refreshed properly.
Note: Jeedom is not officially supported. This is provided as an informational guide only.
-
Channels Logic Level Converter
2 options available:
You can either choose a ready-made module based on the CYT1076,
or use a custom board (to be assembled by JLCPCB) designed around two SN74LVC2T45DCUR.
In practice, the second solution is far more optimized for UART communication.
Personally, I recommend this option: a bit more expensive but much more efficient.
(Of course, I might be slightly biased since I designed it myself 🙂) -
PCB and ESP32 (2 options available)
📌 Important: Use reverse wiring for the following order:
Several ESP32 boards can be used with this module. Each has its own pros and cons depending on your needs.
- ✅ Used for development, therefore the most tested version
- ✅ Built-in reset button on the case
- ❌ Many cheap clones with poor 5V → 3.3V regulator (may cause malfunction)
- ❌ Slightly weaker Wi-Fi signal due to component layout and antenna position
- ❌ No external antenna support
- ✅ Built-in reset button on the case
- ✅ Better Wi-Fi signal compared to ESP32 D1 MINI WROOM 32
- ❌ No external antenna support
- ❌ Trouble with modern WIFI router > WIFI 4 (qood singal but WIFI TX/RX very slow, i detect lot of difficulty with wifi 6 in 2.4GHZ)
- ✅ External antenna support (Wi-Fi signal ≥ LOLIN ESP32 C3 MINI)
- ❌ No reset button on the case
- ✅ External antenna support
- ❌ Antenna not included (must be purchased separately, internal antenna has very poor reception)
- ❌ No reset button on the case
- ❌ Average Wi-Fi signal, often weaker than ESP32 D1 MINI WROOM 32 with internal antenna (that's why you need buy the external antenna)
- RED = 12V
- BLACK = RX
- YELLOW = TX
- GREEN = GND
| Material | Compatible | Notes |
|---|---|---|
| PLA | ❌ No | Not recommended (low heat resistance) |
| PETG | ✅ Yes (recommended) | Good balance of strength & printability |
| ABS | ✅ Yes | Better heat resistance |
| ASA | ✅ Yes | UV resistant, suitable for outdoors |
| PC | ✅ Yes | Very strong & heat resistant |
⚠️ Why not use PLA?
- PLA has a glass transition temperature of only 45–50 °C (or even lower).
- By contrast, PETG can withstand up to ~80 °C, making it much more reliable.
- For electronic components that generate heat, PLA is unsafe in warm environments — especially if your AC unit also provides heating.
- acw02 case bot with air flow (.stl)
- acw02 case top air flow (.stl)
- acw02 case top cable with thermo air flow (.stl)
- acw02 case top cable with thermo plastic card (.stl)
- acw02 case top plastic card (.stl)
- card (.stl)
-
support antenna (multiple config possible)
You don't seem to have a mounting bracket for the module, so I'll provide one for you to stick on your air conditioner. :) (fix with double-sided tape)
-
Countersunk head screw M2x6mm (x4)
-
Screw M3x4mm (x2) (+1 for airton support)
You can generate a QR code to store module information:
- Open
create_QRcode_info.htmlin your browser. - Import your YAML file (
esphome-acw02-en.yamloresphome-acw02-fr.yaml). - Verify the data and click the QR code to download.
- Print and stick it on the module.
This component requires MQTT to work properly.
Please ensure you understand how to configure it with Home Assistant.
🚨 IMPORTANT — PLEASE READ BEFORE USING
Working with electrical devices, HVAC systems, and embedded electronics carries inherent risks.
Proceed only if you fully understand what you are doing and have the proper knowledge and equipment.
- 🔌 Always disconnect power before modifying or connecting hardware.
- ⚙️ Double-check wiring, pin assignments, and voltages before powering on.
- 💥 Incorrect wiring or configuration may permanently damage your AC unit, ESP module, or other connected components.
- 🔥 Electrical work should be done at your own risk and in compliance with local regulations.
I take no responsibility for any direct, indirect, incidental, or consequential damages,
including (but not limited to) hardware failure, data loss, personal injury, fire, or electric shock resulting from the use of this project.
By using the files, code, or documentation provided in this repository,
you acknowledge that you do so entirely at your own risk.
This repository uses multiple licenses depending on content type:
- Code (
*.yaml,*.cpp,*.h) — GNU GPLv3 - PCB files (
*.zip,*.json) — CC BY-NC-SA 4.0 - 3D models (
*.f3d,*.stl) — CC BY-NC-SA 4.0
Commercial use of PCB and 3D files is strictly prohibited.




















