KinCony 16 Channel  Relay Board (KC868-A16) 
  
 
  
    
  Available from:
      
      
    Aliexpress.com
    
    
    
    
    
    
    
    
    
    
      
  Manufacturer:
      
      
      Kincony.com
      
    
    
    
      Install method:
    
    
      
      USB to Serial
      
    
    
    
| GPIO # | Component | 
|---|---|
| GPIO00 | Button 1 | 
| GPIO01 | User | 
| GPIO02 | User | 
| GPIO03 | User | 
| GPIO04 | I2C SDA 1 | 
| GPIO05 | I2C SCL 1 | 
| GPIO09 | User | 
| GPIO10 | User | 
| GPIO12 | User | 
| GPIO13 | User | 
| GPIO14 | User | 
| GPIO15 | User | 
| GPIO16 | User | 
| GPIO17 | User | 
| GPIO18 | ETH MDIO | 
| GPIO19 | User | 
| GPIO20 | None | 
| GPIO21 | User | 
| GPIO22 | User | 
| GPIO23 | ETH MDC | 
| 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)
#endif
  #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