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 44 online users.
» 0 Member(s) | 23 Guest(s)
AhrefsBot, Amazonbot, Bing, Bytespider, Crawl, PetalBot, Semrush, bot

Latest Threads
KC868-M16v2 configure yam...
Forum: KC868-M16 / M1 / MB / M30
Last Post: admin
Yesterday, 12:24 PM
» Replies: 120
» Views: 25,189
Replacing ESP32 with Kinc...
Forum: KC868-A16
Last Post: admin
12-24-2025, 11:43 PM
» Replies: 1
» Views: 14
N30 Energy entry not work...
Forum: N30
Last Post: admin
12-24-2025, 11:43 PM
» Replies: 11
» Views: 81
KC868-Server ESP32 Ethern...
Forum: KC868-Server Raspberry Pi4 local server
Last Post: admin
12-24-2025, 11:41 PM
» Replies: 7
» Views: 69
Single Moment switch
Forum: DIY Project
Last Post: admin
12-24-2025, 11:37 PM
» Replies: 1
» Views: 17
Help with Product Slectio...
Forum: Suggestions and feedback on KinCony's products
Last Post: admin
12-24-2025, 12:06 AM
» Replies: 5
» Views: 61
Loxone RS485
Forum: KinCony integrate with Loxone home automation
Last Post: admin
12-24-2025, 12:03 AM
» Replies: 9
» Views: 1,121
adaptor V2 and KC868 h32b...
Forum: KC868-ATC / Tuya adapter V2
Last Post: admin
12-23-2025, 01:19 AM
» Replies: 1
» Views: 23
KC868-A6 - how to connect...
Forum: KC868-A6
Last Post: admin
12-23-2025, 01:18 AM
» Replies: 1
» Views: 18
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,646

  N60 ESP32 I/O pin define
Posted by: admin - 08-02-2025, 12:58 AM - Forum: N60 - No Replies

Ethernet (W5500) I/O define:

clk_pin: GPIO42
mosi_pin: GPIO43
miso_pin: GPIO44
cs_pin: GPIO41

interrupt_pin: GPIO2
reset_pin: GPIO1


IIC BUS:
SDA:18
SCL:17

SPI BUS (LoRa):
SCK:13
MOSI:12
MISO:11
CS: 14
RST: 21
DIO0:47


----------------------------------
ARM CPU TXD:9
ARM CPU RXD:10

free GPIO (without pull up resistance):
GPIO15
GPIO16

----------------------------------

SD Card:
SPI-MOSI:GPIO40
SPI-SCK:GPIO39
SPI-MISO:GPIO38
SPI-CS:GPIO48
SPI-CD:GPIO8

Print this item

  N60 ESP32 I/O pin define
Posted by: admin - 08-02-2025, 12:58 AM - Forum: N10 - No Replies

Ethernet (W5500) I/O define:

clk_pin: GPIO42
mosi_pin: GPIO43
miso_pin: GPIO44
cs_pin: GPIO41

interrupt_pin: GPIO2
reset_pin: GPIO1


IIC BUS:
SDA:18
SCL:17

SPI BUS (LoRa):
SCK:13
MOSI:12
MISO:11
CS: 14
RST: 21
DIO0:47


----------------------------------
ARM CPU TXD:9
ARM CPU RXD:10

free GPIO (without pull up resistance):
GPIO15
GPIO16

----------------------------------

SD Card:
SPI-MOSI:GPIO40
SPI-SCK:GPIO39
SPI-MISO:GPIO38
SPI-CS:GPIO48
SPI-CD:GPIO8

Print this item

  N60 ESP32 I/O pin define
Posted by: admin - 08-02-2025, 12:58 AM - Forum: N20 - No Replies

Ethernet (W5500) I/O define:

clk_pin: GPIO42
mosi_pin: GPIO43
miso_pin: GPIO44
cs_pin: GPIO41

interrupt_pin: GPIO2
reset_pin: GPIO1


IIC BUS:
SDA:18
SCL:17

