<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[Smart Home Automation Forum - T16M]]></title>
		<link>https://www.kincony.com/forum/</link>
		<description><![CDATA[Smart Home Automation Forum - https://www.kincony.com/forum]]></description>
		<pubDate>Mon, 06 Apr 2026 00:26:04 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[I don't understand the #Enable error on the protocols.]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9142</link>
			<pubDate>Fri, 20 Mar 2026 01:12:59 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=10472">H_spadacini</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=9142</guid>
			<description><![CDATA[Quand je reprends le programme pour le T16M diffuse en exemple : <a href="https://devices.esphome.io/devices/kincony-t16m/" target="_blank" rel="noopener" class="mycode_url">https://devices.esphome.io/devices/kincony-t16m/</a> sur site GIT, or je reçois une erreur a la compilation de cet exemple :<br />
# Enable logging<br />
logger:<br />
# Enable Home Assistant API<br />
api:<br />
msg erreur <br />
 C:\Users\Herve\Downloads\Kincony\T16M\Programme_Base_T16M\Programme_Base_T16M.ino:10:3: error: invalid preprocessing directive #Enable<br />
  10 | # Enable logging<br />
      |  ^~~~~~<br />
C:\Users\Herve\Downloads\Kincony\T16M\Programme_Base_T16M\Programme_Base_T16M.ino:13:3: error: invalid preprocessing directive #Enable<br />
  13 | # Enable Home Assistant API<br />
      |  ^~~~~~<br />
exit status 1<br />
<br />
Compilation error: invalid preprocessing directive #EnableC:\Users\Herve\Downloads\Kincony\T16M\Programme_Base_T16M\Programme_Base_T16M.ino:10:3: error: invalid preprocessing directive #Enable<br />
  10 | # Enable logging<br />
      |  ^~~~~~<br />
C:\Users\Herve\Downloads\Kincony\T16M\Programme_Base_T16M\Programme_Base_T16M.ino:13:3: error: invalid preprocessing directive #Enable<br />
  13 | # Enable Home Assistant API<br />
      |  ^~~~~~<br />
exit status 1<br />
<br />
Compilation error: invalid preprocessing directive #Enable<br />
<br />
comme je suis debutant en arduino/ESP32S3, il me semble que la syntaxe manquant devrait comprends une fonction disable par fonction mais sur pas encore un as en arduino..mdr<br />
j'ai besoin de votre lumiere merci d'avance. cela parce preparant le code pour le relay T16M.<br />
la config : AIO maitre , T16M : Esclave pour compense le manque d'entrées /sorties de l'aio Hybride en reseau modbus , avec un ecran 7 pouces en Modbus . pour la programmation suis partir sur un melange en arduino avec EditeurPlc pour la partir PLC.<br />
en autre , pour ce dernier , on doit declarer les variables externes ESP32S3, donc partir programmation sur le T16M me semble une bonne idee , merci de votre reponse.]]></description>
			<content:encoded><![CDATA[Quand je reprends le programme pour le T16M diffuse en exemple : <a href="https://devices.esphome.io/devices/kincony-t16m/" target="_blank" rel="noopener" class="mycode_url">https://devices.esphome.io/devices/kincony-t16m/</a> sur site GIT, or je reçois une erreur a la compilation de cet exemple :<br />
# Enable logging<br />
logger:<br />
# Enable Home Assistant API<br />
api:<br />
msg erreur <br />
 C:\Users\Herve\Downloads\Kincony\T16M\Programme_Base_T16M\Programme_Base_T16M.ino:10:3: error: invalid preprocessing directive #Enable<br />
  10 | # Enable logging<br />
      |  ^~~~~~<br />
C:\Users\Herve\Downloads\Kincony\T16M\Programme_Base_T16M\Programme_Base_T16M.ino:13:3: error: invalid preprocessing directive #Enable<br />
  13 | # Enable Home Assistant API<br />
      |  ^~~~~~<br />
exit status 1<br />
<br />
Compilation error: invalid preprocessing directive #EnableC:\Users\Herve\Downloads\Kincony\T16M\Programme_Base_T16M\Programme_Base_T16M.ino:10:3: error: invalid preprocessing directive #Enable<br />
  10 | # Enable logging<br />
      |  ^~~~~~<br />
C:\Users\Herve\Downloads\Kincony\T16M\Programme_Base_T16M\Programme_Base_T16M.ino:13:3: error: invalid preprocessing directive #Enable<br />
  13 | # Enable Home Assistant API<br />
      |  ^~~~~~<br />
exit status 1<br />
<br />
Compilation error: invalid preprocessing directive #Enable<br />
<br />
comme je suis debutant en arduino/ESP32S3, il me semble que la syntaxe manquant devrait comprends une fonction disable par fonction mais sur pas encore un as en arduino..mdr<br />
j'ai besoin de votre lumiere merci d'avance. cela parce preparant le code pour le relay T16M.<br />
la config : AIO maitre , T16M : Esclave pour compense le manque d'entrées /sorties de l'aio Hybride en reseau modbus , avec un ecran 7 pouces en Modbus . pour la programmation suis partir sur un melange en arduino avec EditeurPlc pour la partir PLC.<br />
en autre , pour ce dernier , on doit declarer les variables externes ESP32S3, donc partir programmation sur le T16M me semble une bonne idee , merci de votre reponse.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[T16M not responding on USB]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=8879</link>
			<pubDate>Sun, 04 Jan 2026 20:04:07 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=10133">robarends</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=8879</guid>
			<description><![CDATA[Hello,<br />
<br />
I have 2 T16M.<br />
<br />
I am building a Wiegand door lock controller with ESPHome firmware, and am proceeding well.<br />
<br />
I am currently using my second T16M with a Wiegand S20 keypad via a 5v - 3v3 logic level shifter.<br />
<br />
<br />
However when I was using the first T16M, I did not use the 5v - 3v3 logic level shifter.<br />
After some time of development using ESPhome it stopped responding via USB.<br />
I had assumed I damaged the T16M.<br />
<br />
You have advised that "you can connect Wiegand D0 and D1 to T16M free GPIOs directly, not need logic convert.", so therefore my assumption was incorrect.<br />
<br />
I have seen in another thread that you can reset the T16M using the DW button while power-on.<br />
<br />
Using that method has not made the USB work.<br />
<br />
What can I do to make the USB work again?<br />
<br />
Thanks, Rob.]]></description>
			<content:encoded><![CDATA[Hello,<br />
<br />
I have 2 T16M.<br />
<br />
I am building a Wiegand door lock controller with ESPHome firmware, and am proceeding well.<br />
<br />
I am currently using my second T16M with a Wiegand S20 keypad via a 5v - 3v3 logic level shifter.<br />
<br />
<br />
However when I was using the first T16M, I did not use the 5v - 3v3 logic level shifter.<br />
After some time of development using ESPhome it stopped responding via USB.<br />
I had assumed I damaged the T16M.<br />
<br />
You have advised that "you can connect Wiegand D0 and D1 to T16M free GPIOs directly, not need logic convert.", so therefore my assumption was incorrect.<br />
<br />
I have seen in another thread that you can reset the T16M using the DW button while power-on.<br />
<br />
Using that method has not made the USB work.<br />
<br />
What can I do to make the USB work again?<br />
<br />
Thanks, Rob.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[T16M ESPHome and EPROM]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=8877</link>
			<pubDate>Sat, 03 Jan 2026 20:05:41 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=10133">robarends</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=8877</guid>
			<description><![CDATA[Hello,<br />
<br />
In the pin definition for the T16M, it shows the Eprom on the I2c bus.<br />
<br />
How can we use the Eprom in ESPHome, and what is the size of the storage?<br />
<br />
<br />
Thanks, Rob]]></description>
			<content:encoded><![CDATA[Hello,<br />
<br />
In the pin definition for the T16M, it shows the Eprom on the I2c bus.<br />
<br />
How can we use the Eprom in ESPHome, and what is the size of the storage?<br />
<br />
<br />
Thanks, Rob]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Wiegand and GPIO on T16M]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=8875</link>
			<pubDate>Sat, 03 Jan 2026 20:02:40 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=10133">robarends</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=8875</guid>
			<description><![CDATA[Hello,<br />
<br />
I have a T16M (ESPHome), and I need to connect 4 Wiegand keypads (8 GPIO required).  There are 7 GPIO, and 2 RS485 available.<br />
<br />
Are the RS485 connections just a UART, and can be used for a Wiegand D0/D1 ?<br />
<br />
------<br />
<br />
I have noticed in your videos on Wiegand that you use the UART rx/tx connections on the example boards.<br />
Is that because they are 5v logic, and are required to connect the 5V D0/D1 from the Wiegand keypad?<br />
<br />
I assume the ESP32 will be damaged if I connect the D0/D1 to the GPIO connections of an ESP32 based board like the T16M?<br />
<br />
Thank you.<br />
<br />
Rob]]></description>
			<content:encoded><![CDATA[Hello,<br />
<br />
I have a T16M (ESPHome), and I need to connect 4 Wiegand keypads (8 GPIO required).  There are 7 GPIO, and 2 RS485 available.<br />
<br />
Are the RS485 connections just a UART, and can be used for a Wiegand D0/D1 ?<br />
<br />
------<br />
<br />
I have noticed in your videos on Wiegand that you use the UART rx/tx connections on the example boards.<br />
Is that because they are 5v logic, and are required to connect the 5V D0/D1 from the Wiegand keypad?<br />
<br />
I assume the ESP32 will be damaged if I connect the D0/D1 to the GPIO connections of an ESP32 based board like the T16M?<br />
<br />
Thank you.<br />
<br />
Rob]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[T16M Output after reset]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=8524</link>
			<pubDate>Fri, 12 Sep 2025 21:15:16 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=9444">Steen</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=8524</guid>
			<description><![CDATA[Just received myT16M in the mail this morning and I'm performing some test.<br />
<br />
I installed the KCS 3.12 firmware and the servers webgui etc came up as expected.<br />
<br />
Under the tab System there is this option: "Keep Output After Restart"<br />
With this enabled I expected the outputs to com up in the last known state before restart or powertoggle, but all outputs comes up in a off state<br />
<br />
Br Steen from Denmark]]></description>
			<content:encoded><![CDATA[Just received myT16M in the mail this morning and I'm performing some test.<br />
<br />
I installed the KCS 3.12 firmware and the servers webgui etc came up as expected.<br />
<br />
Under the tab System there is this option: "Keep Output After Restart"<br />
With this enabled I expected the outputs to com up in the last known state before restart or powertoggle, but all outputs comes up in a off state<br />
<br />
Br Steen from Denmark]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[I2C and UART on GPIO]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=8481</link>
			<pubDate>Mon, 01 Sep 2025 23:03:30 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=9418">swiercz</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=8481</guid>
			<description><![CDATA[Hello,<br />
<br />
While T16M board doesn't explicitly have I2C and UART connectors as per the product description,  I was wondering if using GPIOs can be a way to have I2C and UART interfaces.<br />
The documentation says GPIO ports exposed on screw terminals (GPIO8, GPIO9, GPIO10, GPIO15, GPIO16, GPIO17, GPIO18) have pull-up resistors and can be used for 1wire sensors.<br />
<br />
My questions are:<br />
1. What is the pull-up resistor value? 4.7k?<br />
2. Is there ESD protection diode for these pins?<br />
3. Can these GPIOs be used for I2C and UART? (typically: GPIO8 and GPIO9 for I2C, GPIO16 and GPIO17 for UART)]]></description>
			<content:encoded><![CDATA[Hello,<br />
<br />
While T16M board doesn't explicitly have I2C and UART connectors as per the product description,  I was wondering if using GPIOs can be a way to have I2C and UART interfaces.<br />
The documentation says GPIO ports exposed on screw terminals (GPIO8, GPIO9, GPIO10, GPIO15, GPIO16, GPIO17, GPIO18) have pull-up resistors and can be used for 1wire sensors.<br />
<br />
My questions are:<br />
1. What is the pull-up resistor value? 4.7k?<br />
2. Is there ESD protection diode for these pins?<br />
3. Can these GPIOs be used for I2C and UART? (typically: GPIO8 and GPIO9 for I2C, GPIO16 and GPIO17 for UART)]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Interrupt when Input is triggered]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=8294</link>
			<pubDate>Fri, 04 Jul 2025 07:05:28 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=8512">joe.sfeir@gmail.com</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=8294</guid>
			<description><![CDATA[Hi,<br />
<br />
Is it possible to configure an interrupt for when an Input is triggered, to avoid having to constantly poll the inputs for state change?<br />
<br />
Thanks]]></description>
			<content:encoded><![CDATA[Hi,<br />
<br />
Is it possible to configure an interrupt for when an Input is triggered, to avoid having to constantly poll the inputs for state change?<br />
<br />
Thanks]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[USB Connection not recognized]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=8278</link>
			<pubDate>Mon, 30 Jun 2025 10:54:47 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=8512">joe.sfeir@gmail.com</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=8278</guid>
			<description><![CDATA[Hi,<br />
<br />
I am connecting my T16M to my PC with a USB for programming. The device is also powered with 24V, and is ON correctly.<br />
<br />
The COM port does not appear in my device list. I tried installing CH340 and CP210 drivers manually, but it still does not appear.<br />
<br />
Any tips on how to resolve this?<br />
<br />
Thanks]]></description>
			<content:encoded><![CDATA[Hi,<br />
<br />
I am connecting my T16M to my PC with a USB for programming. The device is also powered with 24V, and is ON correctly.<br />
<br />
The COM port does not appear in my device list. I tried installing CH340 and CP210 drivers manually, but it still does not appear.<br />
<br />
Any tips on how to resolve this?<br />
<br />
Thanks]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Temperature is not send to Loxone]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=8133</link>
			<pubDate>Tue, 03 Jun 2025 18:39:27 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=8767">kotrmelec</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=8133</guid>
			<description><![CDATA[Hello, o<span style="color: #000000;" class="mycode_color">ver the weekend, I got the T16M module up and running, and I was able to establish communication with my second-generation Loxone miniserver without any problems. Using UDP, I am able to read the on/off states of the DO, etc.</span><br />
<span style="color: #000000;" class="mycode_color">The only thing that isn't working, and I don't know if I'm doing something wrong, is reading the temperature status. I have a standard DS18B20 1-wire temperature sensor connected to the T16M board, I set the sensor in the board configuration and I can see the temperature(channel 1). Everything works without any problems. However, after setting the virtual input in Loxone, nothing happens. I monitored the UDP monitor in Loxone and no UDP command carrying temperature information reaches Loxone. Only commands for reading/controlling DI and DO. Is this a firmware error? Or does something else need to be set/enabled in the configuration for the temperature to be sent to Loxone?</span><br />
<br />
<span style="color: #000000;" class="mycode_color">Just to note, I am using the latest version of KCS3 firmware available right now.</span><br />
<br />
<span style="color: #000000;" class="mycode_color">Thank you in advance for your help.</span>]]></description>
			<content:encoded><![CDATA[Hello, o<span style="color: #000000;" class="mycode_color">ver the weekend, I got the T16M module up and running, and I was able to establish communication with my second-generation Loxone miniserver without any problems. Using UDP, I am able to read the on/off states of the DO, etc.</span><br />
<span style="color: #000000;" class="mycode_color">The only thing that isn't working, and I don't know if I'm doing something wrong, is reading the temperature status. I have a standard DS18B20 1-wire temperature sensor connected to the T16M board, I set the sensor in the board configuration and I can see the temperature(channel 1). Everything works without any problems. However, after setting the virtual input in Loxone, nothing happens. I monitored the UDP monitor in Loxone and no UDP command carrying temperature information reaches Loxone. Only commands for reading/controlling DI and DO. Is this a firmware error? Or does something else need to be set/enabled in the configuration for the temperature to be sent to Loxone?</span><br />
<br />
<span style="color: #000000;" class="mycode_color">Just to note, I am using the latest version of KCS3 firmware available right now.</span><br />
<br />
<span style="color: #000000;" class="mycode_color">Thank you in advance for your help.</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Digital Out Connections]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=8041</link>
			<pubDate>Fri, 02 May 2025 10:32:53 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=8512">joe.sfeir@gmail.com</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=8041</guid>
			<description><![CDATA[Hi<br />
<br />
Is it possible to connect the first DC terminal to +24V so that outputs 1 to 8 get connected to +24V, and connect the second DC terminal to GND so that outputs 9 to 16 get connected to GND?<br />
<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=7608" target="_blank" title="">Screenshot 2025-05-01 223434.png</a> (Size: 713.56 KB / Downloads: 342)
<!-- end: postbit_attachments_attachment --><br />
<br />
Thanks]]></description>
			<content:encoded><![CDATA[Hi<br />
<br />
Is it possible to connect the first DC terminal to +24V so that outputs 1 to 8 get connected to +24V, and connect the second DC terminal to GND so that outputs 9 to 16 get connected to GND?<br />
<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=7608" target="_blank" title="">Screenshot 2025-05-01 223434.png</a> (Size: 713.56 KB / Downloads: 342)
<!-- end: postbit_attachments_attachment --><br />
<br />
Thanks]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Serial Monitoring]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=8032</link>
			<pubDate>Wed, 30 Apr 2025 11:03:51 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=8512">joe.sfeir@gmail.com</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=8032</guid>
			<description><![CDATA[Hi,<br />
<br />
I am using Serial.begin() and Serial.println() but I see nothing in my Serial Monitor (Platformio). What could the problem be?<br />
<br />
I am using 115200 as monitoring speed (configured in platformio.ini) and my Serial monitor is configured with the same rate.<br />
<br />
I am using the demo code below:<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>/*<br />
* Made by KinCony IoT: https://www.kincony.com<br />
*<br />
* This program reads 16 input states from a PCF8575 I/O expander and<br />
* controls a corresponding 16-channel relay module. When an input pin<br />
* is LOW, the corresponding relay is turned ON (LOW means ON for the relay).<br />
* When the input pin is HIGH, the corresponding relay is turned OFF.<br />
*<br />
* Pin Definitions:<br />
* - SDA: GPIO 11<br />
* - SCL: GPIO 12<br />
* - Input I2C Address: 0x24<br />
* - Relay I2C Address: 0x25<br />
*/<br />
<br />
#include &lt;Wire.h&gt;        // I2C communication<br />
#include &lt;PCF8575.h&gt;     // Library to control the PCF8575 I/O expander<br />
<br />
// Define I2C pins<br />
#define SDA 11           // SDA pin<br />
#define SCL 12           // SCL pin<br />
<br />
// I2C addresses<br />
#define INPUT_I2C_ADDRESS 0x24   // I2C address for the input PCF8575 module<br />
#define RELAY_I2C_ADDRESS 0x25   // I2C address for the relay PCF8575 module<br />
<br />
PCF8575 pcf8575_IN(INPUT_I2C_ADDRESS);    // Create an object for the input PCF8575<br />
PCF8575 pcf8575_RL(RELAY_I2C_ADDRESS);    // Create an object for the relay PCF8575<br />
<br />
void setup() {<br />
  // Initialize I2C communication<br />
  Wire.begin(SDA, SCL);<br />
 <br />
  // Initialize serial communication<br />
  Serial.begin(115200);<br />
 <br />
  // Initialize input and relay modules<br />
  pcf8575_IN.begin();<br />
  pcf8575_RL.begin();<br />
 <br />
  // Turn off all relays at the start<br />
  for (int i = 0; i &lt; 16; i++) {<br />
    pcf8575_RL.write(i, LOW);  // Assuming relays are LOW when OFF, setting all relays to OFF initially<br />
  }<br />
 <br />
  Serial.println("System started: Input state controlling 16 relays");<br />
}<br />
<br />
void loop() {<br />
  uint16_t inputState = 0;<br />
<br />
  // Read the state of 16 inputs<br />
  for (int i = 0; i &lt; 16; i++) {<br />
    if (pcf8575_IN.read(i)) {<br />
      inputState |= (1 &lt;&lt; i);  // If input is HIGH, set the corresponding bit<br />
    } else {<br />
      inputState &amp;= ~(1 &lt;&lt; i); // Otherwise, clear the corresponding bit<br />
    }<br />
  }<br />
<br />
  Serial.println("Test Point...");<br />
 <br />
  // Control the relays based on the input state<br />
  for (int i = 0; i &lt; 16; i++) {<br />
    if (inputState &amp; (1 &lt;&lt; i)) {<br />
      pcf8575_RL.write(i, HIGH);  // If input is HIGH, turn the relay OFF<br />
    } else {<br />
      pcf8575_RL.write(i, LOW);   // If input is LOW, turn the relay ON<br />
    }<br />
  }<br />
<br />
  // Delay for 500 milliseconds<br />
  delay(500);<br />
}</code></div></div><br />
<br />
Thanks]]></description>
			<content:encoded><![CDATA[Hi,<br />
<br />
I am using Serial.begin() and Serial.println() but I see nothing in my Serial Monitor (Platformio). What could the problem be?<br />
<br />
I am using 115200 as monitoring speed (configured in platformio.ini) and my Serial monitor is configured with the same rate.<br />
<br />
I am using the demo code below:<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>/*<br />
* Made by KinCony IoT: https://www.kincony.com<br />
*<br />
* This program reads 16 input states from a PCF8575 I/O expander and<br />
* controls a corresponding 16-channel relay module. When an input pin<br />
* is LOW, the corresponding relay is turned ON (LOW means ON for the relay).<br />
* When the input pin is HIGH, the corresponding relay is turned OFF.<br />
*<br />
* Pin Definitions:<br />
* - SDA: GPIO 11<br />
* - SCL: GPIO 12<br />
* - Input I2C Address: 0x24<br />
* - Relay I2C Address: 0x25<br />
*/<br />
<br />
#include &lt;Wire.h&gt;        // I2C communication<br />
#include &lt;PCF8575.h&gt;     // Library to control the PCF8575 I/O expander<br />
<br />
// Define I2C pins<br />
#define SDA 11           // SDA pin<br />
#define SCL 12           // SCL pin<br />
<br />
// I2C addresses<br />
#define INPUT_I2C_ADDRESS 0x24   // I2C address for the input PCF8575 module<br />
#define RELAY_I2C_ADDRESS 0x25   // I2C address for the relay PCF8575 module<br />
<br />
PCF8575 pcf8575_IN(INPUT_I2C_ADDRESS);    // Create an object for the input PCF8575<br />
PCF8575 pcf8575_RL(RELAY_I2C_ADDRESS);    // Create an object for the relay PCF8575<br />
<br />
void setup() {<br />
  // Initialize I2C communication<br />
  Wire.begin(SDA, SCL);<br />
 <br />
  // Initialize serial communication<br />
  Serial.begin(115200);<br />
 <br />
  // Initialize input and relay modules<br />
  pcf8575_IN.begin();<br />
  pcf8575_RL.begin();<br />
 <br />
  // Turn off all relays at the start<br />
  for (int i = 0; i &lt; 16; i++) {<br />
    pcf8575_RL.write(i, LOW);  // Assuming relays are LOW when OFF, setting all relays to OFF initially<br />
  }<br />
 <br />
  Serial.println("System started: Input state controlling 16 relays");<br />
}<br />
<br />
void loop() {<br />
  uint16_t inputState = 0;<br />
<br />
  // Read the state of 16 inputs<br />
  for (int i = 0; i &lt; 16; i++) {<br />
    if (pcf8575_IN.read(i)) {<br />
      inputState |= (1 &lt;&lt; i);  // If input is HIGH, set the corresponding bit<br />
    } else {<br />
      inputState &amp;= ~(1 &lt;&lt; i); // Otherwise, clear the corresponding bit<br />
    }<br />
  }<br />
<br />
  Serial.println("Test Point...");<br />
 <br />
  // Control the relays based on the input state<br />
  for (int i = 0; i &lt; 16; i++) {<br />
    if (inputState &amp; (1 &lt;&lt; i)) {<br />
      pcf8575_RL.write(i, HIGH);  // If input is HIGH, turn the relay OFF<br />
    } else {<br />
      pcf8575_RL.write(i, LOW);   // If input is LOW, turn the relay ON<br />
    }<br />
  }<br />
<br />
  // Delay for 500 milliseconds<br />
  delay(500);<br />
}</code></div></div><br />
<br />
Thanks]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[PlatformIO Programming]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=8028</link>
			<pubDate>Tue, 29 Apr 2025 18:25:49 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=8512">joe.sfeir@gmail.com</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=8028</guid>
			<description><![CDATA[Hi, NooB Here.<br />
<br />
Trying to program the ESP32 in PlatformIO:<br />
<br />
1. Which ESP32 S3 chip should I configure when creating the project in PlatformIO?<br />
<br />
2. How do I make it connect to upload? Do I need to hold a button before uploading? I tried holding the DL button but it didn't connect. Same for the RST button.<br />
<br />
Thanks]]></description>
			<content:encoded><![CDATA[Hi, NooB Here.<br />
<br />
Trying to program the ESP32 in PlatformIO:<br />
<br />
1. Which ESP32 S3 chip should I configure when creating the project in PlatformIO?<br />
<br />
2. How do I make it connect to upload? Do I need to hold a button before uploading? I tried holding the DL button but it didn't connect. Same for the RST button.<br />
<br />
Thanks]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[T16M discovery on linux]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=7871</link>
			<pubDate>Wed, 26 Mar 2025 00:50:52 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=8260">Kleingy</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=7871</guid>
			<description><![CDATA[Hello,<br />
<br />
I flash m'y T16M with the esp tools in Ubuntu following the procedure I found on the forum.<br />
I put the KCS V3 firmware<br />
<br />
But now when I plug the board to my router I am not able to find the ip. The orange led in ethernet port on the board blink. The green one is off.<br />
<br />
I can not use the discovery tool, because I am on linux.<br />
Do you have a tool to recommande.<br />
<br />
I also search to connect to the wifi Access point. But It does not appear. I read that I have to press a button to re enable the wifi Access point, but which button (I saw dw and reset near antenna), and how to proceed (press before power on, at anytime...).<br />
<br />
Thanks for your help]]></description>
			<content:encoded><![CDATA[Hello,<br />
<br />
I flash m'y T16M with the esp tools in Ubuntu following the procedure I found on the forum.<br />
I put the KCS V3 firmware<br />
<br />
But now when I plug the board to my router I am not able to find the ip. The orange led in ethernet port on the board blink. The green one is off.<br />
<br />
I can not use the discovery tool, because I am on linux.<br />
Do you have a tool to recommande.<br />
<br />
I also search to connect to the wifi Access point. But It does not appear. I read that I have to press a button to re enable the wifi Access point, but which button (I saw dw and reset near antenna), and how to proceed (press before power on, at anytime...).<br />
<br />
Thanks for your help]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Dummy question: non-zero voltage between off OUTPUT pin and GND?]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=7860</link>
			<pubDate>Sun, 23 Mar 2025 09:25:55 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=8240">ocramius</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=7860</guid>
			<description><![CDATA[I'm currently toying around with the T16M before putting it into a wall and calling my project "working".<br />
<br />
While experimenting, I started messing around with measurements ( hence my questions on <a href="https://www.kincony.com/forum/showthread.php?tid=7423" target="_blank" rel="noopener" class="mycode_url">https://www.kincony.com/forum/showthread.php?tid=7423</a> ).<br />
<br />
I've wired my board similar to what I've found in these posts:<br />
<br />
* <a href="https://www.kincony.com/forum/showthread.php?tid=7211" target="_blank" rel="noopener" class="mycode_url">https://www.kincony.com/forum/showthread.php?tid=7211</a><br />
* <a href="https://www.kincony.com/forum/showthread.php?tid=2221" target="_blank" rel="noopener" class="mycode_url">https://www.kincony.com/forum/showthread.php?tid=2221</a> (this schematic is really clear, by the way, thank you!)<br />
<br />
While testing out the board, I noticed that the voltage between `V-` and a disabled `V+` pin (see picture below) is **non-zero** (measures 2.385V).<br />
<br />
I'm wondering if something is wrong with the board, or if the ESPHome settings don't completely disable the pin?<br />
It may also be a misunderstanding of mine in how MOSFET-based switching works, so feel free to also tell me that my use-case is wrong <img src="https://www.kincony.com/forum/images/smilies/biggrin.png" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /> <br />
<br />
<img src="https://snipfly.io/uploads/pEQGS2V.png" loading="lazy"  alt="[Image: pEQGS2V.png]" class="mycode_img" /><br />
<br />
<a href="https://snipfly.io/pEQGS2V.png" target="_blank" rel="noopener" class="mycode_url">https://snipfly.io/pEQGS2V.png</a>]]></description>
			<content:encoded><![CDATA[I'm currently toying around with the T16M before putting it into a wall and calling my project "working".<br />
<br />
While experimenting, I started messing around with measurements ( hence my questions on <a href="https://www.kincony.com/forum/showthread.php?tid=7423" target="_blank" rel="noopener" class="mycode_url">https://www.kincony.com/forum/showthread.php?tid=7423</a> ).<br />
<br />
I've wired my board similar to what I've found in these posts:<br />
<br />
* <a href="https://www.kincony.com/forum/showthread.php?tid=7211" target="_blank" rel="noopener" class="mycode_url">https://www.kincony.com/forum/showthread.php?tid=7211</a><br />
* <a href="https://www.kincony.com/forum/showthread.php?tid=2221" target="_blank" rel="noopener" class="mycode_url">https://www.kincony.com/forum/showthread.php?tid=2221</a> (this schematic is really clear, by the way, thank you!)<br />
<br />
While testing out the board, I noticed that the voltage between `V-` and a disabled `V+` pin (see picture below) is **non-zero** (measures 2.385V).<br />
<br />
I'm wondering if something is wrong with the board, or if the ESPHome settings don't completely disable the pin?<br />
It may also be a misunderstanding of mine in how MOSFET-based switching works, so feel free to also tell me that my use-case is wrong <img src="https://www.kincony.com/forum/images/smilies/biggrin.png" alt="Big Grin" title="Big Grin" class="smilie smilie_4" /> <br />
<br />
<img src="https://snipfly.io/uploads/pEQGS2V.png" loading="lazy"  alt="[Image: pEQGS2V.png]" class="mycode_img" /><br />
<br />
<a href="https://snipfly.io/pEQGS2V.png" target="_blank" rel="noopener" class="mycode_url">https://snipfly.io/pEQGS2V.png</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Cross units communication]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=7855</link>
			<pubDate>Sat, 22 Mar 2025 03:13:06 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=356">eladn</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=7855</guid>
			<description><![CDATA[Hello<br />
<br />
Assuming I have several units of T16M and/or B16M connected via Ethernet to the same net. Is it possible to configure them to operate together? For example, can I define a digital input of one unit to control output ports of another unit (of the same model type)? Which protocols / SW approaches allow such cooperative operation and which aren't?<br />
<br />
Thanks, <br />
Elad]]></description>
			<content:encoded><![CDATA[Hello<br />
<br />
Assuming I have several units of T16M and/or B16M connected via Ethernet to the same net. Is it possible to configure them to operate together? For example, can I define a digital input of one unit to control output ports of another unit (of the same model type)? Which protocols / SW approaches allow such cooperative operation and which aren't?<br />
<br />
Thanks, <br />
Elad]]></content:encoded>
		</item>
	</channel>
</rss>