Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 9,583
» Latest member: sarahtaylor
» Forum threads: 4,191
» Forum posts: 20,825

Full Statistics

Online Users
There are currently 18 online users.
» 0 Member(s) | 11 Guest(s)
Amazonbot, PetalBot, bot

Latest Threads
solar production and cons...
Forum: N30
Last Post: dominique_manas@hotmail.com
12 minutes ago
» Replies: 2
» Views: 4
MQTT Discovery: missing s...
Forum: N30
Last Post: admin
5 hours ago
» Replies: 1
» Views: 3
Current direction detecti...
Forum: N30
Last Post: admin
5 hours ago
» Replies: 1
» Views: 5
ai automation
Forum: KinCony integrate with Loxone home automation
Last Post: mediverticals
Today, 06:56 AM
» Replies: 0
» Views: 3
Connecting sensors to Kin...
Forum: F16
Last Post: admin
Today, 12:18 AM
» Replies: 1
» Views: 6
CT Sensor Direction
Forum: N60
Last Post: admin
Yesterday, 08:14 AM
» Replies: 1
» Views: 10
N60 Voltage reference
Forum: N60
Last Post: admin
08-11-2026, 11:09 PM
» Replies: 3
» Views: 18
4-20mA loop voltage consi...
Forum: B4M
Last Post: admin
08-11-2026, 08:05 AM
» Replies: 1
» Views: 16
K868-a32 plastic case
Forum: KC868-A series and Uair Smart Controller
Last Post: admin
08-10-2026, 08:48 AM
» Replies: 3
» Views: 1,186
CT Clamp Compatibility
Forum: KC868-M16 / M1 / MB / M30
Last Post: admin
08-09-2026, 10:32 PM
» Replies: 10
» Views: 1,692

  Ethernet static address
Posted by: MattMueller - 07-16-2026, 01:42 AM - Forum: KC868-A series and Uair Smart Controller - Replies (7)

I use a Board KC868-A16 Rev1.6.3 with tasmota firmware-en-a16.bin from here. After installation I have two ip-addresses (via dhcp) one for wifi and one for ethernet.
In the console I can change the wifi adress to a static address with the command ipaddress1 xxx.xxx.xxx.xxx , that works fine. 
But how can I change the ethernet-address to a static one?

Print this item

  KCS firmware wishlist
Posted by: D2K - 07-15-2026, 12:31 PM - Forum: "KCS" v2 firmware system - Replies (3)

Good afternoon,
I'm using the KC868-A6v2, KC868-A16v2, and KC868-A16v3 boards on KCS, which completely meets my needs.
I like the functionality and practicality of these boards,
but the firmware is inconvenient:
1. The lack of a backup mechanism and external editing of IFTTT rules when updating the version or moving to another board.
2. The lack of double-tap and hold inputs in the MQTT protocol.
I understand that these implementations can be implemented on esphome, but I would like to see them developed for KCS as well.
Thank you for your product.

Print this item

  turn on one relay by mqtt sample on A8v3
Posted by: admin - 07-15-2026, 12:26 AM - Forum: KC868-A8v3 - No Replies

   
   
   

Print this item

  Request for Type A Project
Posted by: kyutimong - 07-14-2026, 04:19 AM - Forum: Apply for free sample product - No Replies

Hello, I'm Mifta from UPN Jakarta in Indonesia. I would love to develop KC868-A4 for my final project in my campus. The project is about control two shuttle from joystick at the same time It would be very helpful if you could share the sample project for me (In this case, I request sample project for Type A). The previous project i only use 3 ESP32 for controlling 2 shuttle and 1 trolly to move synchronously. If you could share the sample project i will give you updates about my project that maybe can be a new application for KC868-A4


You can reach me through my email: miftahul.jannah@upnvj.ac.id



Attached Files Thumbnail(s)
   
Print this item

  KinCony MT4 – 4CH ESP32 DC Motor Driver released
Posted by: admin - 07-11-2026, 03:01 AM - Forum: News - No Replies

KinCony MT4 ESP32-S3 4 Channel DC Motor Controller
Overview
KinCony MT4 is a professional 4 Channel DC Motor Controller based on the ESP32-S3-WROOM-1 (N16R8) module. It is designed for smart home automation, industrial automation, DIY IoT projects, motorized curtains, electric valves, linear actuators, robotic systems and other DC motor control applications.
MT4 integrates 4 independent DC motor drivers, RS485, 433MHz RF receiver, IR receiver, I²C expansion interface, 1-Wire GPIO, WiFi, Bluetooth, USB-C, and a Tuya WiFi module into one compact DIN Rail controller.
Whether you are a developer, system integrator, or smart home enthusiast, MT4 provides multiple firmware options, including KinCony KCS v3, ESPHome, Tasmota, Arduino, ESP-IDF, and MicroPython.