SPI BUS (LoRa):
SCK:13
MOSI:12
MISO:11
CS: 14
RST: 21
DIO0:47


----------------------------------
ARM CPU TXD:9
ARM CPU RXD:10

free GPIO (without pull up resistance):
GPIO15
GPIO16

----------------------------------

SD Card:
SPI-MOSI:GPIO40
SPI-SCK:GPIO39
SPI-MISO:GPIO38
SPI-CS:GPIO48
SPI-CD:GPIO8

Print this item

  N60 ESP32 I/O pin define
Posted by: admin - 08-02-2025, 12:58 AM - Forum: N30 - No Replies

Ethernet (W5500) I/O define:

clk_pin: GPIO42
mosi_pin: GPIO43
miso_pin: GPIO44
cs_pin: GPIO41

interrupt_pin: GPIO2
reset_pin: GPIO1


IIC BUS:
SDA:18
SCL:17

SPI BUS (LoRa):
SCK:13
MOSI:12
MISO:11
CS: 14
RST: 21
DIO0:47


----------------------------------
ARM CPU TXD:9
ARM CPU RXD:10

free GPIO (without pull up resistance):
GPIO15
GPIO16

----------------------------------

SD Card:
SPI-MOSI:GPIO40
SPI-SCK:GPIO39
SPI-MISO:GPIO38
SPI-CS:GPIO48
SPI-CD:GPIO8

Print this item

  USB Cable
Posted by: bob_tm - 08-01-2025, 12:06 PM - Forum: KC868-A16v3 - No Replies

For everyone, who spend hours to get first flash.

Modern type-c to type-c cables do not work with this board! Cheap or expensive - mine do not work at all. 

I cut some cheap type c cable and measure connection between data lines and ESP contacts - only one line is connected. Other data line goes to unsoldered pin in type c socket! But in old big USB - both lines going to ESP32. 

The only option that works for me - type C / type A cable with type A / type C adapter. 

Hope this save time for somebody.

Print this item

  KinCony T64M Tiny ESP32 Smart Controller released
Posted by: admin - 08-01-2025, 04:56 AM - Forum: News - Replies (2)

KinCony T64M tiny ESP32 smart controller based on ESP32-S3-WROOM-1U (N16R8) wifi chip. Support 64 channel MOSFET output, 4 channel 1-wire GPIOs, 3 channel free GPIOs. T64M have RS485 port. You can write any code by Arduino IDE / Micro Python / ESP-IDF development tool to ESP32 module. We will supply Arduino / ESP-IDF demo code for different samples. Everyone can modify and change the code for your own smart home automation system project. it support use by ESPHome for home assistant or tasmota firmware for smart home automation DIY. T64M use KCS v3 firmware, it support home assistant auto discovery function by MQTT, so without write any config code (zero code) for home assistant. KCS v3 support KinCony cloud service (official shop customer free 2 years), remote monitor and control device by webpage in anywhere. KCS v3 support KinCony board integrate to Loxone Miniserver. Support Apple HomeKit for Siri.
[Image: T64M-1.jpg]
Model No. KinCony T64M
Description: KinCony 64 Channel Tiny ESP32-S3 Smart Controller – T64M
Power supply: 12-24V DC
Processor: ESP32-S3-WROOM-1U (N16R8)
Size: 200mm*83mm*56mm
interfaces: Ethernet(RJ45)-LAN 100Mbps IPv4/IPv6,WiFi,RS485,Bluetooth,USB-C
Installation method: DIN RAIL
Outputs:
64CH MOSFET Outputs, every channel use MAX 4A driver IC
Inputs:
64CH dry contact inputs (optocoupler isolation, long distance circuit for MAX 500 meters cable)
2 buttons: 1:ESP32 Reset 2:ESP32 Download
1-Wire GPIO: 4CH (with pull-up resistance on PCB)
free GPIO: 3CH (connect with ESP32S3 pin directly)
2CH analog input DC0-5V (A1,A2) 2CH analog input 4-20mA (A3,A4)
[Image: T64M-2.jpg]

