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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 8,310
» Latest member: biofrankpharma
» Forum threads: 3,629
» Forum posts: 18,736

Full Statistics

Online Users
There are currently 37 online users.
» 0 Member(s) | 19 Guest(s)
AhrefsBot, Amazonbot, Applebot, Bing, Bytespider, Crawl, PetalBot, Yandex, bot

Latest Threads
KC868-M16v2 configure yam...
Forum: KC868-M16 / M1 / MB / M30
Last Post: admin
6 hours ago
» Replies: 120
» Views: 25,177
Replacing ESP32 with Kinc...
Forum: KC868-A16
Last Post: admin
Yesterday, 11:43 PM
» Replies: 1
» Views: 13
N30 Energy entry not work...
Forum: N30
Last Post: admin
Yesterday, 11:43 PM
» Replies: 11
» Views: 76
KC868-Server ESP32 Ethern...
Forum: KC868-Server Raspberry Pi4 local server
Last Post: admin
Yesterday, 11:41 PM
» Replies: 7
» Views: 68
Single Moment switch
Forum: DIY Project
Last Post: admin
Yesterday, 11:37 PM
» Replies: 1
» Views: 16
Help with Product Slectio...
Forum: Suggestions and feedback on KinCony's products
Last Post: admin
Yesterday, 12:06 AM
» Replies: 5
» Views: 58
Loxone RS485
Forum: KinCony integrate with Loxone home automation
Last Post: admin
Yesterday, 12:03 AM
» Replies: 9
» Views: 1,119
adaptor V2 and KC868 h32b...
Forum: KC868-ATC / Tuya adapter V2
Last Post: admin
12-23-2025, 01:19 AM
» Replies: 1
» Views: 20
KC868-A6 - how to connect...
Forum: KC868-A6
Last Post: admin
12-23-2025, 01:18 AM
» Replies: 1
» Views: 17
easy way to export/import...
Forum: KC868-A series and Uair Smart Controller
Last Post: admin
12-23-2025, 01:09 AM
» Replies: 7
» Views: 5,642

  [arduino code examples for B8M]-05 Read free GPIO state
Posted by: admin - 06-21-2025, 03:55 AM - Forum: B8M - No Replies

Code:
/*
* ESP32 GPIO State Reader
* Reads the state of GPIO47, GPIO48, GPIO7, GPIO40, GPIO0, and GPIO5
* and prints the results to the serial monitor.
*
* Made by KinCony IoT: https://www.kincony.com
*/

#define GPIO_13  13
#define GPIO_40  40
#define GPIO_14  14
#define GPIO_48  48
#define GPIO_0   0
#define GPIO_47  47
#define GPIO_7  7
#define GPIO_21  21


void setup() {
    Serial.begin(115200); // Initialize serial communication at 115200 baud rate
   
    // Set GPIOs as input
    pinMode(GPIO_13, INPUT);
    pinMode(GPIO_40, INPUT);
    pinMode(GPIO_14, INPUT);
    pinMode(GPIO_48, INPUT);
    pinMode(GPIO_0, INPUT);
    pinMode(GPIO_47, INPUT);
    pinMode(GPIO_7, INPUT);
    pinMode(GPIO_21, INPUT);           
}

void loop() {
    // Read GPIO states
    int state_13 = digitalRead(GPIO_13);
    int state_40 = digitalRead(GPIO_40);
    int state_14  = digitalRead(GPIO_14);
    int state_48 = digitalRead(GPIO_48);
    int state_0  = digitalRead(GPIO_0);
    int state_47 = digitalRead(GPIO_47);
    int state_7 = digitalRead(GPIO_7);
    int state_21 = digitalRead(GPIO_21);

    // Print GPIO states to the serial monitor
    Serial.printf("GPIO13: %d, GPIO40: %d, GPIO14: %d, GPIO48: %d, GPIO0: %d, GPIO47: %d, GPIO7: %d, GPIO21: %d\n",
                  state_13, state_40, state_14, state_48, state_0, state_47, state_7, state_21);
   
    delay(1000); // Read GPIO states every second
}
arduino ino file download: 

.zip   5-free-gpio-state.zip (Size: 682 bytes / Downloads: 298)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download:

.zip   5-free-gpio-state.ino.merged.zip (Size: 179.41 KB / Downloads: 298)

Print this item

  [arduino code examples for B8M]-04 RS485 communication test
