KinCony DM4 4-Channel Programmable Dimmer Controller
Frequently Bought Together
If you need clean, flicker-free analog dimming for a handful of circuits — LED drivers, HVAC actuators, motor speed controllers — the KinCony DM4 gives you exactly that in a compact DIN rail package. It delivers four independent 0-10V DC output channels driven by the ESP32-S3, with Wi-Fi, Ethernet, RS485, and Bluetooth all built in. At 114 x 83 x 59 mm it is one of the smallest controllers in the DM series, making it a natural fit for smaller panels or installations where channel count is modest but reliability and connectivity still matter.
Why You'll Love This Controller
✔ Clean Analog Output
The 0-10V outputs are genuinely smooth — no PWM artifacts, no flicker. If you are dimming LED drivers or controlling actuators that are sensitive to signal quality, this matters.
✔ Precise Sensing
The ADS1115 16-bit ADC gives you sensor readings you can actually trust, including direct support for 4-20mA industrial current loop sensors without any external conversion circuitry.
✔ Firmware Freedom
Use KCS v3 for zero-config Home Assistant integration via MQTT, ESPHome for YAML-based customization, Tasmota for open-source flexibility, or write your own code in Arduino IDE, MicroPython, or ESP-IDF. Your project, your rules.
✔ Smart Platform Ready
Works with Home Assistant, Tuya app, Apple HomeKit (Siri), Google Home, Alexa, and Loxone Miniserver right out of the box with KCS v3 firmware.
✔ Right-Sized for Smaller Installations
At only 114 x 83 x 59 mm, the DM4 fits in panels where a larger board would be overkill. Four channels is often exactly what a room or zone needs.
Among other outstanding features are the following:
- Multi-Network Connectivity: Wi-Fi and 100Mbps Ethernet (IPv4/IPv6) are both available simultaneously, with Bluetooth and USB-C rounding out the connection options. RS485 adds wired serial communication for Modbus devices.
- OLED Status Display: The SSD1306 OLED screen shows the current Wi-Fi IP address, Ethernet IP address, and Tuya cloud connection status — handy at a glance during commissioning or troubleshooting.
- Multi-Protocol Support: Works with HTTP, MQTT, TCP, RS485 Modbus, and the Tuya app. KCS v3 firmware also supports local IFTTT-style automation that runs entirely without internet access.
- Apple HomeKit and Loxone Support: KCS v3 firmware includes Apple HomeKit support for Siri voice control, and native integration with Loxone Miniserver for users already in that ecosystem.
- Free GPIO Pins: Four additional GPIO pins connect directly to the ESP32-S3 (no pull-up resistors on PCB), giving you raw access for custom sensors, LEDs, or other peripherals.
- Cloud Service: Customers purchasing from the official store receive two years of free KinCony cloud access, enabling remote monitoring and control from any web browser without setting up a VPN or port forwarding.
Technical Specifications:
| Category | Specification |
|---|---|
| Core Processor | ESP32-S3-WROOM-1U (N16R8, dual‑core 32‑bit Xtensa LX7) |
| Digital Outputs | 4× 0-10V DC Dimming Outputs |
| Analog Inputs | 4× 16‑bit ADC (ADS1115) ▪ 2× 0–5 VDC ▪ 2× 4–20 mA (loop‑powered) |
| Digital Inputs |
4× dry contact, opto‑isolated ▪ Cable length: up to 500 m (dependent on installation) |
| Digital I/O (GPIO) | ▪ 4× 1‑Wire GPIO (with pull‑up) ▪ 4× free GPIO (direct to ESP32, no pull‑up) |
| Wireless Connectivity | ▪ Wi‑Fi 2.4 GHz (802.11 b/g/n) ▪ Bluetooth 5.0 (BLE) |
| IoT Platform | Tuya‑compatible (via Wi‑Fi/Bluetooth) |
| Wired Connectivity | ▪ Ethernet: 100M RJ45 (IPv4/IPv6) ▪ RS485 ▪ USB‑C (power/programming) ▪ I²C (expansion) |
| Onboard Peripherals | ▪ RTC: DS3231 (battery socket) ▪ Display: SSD1306 128×64 OLED (I²C) ▪ Storage: microSD card socket (SPI bus) |
| User Interface | ▪ 3× buttons: ESP32 Reset, ESP32 Download, Tuya Config |
| Power Supply | 12-24 VDC |
| Dimensions | 114 × 83 × 59 mm |
| Mounting | 35 mm DIN rail (EN 60715) |
I. Firmware Options and Features
| Solution | Ideal For | Key Advantages |
|---|---|---|
| 1. KCS v3 Firmware (Recommended) | Beginners / Zero-Code Users | ✔ Auto-detects Home Assistant via MQTT (no config files) ✔ Works with Tuya App + Alexa/Google Voice Control ✔ Local IFTTT automation (no internet needed) ✔ 2-year free KinCony Cloud (official store only) ✔ Apple HomeKit support (one-tap setup) |
| 2. ESPHome Firmware | Home Assistant Enthusiasts | ✔ Full open-source customization ✔ Web UI + HA deep integration ✔ Full YAML examples |
| 3. Tasmota Firmware | Open-Source Community | ✔ Massive plugin ecosystem ✔ MQTT/Web control + rule engine |
| 4. Arduino/ESP-IDF Custom Code | Developers | ✔ Full Arduino demos ✔ Supports MicroPython/ESP-IDF |
| 5. Hybrid Setup (Best Practice) | Advanced Users | Tuya App (remote via internet) + Home Assistant (local via LAN) – Security + convenience |
II. Technical Resources by Product
Direct links to pin definitions, ESPHome configurations, Arduino demo source codes, and KCS firmware. All open-source and maintained on GitHub.
| Model | KCS Firmware | Pin Definitions | ESPHome (YAML) | Arduino Demos |
|---|---|---|---|---|
|
F4
4‑ch relay · 4 inputs
ADS1115 |
📦 kcs_{KCS_VERSION}.bin | 📄 F4_pin_definition.md |
🔹 with Tuya Tuya module
🔸 without Tuya Ethernet/WiFi only
|
📁 F4/ (11 examples) |
|
F8
8‑ch relay · 8 inputs
PCF8575 |
📦 kcs_{KCS_VERSION}.bin | 📄 F8_pin_definition.md |
🔹 with Tuya Tuya module
🔸 without Tuya Ethernet/WiFi only
|
📁 F8/ (11 examples) |
|
F16
16‑ch relay · 16 inputs
PCF8575 |
📦 kcs_{KCS_VERSION}.bin | 📄 F16_pin_definition.md |
🔹 with Tuya Tuya module
🔸 without Tuya Ethernet/WiFi only
|
📁 F16/ (11 examples) |
|
F24
24‑ch relay · 24 inputs
3×PCF8575 |
📦 kcs_{KCS_VERSION}.bin | 📄 F24_pin_definition.md |
🔹 with Tuya Tuya module
🔸 without Tuya Ethernet/WiFi only
|
📁 F24/ (12 examples) |
|
F32
32‑ch relay · 32 inputs
3×PCF8575 |
📦 kcs_{KCS_VERSION}.bin | 📄 F32_pin_definition.md |
🔹 with Tuya Tuya module
🔸 without Tuya Ethernet/WiFi only
|
📁 F32/ (11 examples) |
| Model | KCS Firmware | Pin Definitions | ESPHome (YAML) | Arduino Demos |
|---|---|---|---|---|
|
T16M
16‑ch relay + 16 inputs
single I2C bus |
📦 kcs_{KCS_VERSION}.bin | 📄 T16M_pin_definition.md | 📁 T16M/ (6 examples) | |
|
T32M
32‑ch relay + 32 inputs
dual I2C bus |
📦 kcs_{KCS_VERSION}.bin | 📄 T32M_pin_definition.md | 📁 T32M/ (7 examples) | |
|
T64M
64‑ch relay + 64 inputs
dual I2C buses |
📦 kcs_{KCS_VERSION}.bin | 📄 T64M_pin_definition.md | 📁 T64M/ (8 examples) | |
|
T128M
128‑ch relay + 128 inputs
dual I2C buses |
📦 kcs_{KCS_VERSION}.bin | 📄 T128M_pin_definition.md | 📁 T128M/ (8 examples) | |
|
TA
Thermostat Adapter
|
📦 kcs_{KCS_VERSION}.bin | 📄 TA_pin_definition.md | 📁 TA/ (11 examples) |
🔸 v2 high‑precision ESPHome configs (0.001 kWh) require ARM CPU firmware ≥ V20_260305SP.
| Model | KCS Firmware | Pin Definitions | ESPHome (YAML) | Arduino Demos |
|---|---|---|---|---|
|
N10
10‑ch energy meter
|
📦 kcs_{KCS_VERSION}.bin | 📄 N10_pin_definition.md |
🔹 N10_esphome.yaml v1 (1 kWh)
🔸 N10_esphome_v2.yaml v2 (0.001 kWh)
v2 require ARM CPU firmware ≥ V20_260305SP. |
📁 N10/ (5 examples) |
|
N20
20‑ch energy meter
|
📦 kcs_{KCS_VERSION}.bin | 📄 N20_pin_definition.md |
🔹 N20_esphome.yaml v1 (1 kWh)
🔸 N20_esphome_v2.yaml v2 (0.001 kWh)
v2 require ARM CPU firmware ≥ V20_260305SP. |
📁 N20/ (5 examples) |
|
N30
30‑ch energy meter
|
📦 kcs_{KCS_VERSION}.bin | 📄 N30_pin_definition.md |
🔹 N30_esphome.yaml v1 (1 kWh)
🔸 N30_esphome_v2.yaml v2 (0.001 kWh)
v2 require ARM CPU firmware ≥ V20_260305SP. |
📁 N30/ (5 examples) |
|
N60
60‑ch energy meter
|
📦 kcs_{KCS_VERSION}.bin | 📄 N60_pin_definition.md |
🔹 N60_esphome.yaml v1 (1 kWh)
🔸 N60_esphome_v2.yaml v2 (0.001 kWh)
v2 require ARM CPU firmware ≥ V20_260305SP. |
📁 N60/ (5 examples) |
| Model | KCS Firmware | Pin Definitions | ESPHome (YAML) | Arduino Demos |
|---|---|---|---|---|
|
DM4
4‑ch digital input module
|
📦 kcs_{KCS_VERSION}.bin | 📄 DM4_pin_definition.md |
🔸 without Tuya Ethernet/WiFi only
|
📁 DM4/ (11 examples) |
|
DM8
8‑ch digital input module
|
📦 kcs_{KCS_VERSION}.bin | 📄 DM8_pin_definition.md |
🔸 without Tuya Ethernet/WiFi only
|
📁 DM8/ (11 examples) |
|
DM16
16‑ch digital input module
|
📦 kcs_{KCS_VERSION}.bin | 📄 DM16_pin_definition.md |
🔹 with Tuya Tuya module
🔸 without Tuya Ethernet/WiFi only
|
📁 DM16/ (11 examples) |
|
DM32
32‑ch digital input module
|
📦 kcs_{KCS_VERSION}.bin | 📄 DM32_pin_definition.md |
🔸 without Tuya Ethernet/WiFi only
|
📁 DM32/ (11 examples) |
| Model | KCS Firmware | Pin Definitions | ESPHome (YAML) | Arduino Demos |
|---|---|---|---|---|
|
G1
Gateway controller
|
📦 kcs_{KCS_VERSION}.bin | 📄 G1_pin_definition.md | Not supported | 📁 G1/ (11 examples) |
|
AIO Hybrid
All‑in‑one hybrid controller
RF433 · Zigbee · IR · DAC |
📦 kcs_{KCS_VERSION}.bin | 📄 AIO_Hybrid_pin_definition.md |
🔹 with Tuya Tuya module
🔸 without Tuya Ethernet/WiFi only
|
📁 AIO Hybrid/ (13 examples) |