Print this item

  Tasmota Template
Posted by: bob_tm - 07-31-2025, 12:43 PM - Forum: KC868-A16v3 - Replies (4)

Hello,
How to convert this information to Tasmota components 

Ethernet (W5500) I/O define:
  type: W5500
  clk_pin: GPIO42
  mosi_pin: GPIO43
  miso_pin: GPIO44
  cs_pin: GPIO15
  interrupt_pin: GPIO2
  reset_pin: GPIO1

?

Print this item

  [arduino code examples for B24M]-11 digital INPUT trigger OUTPUT directly
Posted by: admin - 07-31-2025, 07:08 AM - Forum: B24M - No Replies

Code:
/*
* Made by KinCony IoT: https://www.kincony.com
*
* This program reads 24 input states from two PCF8575 I/O expanders and
* controls a corresponding 24-channel relay module.
* When an input pin is LOW, the corresponding relay is turned ON (LOW means ON for the relay).
* When the input pin is HIGH, the corresponding relay is turned OFF.
*
* Pin Definitions:
* - SDA: GPIO 8
* - SCL: GPIO 18
* - Input I2C Address 1 (inputs 1-16): 0x24
* - Input/Relay I2C Address 2 (inputs 17-24 and relays 1-8): 0x26
* - Relay I2C Address 3 (relays 9-24): 0x25
*/

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

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

// I2C addresses for the PCF8575 modules
#define INPUT_I2C_ADDRESS_1 0x22   // I2C address for the first input PCF8575 module (inputs 1-16)
#define INPUT_RELAY_I2C_ADDRESS_2 0x25   // I2C address for inputs 17-24 and relays 1-8
#define RELAY_I2C_ADDRESS_3 0x24   // I2C address for relays 9-24

PCF8575 pcf8575_IN1(INPUT_I2C_ADDRESS_1);    // Create an object for the first input PCF8575 (inputs 1-16)
PCF8575 pcf8575_IN2(INPUT_RELAY_I2C_ADDRESS_2);    // Create an object for the second input PCF8575 (inputs 17-24 and relays 1-8)
PCF8575 pcf8575_RL(RELAY_I2C_ADDRESS_3);    // Create an object for the relay PCF8575 (relays 9-24)

void setup() {
  // Initialize I2C communication
  Wire.begin(SDA, SCL);
 
  // Initialize serial communication
  Serial.begin(115200);
 
  // Initialize input and relay modules
  pcf8575_IN1.begin();  // For inputs 1-16
  pcf8575_IN2.begin();  // For inputs 17-24 and relays 1-8
  pcf8575_RL.begin();   // For relays 9-24
 
  // Turn off all relays at the start (LOW means OFF)
  for (int i = 8; i < 16; i++) {
    pcf8575_IN2.write(i, HIGH);  // Turn off relays 1-8
  }
  for (int i = 0; i < 16; i++) {
    pcf8575_RL.write(i, HIGH);  // Turn off relays 9-24
  }

  Serial.println("System started: Input state controlling 24 relays");
}