Posted by: admin - 06-21-2025, 03:54 AM - Forum: B8M - 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 18 and RXD pin is defined as GPIO 8.
*/

#include <HardwareSerial.h>

// Define RS485 pins
#define RS485_RXD 38
#define RS485_TXD 39

// 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 B8M!");

  // 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   4-RS485-Test.zip (Size: 763 bytes / Downloads: 262)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download: 

.zip   4-RS485-Test.ino.merged.zip (Size: 184.35 KB / Downloads: 275)

Print this item

  [arduino code examples for B8M]-03 Read ADS1115 analog input ports value
Posted by: admin - 06-21-2025, 03:52 AM - Forum: B8M - No Replies

Code:
/*
* This program reads voltage values from the ADS1115 analog-to-digital converter
* on all four channels (A0, A1, A2, A3) and prints the results through the serial port.
* The ADS1115 communicates via the I2C protocol. This version of the code includes
* the capability to specify custom SDA and SCL pins for I2C communication.
*
* Copyright: Made by KinCony IoT: https://www.kincony.com
*
*/

#include <Wire.h>                // Library for I2C communication
#include <DFRobot_ADS1115.h>     // Library for ADS1115 ADC module

// Define the I2C SDA and SCL pins for communication with ADS1115
#define SDA_PIN 8 
#define SCL_PIN 18 

// Initialize ADS1115 instance using the Wire library
DFRobot_ADS1115 ads(&Wire);

void setup(void)
{
    // Begin serial communication at a baud rate of 115200
    Serial.begin(115200);

    // Initialize the I2C bus using the defined SDA and SCL pins
    Wire.begin(SDA_PIN, SCL_PIN);

    // Set the I2C address for the ADS1115 (default: 0x49)
    ads.setAddr_ADS1115(ADS1115_IIC_ADDRESS0);   // Address is 0x49

    // Set the gain for the ADS1115 (2/3x gain allows for a maximum input voltage of 6.144V)
    ads.setGain(eGAIN_TWOTHIRDS);

    // Set the ADS1115 to operate in single-shot mode (each reading is a single conversion)
    ads.setMode(eMODE_SINGLE);

    // Set the sample rate to 128 samples per second (SPS)
    ads.setRate(eRATE_128);

    // Set the operational status mode to single-conversion start
    ads.setOSMode(eOSMODE_SINGLE);

    // Initialize the ADS1115 module
    ads.init();
}

void loop(void)
{
    // Check if the ADS1115 is properly connected and functioning
    if (ads.checkADS1115())
    {
        // Variables to store the voltage readings for each channel
        int16_t adc0, adc1, adc2, adc3;

        // Read the voltage from channel A0 and print the value
        adc0 = ads.readVoltage(0);
        Serial.print("A0:");
        Serial.print(adc0);
        Serial.print("mV,  ");    // Print the value in millivolts

        // Read the voltage from channel A1 and print the value
        adc1 = ads.readVoltage(1);
        Serial.print("A1:");
        Serial.print(adc1);
        Serial.print("mV,  ");    // Print the value in millivolts

        // Read the voltage from channel A2 and print the value
        adc2 = ads.readVoltage(2);
        Serial.print("A2:");
        Serial.print(adc2);
        Serial.print("mV,  ");    // Print the value in millivolts

        // Read the voltage from channel A3 and print the value
        adc3 = ads.readVoltage(3);
        Serial.print("A3:");
        Serial.print(adc3);
        Serial.println("mV");     // Print the value in millivolts and end the line
    }
    else
    {
        // If ADS1115 is not connected, print a message indicating disconnection
        Serial.println("ADS1115 Disconnected!");
    }

    // Wait for 1 second before the next loop iteration
    delay(1000);
}
arduino ino file download: 

.zip   3-ads1115_adc.zip (Size: 1.2 KB / Downloads: 264)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download:

.zip   3-ads1115_adc.ino.merged.zip (Size: 190.05 KB / Downloads: 274)

Print this item

  [arduino code examples for B8M]-02 Read digital input ports state
Posted by: admin - 06-21-2025, 03:51 AM - Forum: B8M - No Replies

Code:
/*
* Made by KinCony IoT: https://www.kincony.com
*
* Description:
* This Arduino program reads the state of a 16-channel PCF8575 I/O expander
* and prints the state of all input pins to the Serial Monitor. The state of
* each pin is represented as a bit in a 16-bit value, where each bit corresponds
* to an input pin. The program prints the input state in binary format.
*
* Pin Definitions:
* - SDA: GPIO 8
* - SCL: GPIO 18
* - PCF8575 I2C Address: 0x22
*/