[Image: MT4-1.jpg]
Features
  • ESP32-S3-WROOM-1 (N16R8) Dual-Core Processor
  • 4 Channel DC Motor Driver (L298N)
  • Supports Forward / Reverse / Stop control
  • Maximum 2A load per motor channel
  • Built-in WiFi & Bluetooth
  • Built-in Tuya WiFi module
  • RS485 interface (Modbus supported by KCS firmware)
  • USB Type-C programming interface
  • 433MHz RF Receiver
  • IR Receiver
  • I²C Expansion Port
  • 2 Channel 1-Wire GPIO
  • DIN Rail installation with plastic enclosure
  • Open-source hardware platform
  • Supports Arduino IDE
  • Supports ESP-IDF
  • Supports MicroPython
  • Supports ESPHome
  • Supports Tasmota
  • Home Assistant MQTT Auto Discovery
  • Apple HomeKit support (KCS v3 firmware)

Applications
KinCony MT4 is suitable for various automation projects, including:
  • Motorized Curtains
  • Roller Blinds
  • Window Openers
  • Electric Valves
  • Linear Actuators
  • Smart Furniture
  • Automatic Doors
  • Smart Agriculture
  • Industrial Automation
  • DIY IoT Projects
  • Home Automation Systems

Technical Specifications
Item
SpecificationModel
KinCony MT4
Processor
ESP32-S3-WROOM-1 (N16R8)
Power Supply
DC 12V
Motor Driver
L298N
Motor Outputs
4 Channels
Maximum Motor Current
2A per Channel
Communication
WiFi / Bluetooth
Interfaces
RS485, USB-C, IR Receiver, 433MHz RF Receiver, I²C Expansion
GPIO
2 Channel 1-Wire GPIO
Installation
DIN Rail
PCB Size
87 × 93 mm

Hardware Interfaces
Outputs
  • 4 × DC Motor Outputs
  • Maximum Load: 2A per channel
Inputs
  • 2 × 1-Wire GPIO
  • Built-in pull-up resistors
Buttons
  • S1 – ESP32 Reset
  • S2 – Download Mode (GPIO0)
  • S3 – Tuya Configuration Button
Communication Interfaces
    • WiFi
    • Bluetooth
    • RS485
    • USB Type-C
    • 433MHz RF Receiver
    • IR Receiver
    • I²C Expansion Interface
[Image: KinCony-MT4-smart-controller-diagram.jpg]

Print this item

  [arduino code examples for MT4]-06 IR receiver decode
Posted by: admin - 07-11-2026, 02:21 AM - Forum: MT4 - No Replies

Code:
/*
* SimpleReceiver.cpp
*
* Demonstrates receiving ONLY NEC protocol IR codes with IRremote
* If no protocol is defined, all protocols (except Bang&Olufsen) are active.
*
*  This file is part of Arduino-IRremote https://github.com/Arduino-IRremote/Arduino-IRremote.
*
************************************************************************************
* MIT License
*
* Copyright (c) 2020-2025 Armin Joachimsmeyer
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is furnished
* to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
************************************************************************************
*/

#include <Arduino.h>
#include <IRremote.hpp> // include the library

uint8_t sender_pins[] = {47, 48};
uint8_t receiver_pin = 15;

int sender_pin_num = sizeof(sender_pins) / sizeof(sender_pins[0]);
uint8_t sender_pin_idx = 0;
uint8_t receive_cnt = 0;
uint8_t sCommand = 0x34;
uint8_t sRepeats = 0;

void setup() {
    Serial.begin(115200);
    IrReceiver.begin(receiver_pin, false);
    IrSender.begin(sender_pins[0]);

    xTaskCreate(
      sendIr,    // Function that should be called
      "Send IR",   // Name of the task (for debugging)
      4096,            // Stack size (bytes)
      NULL,            // Parameter to pass
      1,               // Task priority
      NULL             // Task handle
  );
}

void sendIr(void * parameter) {
 
  delay(2000);
  IrSender.setSendPin(47);
  IrSender.sendNEC(0x00, sCommand, sRepeats);
  Serial.printf("send by pin: %d\n", 47);
  delay(2000);

  IrSender.setSendPin(48);
  IrSender.sendNEC(0x00, sCommand, sRepeats);
  Serial.printf("send by pin: %d\n", 48);

  delay(2000);
  vTaskDelete(NULL);
}