void loop() {

if (pcf8575_IN1.read(8)==0) pcf8575_IN2.write(8, LOW); else pcf8575_IN2.write(8, HIGH);
if (pcf8575_IN1.read(9)==0) pcf8575_IN2.write(9, LOW); else pcf8575_IN2.write(9, HIGH);
if (pcf8575_IN1.read(10)==0) pcf8575_IN2.write(10, LOW); else pcf8575_IN2.write(10, HIGH);
if (pcf8575_IN1.read(11)==0) pcf8575_IN2.write(11, LOW); else pcf8575_IN2.write(11, HIGH);
if (pcf8575_IN1.read(12)==0) pcf8575_IN2.write(12, LOW); else pcf8575_IN2.write(12, HIGH);
if (pcf8575_IN1.read(13)==0) pcf8575_IN2.write(13, LOW); else pcf8575_IN2.write(13, HIGH);
if (pcf8575_IN1.read(14)==0) pcf8575_IN2.write(14, LOW); else pcf8575_IN2.write(14, HIGH);
if (pcf8575_IN1.read(15)==0) pcf8575_IN2.write(15, LOW); else pcf8575_IN2.write(15, HIGH);

if (pcf8575_IN1.read(0)==0) pcf8575_RL.write(0, LOW); else pcf8575_RL.write(0, HIGH);
if (pcf8575_IN1.read(1)==0) pcf8575_RL.write(1, LOW); else pcf8575_RL.write(1, HIGH);
if (pcf8575_IN1.read(2)==0) pcf8575_RL.write(2, LOW); else pcf8575_RL.write(2, HIGH);
if (pcf8575_IN1.read(3)==0) pcf8575_RL.write(3, LOW); else pcf8575_RL.write(3, HIGH);
if (pcf8575_IN1.read(4)==0) pcf8575_RL.write(4, LOW); else pcf8575_RL.write(4, HIGH);
if (pcf8575_IN1.read(5)==0) pcf8575_RL.write(5, LOW); else pcf8575_RL.write(5, HIGH);
if (pcf8575_IN1.read(6)==0) pcf8575_RL.write(6, LOW); else pcf8575_RL.write(6, HIGH);
if (pcf8575_IN1.read(7)==0) pcf8575_RL.write(7, LOW); else pcf8575_RL.write(7, HIGH);

if (pcf8575_IN2.read(0)==0) pcf8575_RL.write(8, LOW); else pcf8575_RL.write(8, HIGH);
if (pcf8575_IN2.read(1)==0) pcf8575_RL.write(9, LOW); else pcf8575_RL.write(9, HIGH);
if (pcf8575_IN2.read(2)==0) pcf8575_RL.write(10, LOW); else pcf8575_RL.write(10, HIGH);
if (pcf8575_IN2.read(3)==0) pcf8575_RL.write(11, LOW); else pcf8575_RL.write(11, HIGH);
if (pcf8575_IN2.read(4)==0) pcf8575_RL.write(12, LOW); else pcf8575_RL.write(12, HIGH);
if (pcf8575_IN2.read(5)==0) pcf8575_RL.write(13, LOW); else pcf8575_RL.write(13, HIGH);
if (pcf8575_IN2.read(6)==0) pcf8575_RL.write(14, LOW); else pcf8575_RL.write(14, HIGH);
if (pcf8575_IN2.read(7)==0) pcf8575_RL.write(15, LOW); else pcf8575_RL.write(15, HIGH);
  // Delay for 500 milliseconds
  delay(200);
}
arduino ino file download: 

.zip   11-input-trigger-output.zip (Size: 1.18 KB / Downloads: 252)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download:

.zip   11-input-trigger-output.ino.merged.zip (Size: 192.44 KB / Downloads: 270)

Print this item

  [arduino code examples for B24]-11 digital INPUT trigger OUTPUT directly
Posted by: admin - 07-31-2025, 07:08 AM - Forum: B24 - No Replies

Code:
/*
* Made by KinCony IoT: https://www.kincony.com
*
* This program reads 24 input states from two PCF8575 I/O expanders and
* controls a corresponding 24-channel relay module.
* When an input pin is LOW, the corresponding relay is turned ON (LOW means ON for the relay).
* When the input pin is HIGH, the corresponding relay is turned OFF.
*
* Pin Definitions:
* - SDA: GPIO 8
* - SCL: GPIO 18
* - Input I2C Address 1 (inputs 1-16): 0x24
* - Input/Relay I2C Address 2 (inputs 17-24 and relays 1-8): 0x26
* - Relay I2C Address 3 (relays 9-24): 0x25
*/

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

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

// I2C addresses for the PCF8575 modules
#define INPUT_I2C_ADDRESS_1 0x22   // I2C address for the first input PCF8575 module (inputs 1-16)
#define INPUT_RELAY_I2C_ADDRESS_2 0x25   // I2C address for inputs 17-24 and relays 1-8
#define RELAY_I2C_ADDRESS_3 0x24   // I2C address for relays 9-24