#include "Arduino.h"
#include "PCF8575.h"

// Define I2C pins
#define I2C_SDA 8  // Define SDA pin
#define I2C_SCL 18  // Define SCL pin

// Set I2C address
PCF8575 pcf8575_IN1(0x22); // The I2C address of the PCF8575

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

    // Initialize I2C communication
    Wire.begin(I2C_SDA, I2C_SCL); // Initialize I2C with defined SDA and SCL pins

    pcf8575_IN1.begin(); // Initialize the PCF8575

    Serial.println("KinCony B8M 8 channel input state 0:ON  1:OFF");
}

void loop() {
    uint16_t state = 0;

    // Read the state of each pin (assuming 16 pins)
    for (int pin = 8; pin < 16; pin++) {
        if (pcf8575_IN1.read(pin)) {
            state |= (1 << pin); // Set the bit for the active pin
        }
    }

    Serial.print("Input state: ");
    Serial.println(state, BIN); // Print the state of inputs in binary

    delay(500); // Delay 500ms
}
arduino ino file download:

.zip   2-digital-input.zip (Size: 839 bytes / Downloads: 261)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download: 

.zip   2-digital-input.ino.merged.zip (Size: 189.5 KB / Downloads: 308)

Print this item

  [arduino code examples for B8M]-01 Turn ON/OFF OUTPUT
Posted by: admin - 06-21-2025, 03:49 AM - Forum: B8M - No Replies

Code:
/*
* Made by KinCony IoT: https://www.kincony.com
*
* This program controls a 16-channel relay board via a PCF8575 I/O expander.
* It sequentially turns on each relay and then turns them off in a loop.
*
* Pin Definitions:
* - SDA: GPIO 8
* - SCL: GPIO 18
*
* Delay Time:
* - 200 milliseconds between switching relays
*/

#include <Wire.h>        // Include the Wire library for I2C communication
#include <PCF8575.h>     // Include the PCF8575 library to control the I/O expander

#define SDA 8           // Define the SDA pin
#define SCL 18          // Define the SCL pin
#define DELAY_TIME 200   // Define the delay time in milliseconds

// Set I2C address of the PCF8575 module
#define I2C_ADDRESS 0x22 // I2C address of the PCF8575 module

PCF8575 pcf8575_R1(I2C_ADDRESS); // Create a PCF8575 object with the specified I2C address

void setup() {
  // Initialize I2C communication
  Wire.begin(SDA, SCL); // SDA on GPIO 8, SCL on GPIO 18 (according to your board's configuration)
 
  // Initialize serial communication for debugging (optional)
  Serial.begin(115200);
  Serial.println("PCF8575 Relay Control: Starting...");

  // Initialize the PCF8575 module
  pcf8575_R1.begin();

  // Turn off all relays initially (set all pins HIGH)
  for (int i = 0; i < 8; i++) {
    pcf8575_R1.write(i, HIGH); // Set all relays to OFF (assuming HIGH means OFF for relays)
  }
}

void loop() {
  // Sequentially turn on each relay
  for (int i = 0; i < 8; i++) {
    pcf8575_R1.write(i, LOW);   // Turn on the relay at pin i (LOW means ON for the relay)
    delay(DELAY_TIME);          // Wait for DELAY_TIME milliseconds
  }

  // Sequentially turn off each relay
  for (int i = 0; i < 8; i++) {
    pcf8575_R1.write(i, HIGH);  // Turn off the relay at pin i (HIGH means OFF for the relay)
    delay(DELAY_TIME);          // Wait for DELAY_TIME milliseconds
  }
}
arduino ino file download:

.zip   1-output.zip (Size: 925 bytes / Downloads: 287)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download:

.zip   1-output.ino.merged.zip (Size: 189.23 KB / Downloads: 262)

Print this item

  B8M ESPHome yaml for home assistant with tuya
Posted by: admin - 06-21-2025, 03:47 AM - Forum: B8M - No Replies

Code:
esphome:
  name: b8m
  friendly_name: b8m
  platformio_options:
    board_build.extra_flags:
      # WIFI_CONTROL_SELF_MODE = 0
      # WIFI_CONTROL_SELF_MODE = 1
      - "-DWIFI_CONTROL_SELF_MODE=1"
esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: arduino

