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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 9,224
» Latest member: TimDavid16
» Forum threads: 4,095
» Forum posts: 20,534

Full Statistics

Online Users
There are currently 61 online users.
» 0 Member(s) | 43 Guest(s)
AhrefsBot, Amazonbot, Applebot, Baidu, Google, PetalBot, Semrush, bot

Latest Threads
Need Advice for New 3-Flo...
Forum: Suggestions and feedback on KinCony's products
Last Post: admin
5 hours ago
» Replies: 1
» Views: 6
N series Energy Meter for...
Forum: N60
Last Post: admin
Yesterday, 12:49 PM
» Replies: 2
» Views: 116
Request for free sample
Forum: Apply for free sample product
Last Post: oscarsoler
Yesterday, 09:02 AM
» Replies: 0
» Views: 8
KCS v2 relay state after ...
Forum: "KCS" v2 firmware system
Last Post: admin
Yesterday, 04:33 AM
» Replies: 1
» Views: 16
Multiple phase L1,L2,L3
Forum: N20
Last Post: admin
Yesterday, 02:35 AM
» Replies: 7
» Views: 365
Request for 230VAC LEDs /...
Forum: Development
Last Post: admin
06-17-2026, 11:09 PM
» Replies: 5
» Views: 45
KC868-a6 2 analog output...
Forum: KC868-A6
Last Post: admin
06-17-2026, 01:21 PM
» Replies: 7
» Views: 133
Single-family home automa...
Forum: DIY Project
Last Post: Jan_W
06-16-2026, 06:07 AM
» Replies: 3
» Views: 169
Kincony A4s
Forum: KC868-A4S
Last Post: admin
06-15-2026, 11:27 PM
» Replies: 1
» Views: 77
"KCS" v3.25.0 firmware BI...
Forum: "KCS" v3 firmware
Last Post: admin
06-15-2026, 11:26 PM
» Replies: 9
» Views: 879

  Tiny Alarm board after flashing seems to no longer working
Posted by: algaema - 06-12-2026, 01:29 PM - Forum: TA - Replies (7)

Hi Kincony,

I have tried to flash newer version firmware (tried KCS_KC_TA_V3.25.0.zip) from a Mac. Tried multiple methods, including the use of a Windows VM with the official tool, and web.esphome.io. But while both tool reported success, when I turn off and on the board it is not able to respond on network. I have even tried to use the method of removing power, pressing the DW button, and then attaching the power, and then used the official tool to copy firmware using a low (115200) baud rate, while the tool has reported success, after reset the board it is just not responding on network (I can verify that on the switch statistics, in which the "bytes sent" in switch has high values, however "bytes received" in switch is always showing 0, indicating that the Tiny Alarm board is not responding any packet at all. 

I have also tested to use USB C to USB A cable instead of a USB C to USB C cable as I see the youtube video is using one of that. 

May I ask how is there a way to troubleshoot a ESP32S3 board boot up message to see if the firmware is correctly copied?

Print this item

  [arduino code examples for KC868-AGv3]-03 IR send & receive
Posted by: admin - 06-11-2026, 08:44 PM - Forum: KC868-AGv3 - 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, 43,44};
uint8_t receiver_pin = 1;

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(1000);
  IrSender.setSendPin(47);
  IrSender.sendNEC(0x00, sCommand, sRepeats);
  Serial.printf("send by pin: %d\n", 47);
  delay(1000);

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

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

  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.63 KB / Downloads: 38)
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: 198.05 KB / Downloads: 38)

Print this item

  [arduino code examples for KC868-AGv3]-02 RF 433MHz sender
Posted by: admin - 06-11-2026, 08:42 PM - Forum: KC868-AGv3 - No Replies

Code:
/*
  Example for different sending methods
 
  https://github.com/sui77/rc-switch/
 
*/

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