PCF8575 pcf8575_IN1(INPUT_I2C_ADDRESS_1);    // Create an object for the first input PCF8575 (inputs 1-16)
PCF8575 pcf8575_IN2(INPUT_RELAY_I2C_ADDRESS_2);    // Create an object for the second input PCF8575 (inputs 17-24 and relays 1-8)
PCF8575 pcf8575_RL(RELAY_I2C_ADDRESS_3);    // Create an object for the relay PCF8575 (relays 9-24)

void setup() {
  // Initialize I2C communication
  Wire.begin(SDA, SCL);
 
  // Initialize serial communication
  Serial.begin(115200);
 
  // Initialize input and relay modules
  pcf8575_IN1.begin();  // For inputs 1-16
  pcf8575_IN2.begin();  // For inputs 17-24 and relays 1-8
  pcf8575_RL.begin();   // For relays 9-24
 
  // Turn off all relays at the start (LOW means OFF)
  for (int i = 8; i < 16; i++) {
    pcf8575_IN2.write(i, HIGH);  // Turn off relays 1-8
  }
  for (int i = 0; i < 16; i++) {
    pcf8575_RL.write(i, HIGH);  // Turn off relays 9-24
  }

  Serial.println("System started: Input state controlling 24 relays");
}

void loop() {

if (pcf8575_IN1.read(8)==0) pcf8575_IN2.write(8, LOW); else pcf8575_IN2.write(8, HIGH);
if (pcf8575_IN1.read(9)==0) pcf8575_IN2.write(9, LOW); else pcf8575_IN2.write(9, HIGH);
if (pcf8575_IN1.read(10)==0) pcf8575_IN2.write(10, LOW); else pcf8575_IN2.write(10, HIGH);
if (pcf8575_IN1.read(11)==0) pcf8575_IN2.write(11, LOW); else pcf8575_IN2.write(11, HIGH);
if (pcf8575_IN1.read(12)==0) pcf8575_IN2.write(12, LOW); else pcf8575_IN2.write(12, HIGH);
if (pcf8575_IN1.read(13)==0) pcf8575_IN2.write(13, LOW); else pcf8575_IN2.write(13, HIGH);
if (pcf8575_IN1.read(14)==0) pcf8575_IN2.write(14, LOW); else pcf8575_IN2.write(14, HIGH);
if (pcf8575_IN1.read(15)==0) pcf8575_IN2.write(15, LOW); else pcf8575_IN2.write(15, HIGH);

if (pcf8575_IN1.read(0)==0) pcf8575_RL.write(0, LOW); else pcf8575_RL.write(0, HIGH);
if (pcf8575_IN1.read(1)==0) pcf8575_RL.write(1, LOW); else pcf8575_RL.write(1, HIGH);
if (pcf8575_IN1.read(2)==0) pcf8575_RL.write(2, LOW); else pcf8575_RL.write(2, HIGH);
if (pcf8575_IN1.read(3)==0) pcf8575_RL.write(3, LOW); else pcf8575_RL.write(3, HIGH);
if (pcf8575_IN1.read(4)==0) pcf8575_RL.write(4, LOW); else pcf8575_RL.write(4, HIGH);
if (pcf8575_IN1.read(5)==0) pcf8575_RL.write(5, LOW); else pcf8575_RL.write(5, HIGH);
if (pcf8575_IN1.read(6)==0) pcf8575_RL.write(6, LOW); else pcf8575_RL.write(6, HIGH);
if (pcf8575_IN1.read(7)==0) pcf8575_RL.write(7, LOW); else pcf8575_RL.write(7, HIGH);

if (pcf8575_IN2.read(0)==0) pcf8575_RL.write(8, LOW); else pcf8575_RL.write(8, HIGH);
if (pcf8575_IN2.read(1)==0) pcf8575_RL.write(9, LOW); else pcf8575_RL.write(9, HIGH);
if (pcf8575_IN2.read(2)==0) pcf8575_RL.write(10, LOW); else pcf8575_RL.write(10, HIGH);
if (pcf8575_IN2.read(3)==0) pcf8575_RL.write(11, LOW); else pcf8575_RL.write(11, HIGH);
if (pcf8575_IN2.read(4)==0) pcf8575_RL.write(12, LOW); else pcf8575_RL.write(12, HIGH);
if (pcf8575_IN2.read(5)==0) pcf8575_RL.write(13, LOW); else pcf8575_RL.write(13, HIGH);
if (pcf8575_IN2.read(6)==0) pcf8575_RL.write(14, LOW); else pcf8575_RL.write(14, HIGH);
if (pcf8575_IN2.read(7)==0) pcf8575_RL.write(15, LOW); else pcf8575_RL.write(15, HIGH);
  // Delay for 500 milliseconds
  delay(200);
}
arduino ino file download: 

