KinCony DM16 16-Channel Programmable Dimmer Controller
Frequently Bought Together
Achieve professional-grade lighting control with the DM16 Dimmer Controller. This 16-channel controller is designed for precision dimming, outputting a standard 0-10V analog signal ideal for driving LED drivers, electronic ballasts, and industrial dimmers. Powered by the ESP32-S3 and equipped with dual RS485 ports and extensive I/O, it serves as a powerful hub for both lighting control and comprehensive facility monitoring.
Why You'll Love This Controller
✔ Professional Lighting Control
Go beyond simple on/off switches. The DM16’s 0-10V outputs allow for smooth, flicker-free dimming for commercial and residential lighting environments.
✔ High-Density I/O Hub
Get 16 dimming channels, 4 analog inputs, and 16 digital inputs in a single DIN-rail device. It’s a complete automation and monitoring solution.
✔ Multi-Platform Ecosystem
Seamlessly integrates with Tuya App for remote control, Home Assistant for local automation, Loxone Miniserver, and Apple HomeKit for Siri voice control.
✔ Built for Reliability
Features robust opto-isolated inputs for long-distance wiring, a precision RTC for time-critical tasks, and stable Ethernet connectivity.
✔ Your Project, Your Code
Whether you prefer the easy KCS v3 firmware, ESPHome, Tasmota, or writing your own code in Arduino or ESP-IDF, the DM16 gives you complete freedom.
Among other outstanding features are the following:
- High-Precision Time-Stamping: Includes a high-precision DS3231 RTC chip (with battery backup) for accurate time-based events and scheduling, independent of network connectivity.
- Dual-Network Connectivity: Equipped with both Wi-Fi and 100Mbps Ethernet for flexible and resilient network integration, ensuring your controller stays connected.
- Data Logging Capability: Features a microSD card slot (SPI interface) for local data logging and history recording.
- Versatile Input/Output: Offers 4x 1-Wire GPIOs (with pull-up resistors) for temperature sensors and 4x Free GPIOs (direct to ESP32) for maximum flexibility.
- Visual Status Display: Integrated SSD1306 OLED screen provides real-time visibility of IP addresses and connection status.
Technical Specifications:
| Category | Specification |
|---|---|
| Core Processor | ESP32-S3-WROOM-1U (N16R8, dual‑core 32‑bit Xtensa LX7) |
| Digital Outputs | 16× 0-10V DC Dimming Outputs |
| Analog Inputs | 4× 16‑bit ADC (ADS1115) ▪ 2× 0–5 VDC ▪ 2× 4–20 mA (loop‑powered) |
| Digital Inputs |
16× 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) ▪ 2× RS485 (one dedicated for ARM CPU Modbus, one for ESP32) ▪ USB‑C (power/programming) ▪ I²C (expansion) |
| Onboard Peripherals | ▪ RTC: DS3231 (battery socket) ▪ Display: SSD1306 128×64 OLED (I²C) ▪ Storage: microSD card socket |
| User Interface | ▪ 4× buttons: ESP32 Reset, ESP32 Download, Tuya Config, ARM CPU Reset ▪ 16× digital input status LEDs (on front cover) |
| Power Supply | 12-24 VDC |
| Dimensions | 174 × 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) |