void loop() {
  if (IrReceiver.decode()) {
      Serial.println("recv data");
      if (IrReceiver.decodedIRData.protocol == UNKNOWN) {
          Serial.println(F("Received noise or an unknown (or not yet enabled) protocol"));
          // We have an unknown protocol here, print extended info
          IrReceiver.printIRResultRawFormatted(&Serial, true);

          IrReceiver.resume(); // Do it here, to preserve raw data for printing with printIRResultRawFormatted()
      } else {
          IrReceiver.resume(); // Early enable receiving of the next IR frame

          IrReceiver.printIRResultShort(&Serial);
          IrReceiver.printIRSendUsage(&Serial);
      }
  } else {
    // Serial.println("no data");
  }
}
arduino ino file download: 

.zip   SimpleSendReceiver.zip (Size: 1.62 KB / Downloads: 79)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download: 

.zip   SimpleSendReceiver.ino.merged.zip (Size: 194.06 KB / Downloads: 77)

Print this item

  [arduino code examples for MT4]-05 RS485 communication test
Posted by: admin - 07-11-2026, 02:19 AM - Forum: MT4 - No Replies

Code:
/*
* Made by KinCony IoT: https://www.kincony.com
*
* RS485 Communication Test
*
* This program is a simple test for RS485 communication using ESP32-S3.
* It will send a message over RS485 and then read incoming messages.
* The TXD pin is defined as GPIO 16 and RXD pin is defined as GPIO 17.
*/

#include <HardwareSerial.h>

// Define RS485 pins
#define RS485_RXD 7
#define RS485_TXD 6

// Create a hardware serial object
HardwareSerial rs485Serial(1);

void setup() {
  // Start serial communication for debugging
  Serial.begin(115200);
  while (!Serial);

  // Initialize RS485 Serial communication
  rs485Serial.begin(9600, SERIAL_8N1, RS485_RXD, RS485_TXD);
 
  Serial.println("RS485 Test Start");
}

void loop() {
  // Send a test message
  rs485Serial.println("Hello from KinCony");

  // Wait for a short period
  delay(1000);

  // Check if data is available to read
  if (rs485Serial.available()) {
    String receivedMessage = "";
    while (rs485Serial.available()) {
      char c = rs485Serial.read();
      receivedMessage += c;
    }
    // Print the received message
    Serial.print("Received: ");
    Serial.println(receivedMessage);
  }

  // Wait before sending the next message
  delay(2000);
}
arduino ino file download: 

.zip   RS485-Test.zip (Size: 754 bytes / Downloads: 106)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download: 

.zip   RS485-Test.ino.merged.zip (Size: 185.84 KB / Downloads: 111)

Print this item

  [arduino code examples for MT4]-04 DC motor control by L298N driver chip
Posted by: admin - 07-11-2026, 02:18 AM - Forum: MT4 - No Replies

Code:
/*
* Language: English | Русский: ../RU/DIR_DIR_PWM/ | Қазақ: ../KZ/DIR_DIR_PWM/
*
* This code demonstrates motor control using the AlashMotorControlLite library.
* It sets different rotation speeds for the motor with delays between them.
* Code written for Alash engineering.
*/
#include "AlashMotorControlLite.h"
// Create motor object with DIR_DIR_PWM mode and pins inA = 4, inB = 5, PWM = 6
AlashMotorControlLite motor(DIR_DIR_PWM, 39, 46, 9);
void setup() {
}
void loop() {
  motor.setSpeed(100); // Set forward rotation speed
  delay(3000); // Delay 3 seconds

  motor.setSpeed(0); // Stop motor
  delay(3000); // Delay 3 seconds

  motor.setSpeed(-100); // Set reverse rotation speed
  delay(3000); // Delay 3 seconds

  motor.setSpeed(0); // Stop motor
  delay(3000); // Delay 3 seconds
}
arduino ino file download: 

.zip   motor.zip (Size: 560 bytes / Downloads: 127)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download:

.zip   motor.ino.merged.zip (Size: 184.36 KB / Downloads: 75)

Print this item

  [arduino code examples for MT4]-03 Read free GPIO state
Posted by: admin - 07-11-2026, 02:16 AM - Forum: MT4 - No Replies

Code:
/*
  Made by KinCony IoT: https://www.kincony.com

  Monitor GPIO0, GPIO18, GPIO8
  Print to Serial when state changes
*/

#define PIN_0   0
#define PIN_18  18
#define PIN_8   8