external_components:
  - source:
      type: git
      url: https://github.com/hzkincony/esphome-tuya-wifi-mcu
      ref: v1.1.0

# Enable logging
# logger:
#   hardware_uart: USB_SERIAL_JTAG
# Enable Home Assistant API
api:
  encryption:
    key: "WeVOuL5oNhjXcfzXtTirlOwvtWvCD5yqIxd3oV4es1k="

ethernet:
  type: W5500
  clk_pin: GPIO1
  mosi_pin: GPIO2
  miso_pin: GPIO41
  cs_pin: GPIO42
  interrupt_pin: GPIO43
  reset_pin: GPIO44

i2c:
   - id: bus_a
     sda: 8
     scl: 18
     scan: true
     frequency: 400kHz

pcf8574:
  - id: 'pcf8574_hub_out_1'  # for output channel 0-7| input channel 8-15   
    i2c_id: bus_a
    address: 0x22
    pcf8575: true

uart:
  - id: uart_1    #RS485
    baud_rate: 9600
    debug:
      direction: BOTH
      dummy_receiver: true
      after:
        timeout: 10ms
    tx_pin: 39
    rx_pin: 38

  - id: tuya_mcu_uart
    tx_pin: GPIO16
    rx_pin: GPIO17
    baud_rate: 9600

tuya_wifi_mcu:
  # tuya mcu product id
  product_id: mje1l6yi62hlljcn
  uart_id: tuya_mcu_uart
  wifi_reset_pin: 28
  wifi_led_pin: 16

switch:
  - platform: uart
    uart_id: uart_1
    name: "RS485 Button"
    data: [0x11, 0x22, 0x33, 0x44, 0x55]

  - platform: gpio
    name: "b8m-output01"
    id: "b8m_output01"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 0
      mode: OUTPUT
      inverted: true
  - platform: tuya_wifi_mcu
    name: b8m-output1-tuya
    dp_id: 1
    # hide from homeassistant ui
    internal: true
    # bind other switch, sync state
    bind_switch_id: "b8m_output01"

  - platform: gpio
    name: "b8m-output02"
    id: "b8m_output02"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 1
      mode: OUTPUT
      inverted: true
  - platform: tuya_wifi_mcu
    name: b8m-output2-tuya
    dp_id: 2
    # hide from homeassistant ui
    internal: true
    # bind other switch, sync state
    bind_switch_id: "b8m_output02"

  - platform: gpio
    name: "b8m-output03"
    id: "b8m_output03"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 2
      mode: OUTPUT
      inverted: true
  - platform: tuya_wifi_mcu
    name: b8m-output3-tuya
    dp_id: 3
    # hide from homeassistant ui
    internal: true
    # bind other switch, sync state
    bind_switch_id: "b8m_output03"

  - platform: gpio
    name: "b8m-output04"
    id: "b8m_output04"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 3
      mode: OUTPUT
      inverted: true
  - platform: tuya_wifi_mcu
    name: b8m-output4-tuya
    dp_id: 4
    # hide from homeassistant ui
    internal: true
    # bind other switch, sync state
    bind_switch_id: "b8m_output04"

  - platform: gpio
    name: "b8m-output05"
    id: "b8m_output05"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 4
      mode: OUTPUT
      inverted: true
  - platform: tuya_wifi_mcu
    name: b8m-output5-tuya
    dp_id: 5
    # hide from homeassistant ui
    internal: true
    # bind other switch, sync state
    bind_switch_id: "b8m_output05"

  - platform: gpio
    name: "b8m-output06"
    id: "b8m_output06"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 5
      mode: OUTPUT
      inverted: true
  - platform: tuya_wifi_mcu
    name: b8m-output6-tuya
    dp_id: 6
    # hide from homeassistant ui
    internal: true
    # bind other switch, sync state
    bind_switch_id: "b8m_output06"

  - platform: gpio
    name: "b8m-output07"
    id: "b8m_output07"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 6
      mode: OUTPUT
      inverted: true
  - platform: tuya_wifi_mcu
    name: b8m-output7-tuya
    dp_id: 101
    # hide from homeassistant ui
    internal: true
    # bind other switch, sync state
    bind_switch_id: "b8m_output07"

  - platform: gpio
    name: "b8m-output08"
    id: "b8m_output08"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 7
      mode: OUTPUT
      inverted: true
  - platform: tuya_wifi_mcu
    name: b8m-output8-tuya
    dp_id: 102
    # hide from homeassistant ui
    internal: true
    # bind other switch, sync state
    bind_switch_id: "b8m_output08"

