Kincony 16 Channel Relay Board (KC868-A16)
Kincony 16 Channel

Available from:


Install method:
USB to Serial

GPIO #Component
GPIO00 Button 1
GPIO01 User
GPIO02 User
GPIO03 User
GPIO09 User
GPIO10 User
GPIO12 User
GPIO13 User
GPIO14 User
GPIO15 User
GPIO16 User
GPIO17 User
GPIO18 SHD Reset
GPIO19 User
GPIO20 None
GPIO21 User
GPIO22 User
GPIO23 SHD Boot 0
GPIO24 None
GPIO25 User
GPIO26 User
GPIO27 User
GPIO6 None
GPIO7 None
GPIO8 None
GPIO11 None
GPIO32 User
GPIO33 User
GPIO34 User
GPIO35 User
GPIO36 User
GPIO37 None
GPIO38 None
GPIO39 User
Configuration for ESP32
{"NAME":"KC868-A16 rev 1.4","GPIO":[32,1,1,1,640,608,1,1,1,1,1,1,1,1,5600,1,0,1,1,5568,0,1,1,1,0,0,0,0,1,1,1,1,1,0,0,1],"FLAG":0,"BASE":1}

Use the USB-C port to flash the device.

To build a binary with ethernet, all inputs and outputs support add to user_config_override.h:

#ifndef USE_I2C
#define USE_I2C                                  // I2C using library wire (+10k code, 0k2 mem, 124 iram)

  #define USE_PCF8574                            // [I2cDriver2] Enable PCF8574 I/O Expander (I2C addresses 0x20 - 0x26 and 0x39 - 0x3F) (+1k9 code)
    #define USE_PCF8574_SENSOR                   // enable PCF8574 inputs and outputs in SENSOR message
    #define USE_PCF8574_DISPLAYINPUT             // enable PCF8574 inputs display in Web page
    #define USE_PCF8574_MQTTINPUT                // enable MQTT message & rule process on input change detection : stat/%topic%/PCF8574_INP = {""Time"":""2021-03-07T16:19:23+01:00"",""PCF8574-1_INP"":{""D1"":1}}

#define USE_ETHERNET                             // Add support for ethernet (Currently fixed for Olimex ESP32-PoE)
  #define ETH_TYPE          0                    // [EthType] 0 = ETH_PHY_LAN8720, 1 = ETH_PHY_TLK110, 2 = ETH_PHY_IP101
  #define ETH_ADDR          0                    // [EthAddress] 0 = PHY0 .. 31 = PHY31
  #define ETH_CLKMODE       3                    // [EthClockMode] 0 = ETH_CLOCK_GPIO0_IN, 1 = ETH_CLOCK_GPIO0_OUT, 2 = ETH_CLOCK_GPIO16_OUT, 3 = ETH_CLOCK_GPIO17_OUT

Inputs (X01 - X16) and outputs (Y01 - Y16) use PCF8574 over I2C. You need to configure them using Configuration - Configure PCF8574 and set

  • Device 1 Port 0 - Port 7 as Output
  • Device 2 Port 0 - Port 7 as Output
  • Device 3 Port 0 - Port 7 as Input
  • Device 4 Port 0 - Port 7 as Input

Kincony forums have examples and demos of all the functions with various firmware


RF Transmitter and Receiver not tested