int lastState0;
int lastState18;
int lastState8;

void setup() {
  Serial.begin(115200);

  pinMode(PIN_0, INPUT_PULLUP);
  pinMode(PIN_18, INPUT_PULLUP);
  pinMode(PIN_8, INPUT_PULLUP);

  lastState0  = digitalRead(PIN_0);
  lastState18 = digitalRead(PIN_18);
  lastState8  = digitalRead(PIN_8);

  Serial.println("GPIO Monitor Started");
}

void loop() {

  int state0 = digitalRead(PIN_0);
  if (state0 != lastState0) {
    Serial.print("GPIO0 changed to: ");
    Serial.println(state0);
    lastState0 = state0;
  }

  int state18 = digitalRead(PIN_18);
  if (state18 != lastState18) {
    Serial.print("GPIO18 changed to: ");
    Serial.println(state18);
    lastState18 = state18;
  }

  int state8 = digitalRead(PIN_8);
  if (state8 != lastState8) {
    Serial.print("GPIO8 changed to: ");
    Serial.println(state8);
    lastState8 = state8;
  }

  delay(10);
}
arduino ino file download: 

.zip   Free-GPIO.zip (Size: 539 bytes / Downloads: 80)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download:

.zip   Free-GPIO.ino.merged.zip (Size: 180.26 KB / Downloads: 102)

Print this item

  [arduino code examples for MT4]-02 Ethernet W5500 chip work with TCP Server mode
Posted by: admin - 07-11-2026, 02:15 AM - Forum: MT4 - No Replies

Code:
/*
* Made by KinCony IoT: https://www.kincony.com
*
* This Arduino program sets up an ESP32-S3 with a W5500 Ethernet module
* as a TCP server. It listens on port 4196 and echoes back any string
* received from a client.
*
* Hardware connections:
* - CLK: GPIO42
* - MOSI: GPIO43
* - MISO: GPIO44
* - CS: GPIO41
* - RST: GPIO1
* - INT: GPIO2
*
* Static IP address: 192.168.3.55
* Subnet Mask: 255.255.255.0
* Gateway: 192.168.3.1
* DNS: 192.168.3.1
*/

#include <SPI.h>
#include <Ethernet.h>

// Define the W5500 Ethernet module pins
#define W5500_CS_PIN  41
#define W5500_RST_PIN 1
#define W5500_INT_PIN 2
#define W5500_CLK_PIN 42
#define W5500_MOSI_PIN 43
#define W5500_MISO_PIN 44

// MAC address for your Ethernet shield (must be unique on your network)
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

// Static IP address configuration
IPAddress ip(192, 168, 3, 55);       // Static IP address
IPAddress subnet(255, 255, 255, 0);   // Subnet mask
IPAddress gateway(192, 168, 3, 1);    // Default gateway
IPAddress dns(192, 168, 3, 1);        // DNS server address

// Create an EthernetServer object to handle TCP connections
EthernetServer server(4196);

void setup() {
  // Initialize serial communication
  Serial.begin(115200);
  while (!Serial) {
    ; // Wait for serial port to connect
  }

  // Initialize the W5500 module
  pinMode(W5500_RST_PIN, OUTPUT);
  pinMode(W5500_INT_PIN, INPUT);
  digitalWrite(W5500_RST_PIN, LOW);  // Reset the W5500 module
  delay(100);                       // Wait for reset to complete
  digitalWrite(W5500_RST_PIN, HIGH); // Release reset

  // Initialize SPI with the correct pin definitions
  SPI.begin(W5500_CLK_PIN, W5500_MISO_PIN, W5500_MOSI_PIN);

  // Set up the Ethernet library with W5500-specific pins
  Ethernet.init(W5500_CS_PIN);

  // Start the Ethernet connection with static IP configuration
  Ethernet.begin(mac, ip, dns, gateway, subnet);

  // Print the IP address to the serial monitor
  Serial.print("IP Address: ");
  Serial.println(Ethernet.localIP());

  // Start listening for incoming TCP connections
  server.begin();
}

void loop() {
  // Check for incoming client connections
  EthernetClient client = server.available();
  if (client) {
    Serial.println("New client connected");

    // Read data from the client and echo it back
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        server.write(c);
      }
    }

    // Close the connection when done
    client.stop();
    Serial.println("Client disconnected");
  }
}
arduino ino file download: 

.zip   Ethernet-W5500.zip (Size: 1.23 KB / Downloads: 88)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download: 

.zip   Ethernet-W5500.ino.merged.zip (Size: 189.86 KB / Downloads: 82)

Print this item