binary_sensor:
  - platform: gpio
    name: "b8m-input01"
    id: "b8m_input01"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 8
      mode: INPUT
      inverted: true
  - platform: tuya_wifi_mcu
    name: b8m-input1-tuya
    dp_id: 111
    bind_binary_sensor_id: b8m_input01
    internal: true

  - platform: gpio
    name: "b8m-input02"
    id: "b8m_input02"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 9
      mode: INPUT
      inverted: true
  - platform: tuya_wifi_mcu
    name: b8m-input2-tuya
    dp_id: 112
    bind_binary_sensor_id: b8m_input02
    internal: true

  - platform: gpio
    name: "b8m-input03"
    id: "b8m_input03"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 10
      mode: INPUT
      inverted: true
  - platform: tuya_wifi_mcu
    name: b8m-input3-tuya
    dp_id: 113
    bind_binary_sensor_id: b8m_input03
    internal: true

  - platform: gpio
    name: "b8m-input04"
    id: "b8m_input04"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 11
      mode: INPUT
      inverted: true
  - platform: tuya_wifi_mcu
    name: b8m-input4-tuya
    dp_id: 114
    bind_binary_sensor_id: b8m_input04
    internal: true

  - platform: gpio
    name: "b8m-input05"
    id: "b8m_input05"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 12
      mode: INPUT
      inverted: true
  - platform: tuya_wifi_mcu
    name: b8m-input5-tuya
    dp_id: 115
    bind_binary_sensor_id: b8m_input05
    internal: true

  - platform: gpio
    name: "b8m-input06"
    id: "b8m_input06"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 13
      mode: INPUT
      inverted: true
  - platform: tuya_wifi_mcu
    name: b8m-input6-tuya
    dp_id: 116
    bind_binary_sensor_id: b8m_input06
    internal: true

  - platform: gpio
    name: "b8m-input07"
    id: "b8m_input07"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 14
      mode: INPUT
      inverted: true
  - platform: tuya_wifi_mcu
    name: b8m-input7-tuya
    dp_id: 117
    bind_binary_sensor_id: b8m_input07
    internal: true

  - platform: gpio
    name: "b8m-input08"
    id: "b8m_input08"
    pin:
      pcf8574: pcf8574_hub_out_1
      number: 15
      mode: INPUT
      inverted: true
  - platform: tuya_wifi_mcu
    name: b8m-input8-tuya
    dp_id: 118
    bind_binary_sensor_id: b8m_input08
    internal: true

##pull-up resistance on PCB
  - platform: gpio
    name: "b8m-W1-io47"
    pin:
      number: 47
      inverted: true

  - platform: gpio
    name: "b8m-W1-io48"
    pin:
      number: 48
      inverted: true

  - platform: gpio
    name: "b8m-W1-io7"
    pin:
      number: 7
      inverted: true

  - platform: gpio
    name: "b8m-W1-io40"
    pin:
      number: 40
      inverted: true
## without resistance on PCB
  - platform: gpio
    name: "b8m-13"
    pin:
      number: 13
      inverted:  false
  - platform: gpio
    name: "b8m-14"
    pin:
      number: 14
      inverted:  false
  - platform: gpio
    name: "b8m-21"
    pin:
      number: 21
      inverted:  false
  - platform: gpio
    name: "b8m-0"
    pin:
      number: 0
      inverted:  false

ads1115:
  - address: 0x48
sensor:
  - platform: ads1115
    multiplexer: 'A0_GND'
    gain: 6.144
    resolution: 16_BITS
    name: "ADS1115 Channel A0-GND"
    update_interval: 5s
  - platform: ads1115
    multiplexer: 'A1_GND'
    gain: 6.144
    name: "ADS1115 Channel A1-GND"
    update_interval: 5s
  - platform: ads1115
    multiplexer: 'A2_GND'
    gain: 6.144
    name: "ADS1115 Channel A2-GND"
    update_interval: 5s
  - platform: ads1115
    multiplexer: 'A3_GND'
    gain: 6.144
    name: "ADS1115 Channel A3-GND"
    update_interval: 5s

web_server:
  port: 80

font:
  - file: "gfonts://Roboto"
    id: roboto
    size: 20

display:
  - platform: ssd1306_i2c
    i2c_id: bus_a
    model: "SSD1306 128x64"
    address: 0x3C
    lambda: |-
      it.printf(0, 0, id(roboto), "KinCony B8M");
   