void setup() {

  Serial.begin(9600);
 
  // Transmitter is connected to Arduino Pin #10 
  mySwitch.enableTransmit(digitalPinToInterrupt(2));
  delay(500);
  mySwitch.send(5396, 24);
 
  // Optional set protocol (default is 1, will work for most outlets)
  // mySwitch.setProtocol(2);

  // Optional set pulse length.
  // mySwitch.setPulseLength(320);
 
  // Optional set number of transmission repetitions.
   mySwitch.setRepeatTransmit(15);
 
}

void loop() {

  /* See Example: TypeA_WithDIPSwitches */
  mySwitch.switchOn("11111", "00010");
  delay(1000);
  mySwitch.switchOff("11111", "00010");
  delay(1000);

  /* Same switch as above, but using decimal code */
  mySwitch.send(5393, 24);
  delay(1000); 
  mySwitch.send(5396, 24);
  delay(1000); 

  /* Same switch as above, but using binary code */
  mySwitch.send("000000000001010100010001");
  delay(1000); 
  mySwitch.send("000000000001010100010100");
  delay(1000);

  /* Same switch as above, but tri-state code */
  mySwitch.sendTriState("00000FFF0F0F");
  delay(1000); 
  mySwitch.sendTriState("00000FFF0FF0");
  delay(1000);

// delay(20000);
  ;
}
arduino ino file download: 

.zip   433-send.zip (Size: 685 bytes / Downloads: 47)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download:

.zip   433-send.ino.merged.zip (Size: 186.47 KB / Downloads: 37)

Print this item

  [arduino code examples for KC868-AGv3]-01 RF 433MHz decode
Posted by: admin - 06-11-2026, 08:41 PM - Forum: KC868-AGv3 - No Replies

Code:
/*
  Simple example for receiving
 
  https://github.com/sui77/rc-switch/
*/

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

void setup() {
  Serial.begin(9600);
  mySwitch.enableReceive(digitalPinToInterrupt(9));
  Serial.print("begin test");
}

void loop() {
  if (mySwitch.available()) {
   
    Serial.print("Received ");
    Serial.print( mySwitch.getReceivedValue() );
    Serial.print(" / ");
    Serial.print( mySwitch.getReceivedBitlength() );
    Serial.print("bit ");
    Serial.print("Protocol: ");
    Serial.println( mySwitch.getReceivedProtocol() );

    mySwitch.resetAvailable();
  }
}
arduino ino file download: 

.zip   433-decode.zip (Size: 450 bytes / Downloads: 33)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download:

.zip   433-decode.ino.merged.zip (Size: 185.98 KB / Downloads: 30)
   

Print this item

  KC868-AGv3 ESP32S3 I/O pin define
Posted by: admin - 06-11-2026, 08:38 PM - Forum: KC868-AGv3 - No Replies

ESP32 download: GPIO0

I2C bus:
SDA:GPIO11
SCL:GPIO10

24C02 EPROM i2c address: 0x50

RF433M Sender:GPIO2
RF433M Receiver:GPIO9

IR Receiver:GPIO1

IR Sender: GPIO47 (7pcs IR tube inside of box)
IR extend cable-1:GPIO43
IR extend cable-2:GPIO44

beep: GPIO21

Free GPIOs:
GPIO4
GPIO5
GPIO6
GPIO7
GPIO15
GPIO16
GPIO17
GPIO18
GPIO42
GPIO8
GPIO40
GPIO41
GPIO38
GPIO39
GPIO13
GPIO14
GPIO12
GPIO48

Print this item

  KinCony KC868-AGv3 ESP32S3 Smart IR RF Controller released
Posted by: admin - 06-11-2026, 08:32 PM - Forum: News - No Replies