.zip   11-input-trigger-output.zip (Size: 1.18 KB / Downloads: 264)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download:

.zip   11-input-trigger-output.ino.merged.zip (Size: 192.44 KB / Downloads: 257)

Print this item

  [arduino code examples for B24M]-10 Print TEXT on SSD1306 OLED displayer
Posted by: admin - 07-31-2025, 07:06 AM - Forum: B24M - No Replies

Code:
/*
* Made by KinCony IoT: https://www.kincony.com
*
* This Arduino program demonstrates how to display text on an SSD1306 128x64 OLED display using the U8g2 library.
* The program draws two lines of text on the display:
* - The first line is "KINCONY" in a larger font.
* - The second line is "www.kincony.com" in a smaller font.
*
* The display is connected via I2C (software implementation) with:
* - SCL (clock) on pin IO18
* - SDA (data) on pin IO8
*
* The display's I2C address is set to 0x3C.
*/

#include <U8g2lib.h>  // Include the U8g2 library for controlling the OLED display
#include <Wire.h>     // Include the Wire library for I2C communication

// Initialize the display using the software I2C method (SCL = IO18, SDA = IO8)
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0,  18, 8, U8X8_PIN_NONE);  // Screen rotation: U8G2_R0

// Function to display page 1 content
void page1() {
  // Set font size 18 for the larger "KINCONY" text
  u8g2.setFont(u8g2_font_timR18_tf);  // Use the Times Roman font, size 18
  u8g2.setFontPosTop();               // Set the text position at the top of the display
  u8g2.setCursor(5, 0);               // Position the cursor at coordinates (5, 0)
  u8g2.print("KINCONY");              // Display the text "KINCONY" on the screen

  // Set font size 12 for the smaller "www.kincony.com" text
  u8g2.setFont(u8g2_font_timR12_tf);  // Use the Times Roman font, size 12
  u8g2.setCursor(0, 40);              // Position the cursor at coordinates (0, 40)
  u8g2.print("www.kincony.com");      // Display the text "www.kincony.com"
}

// Setup function, runs once when the program starts
void setup() {
  // Set the I2C address for the display to 0x3C
  u8g2.setI2CAddress(0x3C*2);  // I2C address shift for 8-bit format
 
  // Initialize the display
  u8g2.begin();
 
  // Enable UTF-8 character printing for the display
  u8g2.enableUTF8Print();  // Allow UTF-8 encoded text to be printed
}

// Main loop function, continuously runs after setup()
void loop() {
  // Begin the display drawing process
  u8g2.firstPage();  // Prepare the first page for drawing
  do {
    // Call the page1() function to draw content on the display
    page1();
  } while (u8g2.nextPage());  // Continue to the next page until all pages are drawn
}
arduino ino file download: 

.zip   10-oled-ssd1306.zip (Size: 1.11 KB / Downloads: 244)
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download:

.zip   10-oled-ssd1306.ino.merged.zip (Size: 202.58 KB / Downloads: 253)

Print this item