download yaml file:

.txt   B8M-HA.txt (Size: 8.42 KB / Downloads: 181)

Print this item

  B8M ESP32-S3 IO pins define
Posted by: admin - 06-21-2025, 03:46 AM - Forum: B8M - No Replies

IIC Bus:

SDA:GPIO8
SCL:GPIO18

PCF8575: i2c address:0x22

PCF8575->P0 (relay1)
PCF8575->P1 (relay2)
PCF8575->P2 (relay3)
PCF8575->P3 (relay4)
PCF8575->P4 (relay5)
PCF8575->P5 (relay6)
PCF8575->P6 (relay7)
PCF8575->P7 (relay8)

PCF8575->P8 (DI1)
PCF8575->P9 (DI2)
PCF8575->P10 (DI3)
PCF8575->P11 (DI4)
PCF8575->P12 (DI5)
PCF8575->P13 (DI6)
PCF8575->P14 (DI7)
PCF8575->P15 (DI8)

24C02 EPROM i2c address: 0x50
DS3231 RTC i2c address: 0x68
SSD1306 display: i2c address:0x3c
ADS1115 (4CH ADC): i2c address:0x48

Analog input (A1: DC 0-5v)
Analog input (A2: DC 0-5v)
Analog input (A3: DC 4-20mA)
Analog input (A4: DC 4-20mA)


-----------------
1-wire GPIOs (with pull-up resistance on PCB):
1-wire-1:GPIO47
1-wire-2:GPIO48
1-wire-3:GPIO7
1-wire-4:GPIO40
-----------------
free GPIOs (without pull-up resistance on PCB):
GPIO13
GPIO14
GPIO21
-----------------

Ethernet (W5500) I/O define:

clk_pin: GPIO1
mosi_pin: GPIO2
miso_pin: GPIO41
cs_pin: GPIO42

interrupt_pin: GPIO43
reset_pin: GPIO44

--------------------
RS485:
RXD:GPIO38
TXD:GPIO39

Tuya module:
RXD:GPIO17
TXD:GPIO16

Tuya network button: Tuya module's P28
Tuya network LED: Tuya module's P16
--------------------
SD Card:
SPI-MOSI:GPIO10
SPI-SCK:GPIO11
SPI-MISO:GPIO12
SPI-CS:GPIO9
SPI-CD:GPIO5

--------------------
RF433M sender:GPIO4
RF433M receiver:GPIO5

Print this item

  IFTTT
Posted by: jeftevag - 06-20-2025, 02:19 PM - Forum: "KCS" v2 firmware system - Replies (4)

Delay function in IFTTT for 4 hours (14400 seconds) do not work. 3600 seconds work fine. 

DI1 SINGLE CLICK,  DO OUTPUT 1 ON,  DELAY 14400 SECONDS,  DO OUTPUT 1 OFF

So, how do i get 4 hours delay?



Attached Files Thumbnail(s)
   
Print this item

  KC868-A8 TCP -Server
Posted by: Dm81 - 06-19-2025, 04:03 PM - Forum: KC868-A series and Uair Smart Controller - Replies (25)

Hello
I configured a KC868-A8 as a TCP Server and I am having the following problem
if I send the command to turn ON and OFF a relay for 8 or 9 times (some times only 3 or 4 times) it works but after that the server does not respond anymore
firmware is v2.2.13
power supply is original
I also tried to check the communication with wireshark and when the communication stops wireshark shows as in the attached figure
kc868-A8 ip is 192.168.1.64 
suggestions?
thank you in advance
   

Print this item

  free sample
Posted by: Smirnof - 06-19-2025, 01:52 PM - Forum: Apply for free sample product - No Replies

Good afternoon, KinCony Team!
project details for type B:

ESP32 alcohol distiller with remote monitoring and control.
My project is based on ECP32-WROOM with a lot of bindings and KC868-A4 (A6) makes it very easy.

Main tasks:
--- monitoring of current sensor data
--- compensation of the boiling point of water when the pressure changes on the BMP180 sensor
--- heating power adjustment
--- switching of fraction selection during liquid evaporation (servo drive)
--- audible alarm in a critical situation
--- AC shutdown in case of leakage
--- sending notifications to telegram
--- remote control of device parameters from a smartphone
--- data display on the local LCD1602 display

I think many people will be interested in repeating my project and I plan to post it on relevant websites.
Sincerely, Smirnof!

Print this item