ESP32-S3 Smart IR RF Controller – KinCony KC868-AGv3
KinCony KC868-AGv3 is a smart IR controller designed for smart home automation and IoT projects. It is based on the ESP32-S3-WROOM-1U N16R8 module, with powerful performance and rich interfaces for infrared, RF433MHz, and custom GPIO expansion.
KC868-AGv3 supports Home Assistant, ESPHome, Arduino IDE, MicroPython, and ESP-IDF development. With KinCony KCS v3 firmware, it also supports MQTT Home Assistant Auto Discovery, so users can integrate sensors and decoded IR signals into Home Assistant without writing configuration code.
[Image: KC868-AGv3-1.jpg]
Main Features

  • ESP32-S3-WROOM-1U N16R8 module
  • Built-in IR receiver
  • IR sending via 3 GPIO channels
  • 2 independent IR extension cable ports
  • Built-in RF433MHz receiver
  • Built-in RF433MHz sender
  • Built-in buzzer
  • 18 free GPIO ports on PCB
  • Supports Home Assistant
  • Supports ESPHome YAML configuration
  • Supports Arduino IDE, MicroPython, and ESP-IDF development
  • Supports KCS v3 firmware
  • MQTT Home Assistant Auto Discovery
  • Zero-code integration with Home Assistant using KCS firmware
  • Suitable for smart home, IoT, IR control, RF remote control, and automation projects
[Image: KC868-AGv3-2.jpg]
Home Assistant Integration
KC868-AGv3 can be used with Home Assistant in two ways.
Users can configure the device with ESPHome YAML for customized automation projects.
It can also run KinCony KCS v3 firmware. With KCS v3 firmware, KC868-AGv3 supports MQTT Home Assistant Auto Discovery. Sensors and decoded IR signals can be automatically discovered in Home Assistant, making setup much easier without writing configuration code.
IR and RF Control
KC868-AGv3 includes both infrared and RF433MHz functions.
The built-in IR receiver can be used to learn and decode infrared remote control signals. The IR sender can transmit IR signals through 3 GPIO channels, including onboard IR output and 2 independent IR extension cable ports.
The RF433MHz receiver and sender allow the controller to work with 433MHz wireless remote controls, sensors, and RF devices.
[Image: KinCony-KC868-AGv3-Smart-Controller-diagram.jpg]
Hardware Specifications
Item
DescriptionModel
KinCony KC868-AGv3
Processor
ESP32-S3-WROOM-1U N16R8
Power Supply
DC 5V via USB-C
Free GPIOs
18
IR Receiver
1
IR Sender
3 GPIO channels
IR Extension Cable Ports
2 independent ports
RF433MHz Receiver
1
RF433MHz Sender
1
Buzzer
1
Size
100mm × 100mm × 30mm
[Image: KC868-AGv3-6.jpg]

Print this item

  [Arduino IDE demo source code for KC868-A128]--#05--Digital input trigger output
Posted by: admin - 06-11-2026, 05:19 AM - Forum: KC868-A128 - No Replies

   

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

  KC868-A128
  DI1 -> DO1
  DI2 -> DO2
  ...
  DI128 -> DO128

  IIC Bus-A for relay DO:
  SDA = GPIO5
  SCL = GPIO16

  IIC Bus-B for DI:
  SDA = GPIO15
  SCL = GPIO4
*/

#include <Arduino.h>
#include <Wire.h>

#define DO_SDA 5
#define DO_SCL 16

#define DI_SDA 15
#define DI_SCL 4

// PCF8575 address order
uint8_t pcfAddr[8] = {
  0x24, 0x25, 0x21, 0x22,
  0x26, 0x27, 0x20, 0x23
};

// relay output state
// PCF8575: 1 = OFF, 0 = ON
uint16_t relayState[8];

uint16_t readPCF8575(TwoWire &wireBus, uint8_t addr) {
  wireBus.requestFrom(addr, (uint8_t)2);

  if (wireBus.available() < 2) {
    return 0xFFFF;
  }

  uint8_t lowByte = wireBus.read();
  uint8_t highByte = wireBus.read();

  return ((uint16_t)highByte << 8) | lowByte;
}

void writePCF8575(TwoWire &wireBus, uint8_t addr, uint16_t value) {
  wireBus.beginTransmission(addr);
  wireBus.write(value & 0xFF);
  wireBus.write((value >> 8) & 0xFF);
  wireBus.endTransmission();
}

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

  Wire.begin(DO_SDA, DO_SCL);      // IIC Bus-A, relay
  Wire1.begin(DI_SDA, DI_SCL);     // IIC Bus-B, digital input

  // Init all relays OFF
  for (int i = 0; i < 8; i++) {
    relayState[i] = 0xFFFF;
    writePCF8575(Wire, pcfAddr[i], relayState[i]);
  }

  Serial.println("KC868-A128 DI trigger DO ready.");
}

void loop() {
  for (int board = 0; board < 8; board++) {
    uint16_t inputState = readPCF8575(Wire1, pcfAddr[board]);

    // DI low active
    // DI = 0 -> relay ON
    // DI = 1 -> relay OFF
    relayState[board] = inputState;

    writePCF8575(Wire, pcfAddr[board], relayState[board]);
  }

  delay(50);
}
BIN file, download to ESP32 by 0x0 address, directly to use:

.zip   input-trigger-output.ino.merged.zip (Size: 183.82 KB / Downloads: 41)

Print this item

  KinCony Pi5R8 – Raspberry Pi CM5 IoT Gateway released
Posted by: admin - 06-11-2026, 04:32 AM - Forum: News - No Replies

KinCony Pi5R8 – Raspberry Pi CM5 DIN Rail Relay Controller for Smart Home & Industrial Automation
[Image: Pi5R8-1.jpg]
Product Overview
KinCony Pi5R8 is a powerful Raspberry Pi-based IoT gateway designed for smart home automation and industrial control applications. Powered by the Raspberry Pi Compute Module 5 (CM5), it integrates relay outputs, optocoupler-isolated digital inputs, analog inputs, RS232/RS485 communication interfaces, PWM outputs, and expansion interfaces into a compact DIN rail aluminum enclosure.
The Raspberry Pi CM5 directly manages relay outputs, digital inputs, analog inputs, PWM outputs, and communication interfaces, making it easy to deploy automation solutions using Home Assistant, Node-RED, MQTT, Modbus, Docker, Python, and other Linux-based software.
Pi5R8 is an ideal platform for smart homes, industrial automation, energy management systems, and IoT edge computing applications.


[Image: Pi5R8-5.jpg]
Key Features
  • Powered by Raspberry Pi Compute Module 5 (CM5)
  • 8-channel industrial relay outputs
  • 8 optocoupler-isolated digital inputs
  • Supports Home Assistant and Node-RED
  • RS232 and RS485 communication interfaces
  • 2-channel PWM outputs
  • 2 × DC 0-5V analog inputs
  • 2 × 4-20mA analog inputs
  • 20 free GPIO expansion pins
  • Gigabit Ethernet support
  • M.2 PCIe expansion socket
  • SSD1306 OLED display
  • Industrial aluminum DIN rail enclosure
  • Ideal for smart home and industrial automation projects

Print this item

  How to enable 2 IIC buses at the same time?
Posted by: ronpsc - 06-11-2026, 02:54 AM - Forum: KC868-A128 - Replies (1)

Dear Sir,

May I know how to enable both IIC buses for DI and DO at the same time for KC868-A128 in Arduino IDE?
I can only enable one each time, so that I cannot program the board to trigger outputs when inputs changed.

Thanks,

Ron

Print this item

  Enable 2 I2C buses at the same time
Posted by: ronpsc - 06-11-2026, 02:49 AM - Forum: KC868-A128 - Replies (1)

Dear Sir,

I would like to know how to enable both buses for DI and DO in Arduino IDE of KC868-A128 at the same time?
I can only enable one bus each time, so I cannot program the board to trigger the output when input changed.

Thanks,

Ron

Print this item