<?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 - Portal]]></title>
		<link>https://www.kincony.com/forum/</link>
		<description><![CDATA[Smart Home Automation Forum - https://www.kincony.com/forum]]></description>
		<pubDate>Sat, 18 Jul 2026 00:19:24 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[KC868-A4 slide gate retrofit (ESPHome): watchdogs, travel telemetry, full config]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9636</link>
			<pubDate>Fri, 17 Jul 2026 07:27:42 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=11247">shinerblue</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=9636</guid>
			<description><![CDATA[Sharing a complete, field-proven ESPHome config for the KC868-A4 running a residential chain-driven slide gate (Eagle 1000 operator chassis with a CO-Z T329 V3.0 replacement control board). It has been in 24/7 outdoor service through Texas summer heat. The full v6 YAML is attached to this post (kc868-a4-slide-gate-v6.txt).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">WHAT IT DOES</span><br />
- Template cover (open/close/stop), each command mapped 1:1 to its own relay pulsing the T329's discrete OP / CL / STP trigger terminals to COM<br />
- 4th relay bypasses the IR safety beam (FSW) for rainy days, with a 10-minute auto-off so you can't forget it<br />
- Reads both travel-limit microswitches + a reed sensor on the gate panel, so the controller knows real position independent of the gate board<br />
- Software auto-close timer (0-600s, adjustable live from HA, 0 = off)<br />
- Control lock switch that blocks network-originated open/close but never STOP<br />
- Monitors the gate board's supply voltage through a resistor divider on an analog input, with a live-tunable calibration multiplier (no reflash to recalibrate)<br />
- Watches the IR transmitter's battery contact through the second analog input<br />
<br />
<span style="font-weight: bold;" class="mycode_b">SELF-MONITORING (v6 - the interesting part)</span><br />
1. Travel-time telemetry: publishes "Last Open Time" / "Last Close Time" sensors on every completed limit-to-limit run. Trend these for chain wear / motor drift. (My gate: open 20-24s, close rock-steady at 21.1-21.3s.)<br />
2. Command Fault sensor: fires if a relay pulse was sent but the gate board never acted on it (origin limit never released). Catches a dead trigger wire / loose COM bond within 10 seconds instead of "why is the gate still open?"<br />
3. Travel Fault sensor: motion started (a limit released - from ANY source, RF remote or wall switch included) but no limit reached within 35s.<br />
4. Limit Switch Fault: both limits active at once = impossible = wiring fault.<br />
5. Chain Fault: close limit reached but the reed says the panel is not at the post = chain slipped/broke (5s debounce).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">HARD-WON WIRING / BEHAVIOR NOTES</span><br />
- Relay COM bond is mandatory: daisy-chain all four relay COMs and bond to the gate board's COM. With only R1 bonded, OPEN works but CLOSE/STOP are silently ignored - a maddening symptom.<br />
- Read the limit switches on the microswitch's SPARE throw, not the gate board's limit sense terminals - many boards back-feed ~5V onto their own sense lines, which the opto reads as a false constant ON.<br />
- The EL357 opto inputs are self-excited: wire passive dry contacts straight to INx + GND. No external voltage, no resistors. They keep reading even with the gate board powered off (as long as COM is bonded).<br />
- Stop-before-reverse: the T329 (and likely similar STC-based boards) silently DISCARDS an OP/CL pulse while the motor is driving the other direction. Proven live: a close command mid-open does nothing - no reversal, no stop. The v6 cover actions pulse STP, wait 700ms, then pulse the direction whenever neither limit is active. If your gate "ignores" commands mid-travel, this is why.<br />
- Don't tap the FSW line directly to an opto input to monitor the beam - on the T329 it idles at 7.3V, too high. Use a divider into an analog input instead (or a small relay).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">SETUP</span><br />
secrets.yaml needs: wifi_ssid, wifi_password, ap_password, api_key, ota_password, web_password. The two http_request buttons point at a Shelly Pro 4PM (Gen2 RPC) that master-switches the gate operator's mains - replace 192.168.1.50 with your Shelly's IP or delete those buttons if you don't have one. GPIO 2/15/5 are ESP32 strapping pins; ESPHome logs a boot warning - expected and harmless here.<br />
<br />
Happy to answer questions about the wiring or the watchdog logic.<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/txt.png" title="Text Document" border="0" alt=".txt" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=10209" target="_blank" title="">kc868-a4-slide-gate-v6.txt</a> (Size: 24.86 KB / Downloads: 5)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Sharing a complete, field-proven ESPHome config for the KC868-A4 running a residential chain-driven slide gate (Eagle 1000 operator chassis with a CO-Z T329 V3.0 replacement control board). It has been in 24/7 outdoor service through Texas summer heat. The full v6 YAML is attached to this post (kc868-a4-slide-gate-v6.txt).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">WHAT IT DOES</span><br />
- Template cover (open/close/stop), each command mapped 1:1 to its own relay pulsing the T329's discrete OP / CL / STP trigger terminals to COM<br />
- 4th relay bypasses the IR safety beam (FSW) for rainy days, with a 10-minute auto-off so you can't forget it<br />
- Reads both travel-limit microswitches + a reed sensor on the gate panel, so the controller knows real position independent of the gate board<br />
- Software auto-close timer (0-600s, adjustable live from HA, 0 = off)<br />
- Control lock switch that blocks network-originated open/close but never STOP<br />
- Monitors the gate board's supply voltage through a resistor divider on an analog input, with a live-tunable calibration multiplier (no reflash to recalibrate)<br />
- Watches the IR transmitter's battery contact through the second analog input<br />
<br />
<span style="font-weight: bold;" class="mycode_b">SELF-MONITORING (v6 - the interesting part)</span><br />
1. Travel-time telemetry: publishes "Last Open Time" / "Last Close Time" sensors on every completed limit-to-limit run. Trend these for chain wear / motor drift. (My gate: open 20-24s, close rock-steady at 21.1-21.3s.)<br />
2. Command Fault sensor: fires if a relay pulse was sent but the gate board never acted on it (origin limit never released). Catches a dead trigger wire / loose COM bond within 10 seconds instead of "why is the gate still open?"<br />
3. Travel Fault sensor: motion started (a limit released - from ANY source, RF remote or wall switch included) but no limit reached within 35s.<br />
4. Limit Switch Fault: both limits active at once = impossible = wiring fault.<br />
5. Chain Fault: close limit reached but the reed says the panel is not at the post = chain slipped/broke (5s debounce).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">HARD-WON WIRING / BEHAVIOR NOTES</span><br />
- Relay COM bond is mandatory: daisy-chain all four relay COMs and bond to the gate board's COM. With only R1 bonded, OPEN works but CLOSE/STOP are silently ignored - a maddening symptom.<br />
- Read the limit switches on the microswitch's SPARE throw, not the gate board's limit sense terminals - many boards back-feed ~5V onto their own sense lines, which the opto reads as a false constant ON.<br />
- The EL357 opto inputs are self-excited: wire passive dry contacts straight to INx + GND. No external voltage, no resistors. They keep reading even with the gate board powered off (as long as COM is bonded).<br />
- Stop-before-reverse: the T329 (and likely similar STC-based boards) silently DISCARDS an OP/CL pulse while the motor is driving the other direction. Proven live: a close command mid-open does nothing - no reversal, no stop. The v6 cover actions pulse STP, wait 700ms, then pulse the direction whenever neither limit is active. If your gate "ignores" commands mid-travel, this is why.<br />
- Don't tap the FSW line directly to an opto input to monitor the beam - on the T329 it idles at 7.3V, too high. Use a divider into an analog input instead (or a small relay).<br />
<br />
<span style="font-weight: bold;" class="mycode_b">SETUP</span><br />
secrets.yaml needs: wifi_ssid, wifi_password, ap_password, api_key, ota_password, web_password. The two http_request buttons point at a Shelly Pro 4PM (Gen2 RPC) that master-switches the gate operator's mains - replace 192.168.1.50 with your Shelly's IP or delete those buttons if you don't have one. GPIO 2/15/5 are ESP32 strapping pins; ESPHome logs a boot warning - expected and harmless here.<br />
<br />
Happy to answer questions about the wiring or the watchdog logic.<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/txt.png" title="Text Document" border="0" alt=".txt" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=10209" target="_blank" title="">kc868-a4-slide-gate-v6.txt</a> (Size: 24.86 KB / Downloads: 5)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[KC868 A8 + Home Assistant + DS18B20+]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9634</link>
			<pubDate>Thu, 16 Jul 2026 20:48:56 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=11240">Наиль</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=9634</guid>
			<description><![CDATA[Good afternoon! I bought two KC868 A8 and KC868 A16 boards to use with Home Assistant. I found configuration files for these boards on a forum, and all the inputs/outputs work, but I can't connect the sensors. Help please.]]></description>
			<content:encoded><![CDATA[Good afternoon! I bought two KC868 A8 and KC868 A16 boards to use with Home Assistant. I found configuration files for these boards on a forum, and all the inputs/outputs work, but I can't connect the sensors. Help please.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Questions on the B4M]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9633</link>
			<pubDate>Thu, 16 Jul 2026 19:07:11 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=11244">agentofkaos</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=9633</guid>
			<description><![CDATA[I have a bunch of questions about the B4M that I don't see in any of the docs:<br />
<br />
What is rated DC V and A range for the MOSFET relays?  I'd like to use it for 5-24V, no more than 2A.  <br />
<br />
Can the B8M relays can handle mixed voltages/references? Like 12V on one relay and 24V on a different one?<br />
<br />
What wire gauge size range do the relay terminals accept?<br />
<br />
What is the power supply rating (V, A) in the B4M bundle B power supply?<br />
<br />
With the KDS v3 firmware: does the B4M will present its relays over the network to Home Assistant (via auto discovery)?<br />
<br />
If I connect several DS18B20 temperature sensors to the B4M one wire interfaces will these be automatically presented to Home Assistant as temp sensors across the network or will have to code the Home Assistant presentation and auto-discovery on the B4M? <br />
<br />
Thanks for any help.]]></description>
			<content:encoded><![CDATA[I have a bunch of questions about the B4M that I don't see in any of the docs:<br />
<br />
What is rated DC V and A range for the MOSFET relays?  I'd like to use it for 5-24V, no more than 2A.  <br />
<br />
Can the B8M relays can handle mixed voltages/references? Like 12V on one relay and 24V on a different one?<br />
<br />
What wire gauge size range do the relay terminals accept?<br />
<br />
What is the power supply rating (V, A) in the B4M bundle B power supply?<br />
<br />
With the KDS v3 firmware: does the B4M will present its relays over the network to Home Assistant (via auto discovery)?<br />
<br />
If I connect several DS18B20 temperature sensors to the B4M one wire interfaces will these be automatically presented to Home Assistant as temp sensors across the network or will have to code the Home Assistant presentation and auto-discovery on the B4M? <br />
<br />
Thanks for any help.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Ethernet static address]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9632</link>
			<pubDate>Thu, 16 Jul 2026 09:42:01 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=11241">MattMueller</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=9632</guid>
			<description><![CDATA[I use a Board KC868-A16 Rev1.6.3 with tasmota firmware-en-a16.bin from <a href="https://www.kincony.com/forum/showthread.php?tid=1715" target="_blank" rel="noopener" class="mycode_url">here</a>. After installation I have two ip-addresses (via dhcp) one for wifi and one for ethernet.<br />
In the console I can change the wifi adress to a static address with the command ipaddress1 xxx.xxx.xxx.xxx , that works fine. <br />
But how can I change the ethernet-address to a static one?]]></description>
			<content:encoded><![CDATA[I use a Board KC868-A16 Rev1.6.3 with tasmota firmware-en-a16.bin from <a href="https://www.kincony.com/forum/showthread.php?tid=1715" target="_blank" rel="noopener" class="mycode_url">here</a>. After installation I have two ip-addresses (via dhcp) one for wifi and one for ethernet.<br />
In the console I can change the wifi adress to a static address with the command ipaddress1 xxx.xxx.xxx.xxx , that works fine. <br />
But how can I change the ethernet-address to a static one?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[KCS firmware wishlist]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9630</link>
			<pubDate>Wed, 15 Jul 2026 20:31:22 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=8962">D2K</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=9630</guid>
			<description><![CDATA[Good afternoon,<br />
I'm using the KC868-A6v2, KC868-A16v2, and KC868-A16v3 boards on KCS, which completely meets my needs.<br />
I like the functionality and practicality of these boards,<br />
but the firmware is inconvenient:<br />
1. The lack of a backup mechanism and external editing of IFTTT rules when updating the version or moving to another board.<br />
2. The lack of double-tap and hold inputs in the MQTT protocol.<br />
I understand that these implementations can be implemented on esphome, but I would like to see them developed for KCS as well.<br />
Thank you for your product.]]></description>
			<content:encoded><![CDATA[Good afternoon,<br />
I'm using the KC868-A6v2, KC868-A16v2, and KC868-A16v3 boards on KCS, which completely meets my needs.<br />
I like the functionality and practicality of these boards,<br />
but the firmware is inconvenient:<br />
1. The lack of a backup mechanism and external editing of IFTTT rules when updating the version or moving to another board.<br />
2. The lack of double-tap and hold inputs in the MQTT protocol.<br />
I understand that these implementations can be implemented on esphome, but I would like to see them developed for KCS as well.<br />
Thank you for your product.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[turn on one relay by mqtt sample on A8v3]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9624</link>
			<pubDate>Wed, 15 Jul 2026 08:26:13 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=9624</guid>
			<description><![CDATA[<!-- 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=10205" target="_blank" title="">a8v3-mqtt-1.png</a> (Size: 60.2 KB / Downloads: 22)
<!-- end: postbit_attachments_attachment --><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=10204" target="_blank" title="">a8v3-mqtt-2.png</a> (Size: 137.72 KB / Downloads: 24)
<!-- end: postbit_attachments_attachment --><br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=10203" target="_blank" title="">a8v3-mqtt-3.jpg</a> (Size: 406.16 KB / Downloads: 24)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[<!-- 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=10205" target="_blank" title="">a8v3-mqtt-1.png</a> (Size: 60.2 KB / Downloads: 22)
<!-- end: postbit_attachments_attachment --><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=10204" target="_blank" title="">a8v3-mqtt-2.png</a> (Size: 137.72 KB / Downloads: 24)
<!-- end: postbit_attachments_attachment --><br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=10203" target="_blank" title="">a8v3-mqtt-3.jpg</a> (Size: 406.16 KB / Downloads: 24)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Request for Type A Project]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9622</link>
			<pubDate>Tue, 14 Jul 2026 12:19:49 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=11217">kyutimong</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=9622</guid>
			<description><![CDATA[Hello, I'm Mifta from UPN Jakarta in Indonesia. I would love to develop KC868-A4 for my final project in my campus. The project is about control two shuttle from joystick at the same time It would be very helpful if you could share the sample project for me (In this case, I request sample project for Type A). The previous project i only use 3 ESP32 for controlling 2 shuttle and 1 trolly to move synchronously. If you could share the sample project i will give you updates about my project that maybe can be a new application for KC868-A4<br />
<br />
<br />
You can reach me through my email: miftahul.jannah@upnvj.ac.id<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="JPEG Image" border="0" alt=".jpeg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=10202" target="_blank" title="">WhatsApp Image 2026-07-10 at 10.53.20.jpeg</a> (Size: 222.77 KB / Downloads: 22)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Hello, I'm Mifta from UPN Jakarta in Indonesia. I would love to develop KC868-A4 for my final project in my campus. The project is about control two shuttle from joystick at the same time It would be very helpful if you could share the sample project for me (In this case, I request sample project for Type A). The previous project i only use 3 ESP32 for controlling 2 shuttle and 1 trolly to move synchronously. If you could share the sample project i will give you updates about my project that maybe can be a new application for KC868-A4<br />
<br />
<br />
You can reach me through my email: miftahul.jannah@upnvj.ac.id<br /><!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/image.png" title="JPEG Image" border="0" alt=".jpeg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=10202" target="_blank" title="">WhatsApp Image 2026-07-10 at 10.53.20.jpeg</a> (Size: 222.77 KB / Downloads: 22)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[KinCony MT4 – 4CH ESP32 DC Motor Driver released]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9615</link>
			<pubDate>Sat, 11 Jul 2026 11:01:07 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=9615</guid>
			<description><![CDATA[KinCony MT4 ESP32-S3 4 Channel DC Motor Controller<br />
Overview<br />
KinCony <span style="font-weight: bold;" class="mycode_b">MT4</span> is a professional <span style="font-weight: bold;" class="mycode_b">4 Channel DC Motor Controller</span> based on the <span style="font-weight: bold;" class="mycode_b">ESP32-S3-WROOM-1 (N16R8)</span> module. It is designed for smart home automation, industrial automation, DIY IoT projects, motorized curtains, electric valves, linear actuators, robotic systems and other DC motor control applications.<br />
MT4 integrates <span style="font-weight: bold;" class="mycode_b">4 independent DC motor drivers</span>, <span style="font-weight: bold;" class="mycode_b">RS485</span>, <span style="font-weight: bold;" class="mycode_b">433MHz RF receiver</span>, <span style="font-weight: bold;" class="mycode_b">IR receiver</span>, <span style="font-weight: bold;" class="mycode_b">I²C expansion interface</span>, <span style="font-weight: bold;" class="mycode_b">1-Wire GPIO</span>, <span style="font-weight: bold;" class="mycode_b">WiFi</span>, <span style="font-weight: bold;" class="mycode_b">Bluetooth</span>, <span style="font-weight: bold;" class="mycode_b">USB-C</span>, and a <span style="font-weight: bold;" class="mycode_b">Tuya WiFi module</span> into one compact DIN Rail controller.<br />
Whether you are a developer, system integrator, or smart home enthusiast, MT4 provides multiple firmware options, including <span style="font-weight: bold;" class="mycode_b">KinCony KCS v3</span>, <span style="font-weight: bold;" class="mycode_b">ESPHome</span>, <span style="font-weight: bold;" class="mycode_b">Tasmota</span>, <span style="font-weight: bold;" class="mycode_b">Arduino</span>, <span style="font-weight: bold;" class="mycode_b">ESP-IDF</span>, and <span style="font-weight: bold;" class="mycode_b">MicroPython</span>.<br />
<hr class="mycode_hr" />
<img src="https://www.kincony.com/images/MT4/MT4-1.jpg" loading="lazy"  width="1000" height="1044" alt="[Image: MT4-1.jpg]" class="mycode_img" /><br />
Features<ul class="mycode_list"><li>ESP32-S3-WROOM-1 (N16R8) Dual-Core Processor<br />
</li>
<li>4 Channel DC Motor Driver (L298N)<br />
</li>
<li>Supports Forward / Reverse / Stop control<br />
</li>
<li>Maximum <span style="font-weight: bold;" class="mycode_b">2A load per motor channel</span><br />
</li>
<li>Built-in WiFi &amp; Bluetooth<br />
</li>
<li>Built-in Tuya WiFi module<br />
</li>
<li>RS485 interface (Modbus supported by KCS firmware)<br />
</li>
<li>USB Type-C programming interface<br />
</li>
<li>433MHz RF Receiver<br />
</li>
<li>IR Receiver<br />
</li>
<li>I²C Expansion Port<br />
</li>
<li>2 Channel 1-Wire GPIO<br />
</li>
<li>DIN Rail installation with plastic enclosure<br />
</li>
<li>Open-source hardware platform<br />
</li>
<li>Supports Arduino IDE<br />
</li>
<li>Supports ESP-IDF<br />
</li>
<li>Supports MicroPython<br />
</li>
<li>Supports ESPHome<br />
</li>
<li>Supports Tasmota<br />
</li>
<li>Home Assistant MQTT Auto Discovery<br />
</li>
<li>Apple HomeKit support (KCS v3 firmware)<br />
</li>
</ul>
<hr class="mycode_hr" />
Applications<br />
KinCony MT4 is suitable for various automation projects, including:<ul class="mycode_list"><li>Motorized Curtains<br />
</li>
<li>Roller Blinds<br />
</li>
<li>Window Openers<br />
</li>
<li>Electric Valves<br />
</li>
<li>Linear Actuators<br />
</li>
<li>Smart Furniture<br />
</li>
<li>Automatic Doors<br />
</li>
<li>Smart Agriculture<br />
</li>
<li>Industrial Automation<br />
</li>
<li>DIY IoT Projects<br />
</li>
<li>Home Automation Systems<br />
</li>
</ul>
<hr class="mycode_hr" />
Technical Specifications<br />
Item<br />
SpecificationModel<br />
KinCony MT4<br />
Processor<br />
ESP32-S3-WROOM-1 (N16R8)<br />
Power Supply<br />
DC 12V<br />
Motor Driver<br />
L298N<br />
Motor Outputs<br />
4 Channels<br />
Maximum Motor Current<br />
2A per Channel<br />
Communication<br />
WiFi / Bluetooth<br />
Interfaces<br />
RS485, USB-C, IR Receiver, 433MHz RF Receiver, I²C Expansion<br />
GPIO<br />
2 Channel 1-Wire GPIO<br />
Installation<br />
DIN Rail<br />
PCB Size<br />
87 × 93 mm<br />
<hr class="mycode_hr" />
Hardware Interfaces<br />
Outputs<ul class="mycode_list"><li>4 × DC Motor Outputs<br />
</li>
<li>Maximum Load: <span style="font-weight: bold;" class="mycode_b">2A per channel</span><br />
</li>
</ul>
Inputs<ul class="mycode_list"><li>2 × 1-Wire GPIO<br />
</li>
<li>Built-in pull-up resistors<br />
</li>
</ul>
Buttons<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">S1</span> – ESP32 Reset<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">S2</span> – Download Mode (GPIO0)<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">S3</span> – Tuya Configuration Button<br />
</li>
</ul>
Communication Interfaces<ul class="mycode_list"><li><ul class="mycode_list"><li>WiFi<br />
</li>
<li>Bluetooth<br />
</li>
<li>RS485<br />
</li>
<li>USB Type-C<br />
</li>
<li>433MHz RF Receiver<br />
</li>
<li>IR Receiver<br />
</li>
<li>I²C Expansion Interface<br />
</li>
</ul>
</li>
</ul>
<img src="https://www.kincony.com/images/MT4/KinCony-MT4-smart-controller-diagram.jpg" loading="lazy"  alt="[Image: KinCony-MT4-smart-controller-diagram.jpg]" class="mycode_img" />]]></description>
			<content:encoded><![CDATA[KinCony MT4 ESP32-S3 4 Channel DC Motor Controller<br />
Overview<br />
KinCony <span style="font-weight: bold;" class="mycode_b">MT4</span> is a professional <span style="font-weight: bold;" class="mycode_b">4 Channel DC Motor Controller</span> based on the <span style="font-weight: bold;" class="mycode_b">ESP32-S3-WROOM-1 (N16R8)</span> module. It is designed for smart home automation, industrial automation, DIY IoT projects, motorized curtains, electric valves, linear actuators, robotic systems and other DC motor control applications.<br />
MT4 integrates <span style="font-weight: bold;" class="mycode_b">4 independent DC motor drivers</span>, <span style="font-weight: bold;" class="mycode_b">RS485</span>, <span style="font-weight: bold;" class="mycode_b">433MHz RF receiver</span>, <span style="font-weight: bold;" class="mycode_b">IR receiver</span>, <span style="font-weight: bold;" class="mycode_b">I²C expansion interface</span>, <span style="font-weight: bold;" class="mycode_b">1-Wire GPIO</span>, <span style="font-weight: bold;" class="mycode_b">WiFi</span>, <span style="font-weight: bold;" class="mycode_b">Bluetooth</span>, <span style="font-weight: bold;" class="mycode_b">USB-C</span>, and a <span style="font-weight: bold;" class="mycode_b">Tuya WiFi module</span> into one compact DIN Rail controller.<br />
Whether you are a developer, system integrator, or smart home enthusiast, MT4 provides multiple firmware options, including <span style="font-weight: bold;" class="mycode_b">KinCony KCS v3</span>, <span style="font-weight: bold;" class="mycode_b">ESPHome</span>, <span style="font-weight: bold;" class="mycode_b">Tasmota</span>, <span style="font-weight: bold;" class="mycode_b">Arduino</span>, <span style="font-weight: bold;" class="mycode_b">ESP-IDF</span>, and <span style="font-weight: bold;" class="mycode_b">MicroPython</span>.<br />
<hr class="mycode_hr" />
<img src="https://www.kincony.com/images/MT4/MT4-1.jpg" loading="lazy"  width="1000" height="1044" alt="[Image: MT4-1.jpg]" class="mycode_img" /><br />
Features<ul class="mycode_list"><li>ESP32-S3-WROOM-1 (N16R8) Dual-Core Processor<br />
</li>
<li>4 Channel DC Motor Driver (L298N)<br />
</li>
<li>Supports Forward / Reverse / Stop control<br />
</li>
<li>Maximum <span style="font-weight: bold;" class="mycode_b">2A load per motor channel</span><br />
</li>
<li>Built-in WiFi &amp; Bluetooth<br />
</li>
<li>Built-in Tuya WiFi module<br />
</li>
<li>RS485 interface (Modbus supported by KCS firmware)<br />
</li>
<li>USB Type-C programming interface<br />
</li>
<li>433MHz RF Receiver<br />
</li>
<li>IR Receiver<br />
</li>
<li>I²C Expansion Port<br />
</li>
<li>2 Channel 1-Wire GPIO<br />
</li>
<li>DIN Rail installation with plastic enclosure<br />
</li>
<li>Open-source hardware platform<br />
</li>
<li>Supports Arduino IDE<br />
</li>
<li>Supports ESP-IDF<br />
</li>
<li>Supports MicroPython<br />
</li>
<li>Supports ESPHome<br />
</li>
<li>Supports Tasmota<br />
</li>
<li>Home Assistant MQTT Auto Discovery<br />
</li>
<li>Apple HomeKit support (KCS v3 firmware)<br />
</li>
</ul>
<hr class="mycode_hr" />
Applications<br />
KinCony MT4 is suitable for various automation projects, including:<ul class="mycode_list"><li>Motorized Curtains<br />
</li>
<li>Roller Blinds<br />
</li>
<li>Window Openers<br />
</li>
<li>Electric Valves<br />
</li>
<li>Linear Actuators<br />
</li>
<li>Smart Furniture<br />
</li>
<li>Automatic Doors<br />
</li>
<li>Smart Agriculture<br />
</li>
<li>Industrial Automation<br />
</li>
<li>DIY IoT Projects<br />
</li>
<li>Home Automation Systems<br />
</li>
</ul>
<hr class="mycode_hr" />
Technical Specifications<br />
Item<br />
SpecificationModel<br />
KinCony MT4<br />
Processor<br />
ESP32-S3-WROOM-1 (N16R8)<br />
Power Supply<br />
DC 12V<br />
Motor Driver<br />
L298N<br />
Motor Outputs<br />
4 Channels<br />
Maximum Motor Current<br />
2A per Channel<br />
Communication<br />
WiFi / Bluetooth<br />
Interfaces<br />
RS485, USB-C, IR Receiver, 433MHz RF Receiver, I²C Expansion<br />
GPIO<br />
2 Channel 1-Wire GPIO<br />
Installation<br />
DIN Rail<br />
PCB Size<br />
87 × 93 mm<br />
<hr class="mycode_hr" />
Hardware Interfaces<br />
Outputs<ul class="mycode_list"><li>4 × DC Motor Outputs<br />
</li>
<li>Maximum Load: <span style="font-weight: bold;" class="mycode_b">2A per channel</span><br />
</li>
</ul>
Inputs<ul class="mycode_list"><li>2 × 1-Wire GPIO<br />
</li>
<li>Built-in pull-up resistors<br />
</li>
</ul>
Buttons<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">S1</span> – ESP32 Reset<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">S2</span> – Download Mode (GPIO0)<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">S3</span> – Tuya Configuration Button<br />
</li>
</ul>
Communication Interfaces<ul class="mycode_list"><li><ul class="mycode_list"><li>WiFi<br />
</li>
<li>Bluetooth<br />
</li>
<li>RS485<br />
</li>
<li>USB Type-C<br />
</li>
<li>433MHz RF Receiver<br />
</li>
<li>IR Receiver<br />
</li>
<li>I²C Expansion Interface<br />
</li>
</ul>
</li>
</ul>
<img src="https://www.kincony.com/images/MT4/KinCony-MT4-smart-controller-diagram.jpg" loading="lazy"  alt="[Image: KinCony-MT4-smart-controller-diagram.jpg]" class="mycode_img" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[arduino code examples for MT4]-06 IR receiver decode]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9614</link>
			<pubDate>Sat, 11 Jul 2026 10:21:10 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=9614</guid>
			<description><![CDATA[<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>/*<br />
 * SimpleReceiver.cpp<br />
 *<br />
 * Demonstrates receiving ONLY NEC protocol IR codes with IRremote<br />
 * If no protocol is defined, all protocols (except Bang&amp;Olufsen) are active.<br />
 *<br />
 *  This file is part of Arduino-IRremote https://github.com/Arduino-IRremote/Arduino-IRremote.<br />
 *<br />
 ************************************************************************************<br />
 * MIT License<br />
 *<br />
 * Copyright (c) 2020-2025 Armin Joachimsmeyer<br />
 *<br />
 * Permission is hereby granted, free of charge, to any person obtaining a copy<br />
 * of this software and associated documentation files (the "Software"), to deal<br />
 * in the Software without restriction, including without limitation the rights<br />
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell<br />
 * copies of the Software, and to permit persons to whom the Software is furnished<br />
 * to do so, subject to the following conditions:<br />
 *<br />
 * The above copyright notice and this permission notice shall be included in all<br />
 * copies or substantial portions of the Software.<br />
 *<br />
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,<br />
 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A<br />
 * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT<br />
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF<br />
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE<br />
 * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<br />
 *<br />
 ************************************************************************************<br />
 */<br />
<br />
#include &lt;Arduino.h&gt;<br />
#include &lt;IRremote.hpp&gt; // include the library<br />
<br />
uint8_t sender_pins[] = {47, 48};<br />
uint8_t receiver_pin = 15;<br />
<br />
int sender_pin_num = sizeof(sender_pins) / sizeof(sender_pins[0]);<br />
uint8_t sender_pin_idx = 0;<br />
uint8_t receive_cnt = 0;<br />
uint8_t sCommand = 0x34;<br />
uint8_t sRepeats = 0;<br />
<br />
void setup() {<br />
    Serial.begin(115200);<br />
    IrReceiver.begin(receiver_pin, false);<br />
    IrSender.begin(sender_pins[0]);<br />
<br />
    xTaskCreate(<br />
      sendIr,    // Function that should be called<br />
      "Send IR", &nbsp;&nbsp;// Name of the task (for debugging)<br />
      4096,            // Stack size (bytes)<br />
      NULL,            // Parameter to pass<br />
      1,             &nbsp;&nbsp;// Task priority<br />
      NULL           &nbsp;&nbsp;// Task handle<br />
  );<br />
}<br />
<br />
void sendIr(void * parameter) {<br />
  <br />
  delay(2000);<br />
  IrSender.setSendPin(47);<br />
  IrSender.sendNEC(0x00, sCommand, sRepeats);<br />
  Serial.printf("send by pin: %d&#92;n", 47);<br />
  delay(2000);<br />
<br />
  IrSender.setSendPin(48);<br />
  IrSender.sendNEC(0x00, sCommand, sRepeats);<br />
  Serial.printf("send by pin: %d&#92;n", 48);<br />
<br />
  delay(2000);<br />
  vTaskDelete(NULL);<br />
}<br />
<br />
void loop() {<br />
  if (IrReceiver.decode()) {<br />
      Serial.println("recv data");<br />
      if (IrReceiver.decodedIRData.protocol == UNKNOWN) {<br />
          Serial.println(F("Received noise or an unknown (or not yet enabled) protocol"));<br />
          // We have an unknown protocol here, print extended info<br />
          IrReceiver.printIRResultRawFormatted(&amp;Serial, true);<br />
<br />
          IrReceiver.resume(); // Do it here, to preserve raw data for printing with printIRResultRawFormatted()<br />
      } else {<br />
          IrReceiver.resume(); // Early enable receiving of the next IR frame<br />
<br />
          IrReceiver.printIRResultShort(&amp;Serial);<br />
          IrReceiver.printIRSendUsage(&amp;Serial);<br />
      }<br />
  } else {<br />
    // Serial.println("no data");<br />
  }<br />
}</code></div></div> arduino ino file download:  <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/zip.png" title="ZIP File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=10200" target="_blank" title="">SimpleSendReceiver.zip</a> (Size: 1.62 KB / Downloads: 27)
<!-- end: postbit_attachments_attachment --><br />
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download:  <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/zip.png" title="ZIP File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=10201" target="_blank" title="">SimpleSendReceiver.ino.merged.zip</a> (Size: 194.06 KB / Downloads: 23)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>/*<br />
 * SimpleReceiver.cpp<br />
 *<br />
 * Demonstrates receiving ONLY NEC protocol IR codes with IRremote<br />
 * If no protocol is defined, all protocols (except Bang&amp;Olufsen) are active.<br />
 *<br />
 *  This file is part of Arduino-IRremote https://github.com/Arduino-IRremote/Arduino-IRremote.<br />
 *<br />
 ************************************************************************************<br />
 * MIT License<br />
 *<br />
 * Copyright (c) 2020-2025 Armin Joachimsmeyer<br />
 *<br />
 * Permission is hereby granted, free of charge, to any person obtaining a copy<br />
 * of this software and associated documentation files (the "Software"), to deal<br />
 * in the Software without restriction, including without limitation the rights<br />
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell<br />
 * copies of the Software, and to permit persons to whom the Software is furnished<br />
 * to do so, subject to the following conditions:<br />
 *<br />
 * The above copyright notice and this permission notice shall be included in all<br />
 * copies or substantial portions of the Software.<br />
 *<br />
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,<br />
 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A<br />
 * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT<br />
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF<br />
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE<br />
 * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<br />
 *<br />
 ************************************************************************************<br />
 */<br />
<br />
#include &lt;Arduino.h&gt;<br />
#include &lt;IRremote.hpp&gt; // include the library<br />
<br />
uint8_t sender_pins[] = {47, 48};<br />
uint8_t receiver_pin = 15;<br />
<br />
int sender_pin_num = sizeof(sender_pins) / sizeof(sender_pins[0]);<br />
uint8_t sender_pin_idx = 0;<br />
uint8_t receive_cnt = 0;<br />
uint8_t sCommand = 0x34;<br />
uint8_t sRepeats = 0;<br />
<br />
void setup() {<br />
    Serial.begin(115200);<br />
    IrReceiver.begin(receiver_pin, false);<br />
    IrSender.begin(sender_pins[0]);<br />
<br />
    xTaskCreate(<br />
      sendIr,    // Function that should be called<br />
      "Send IR", &nbsp;&nbsp;// Name of the task (for debugging)<br />
      4096,            // Stack size (bytes)<br />
      NULL,            // Parameter to pass<br />
      1,             &nbsp;&nbsp;// Task priority<br />
      NULL           &nbsp;&nbsp;// Task handle<br />
  );<br />
}<br />
<br />
void sendIr(void * parameter) {<br />
  <br />
  delay(2000);<br />
  IrSender.setSendPin(47);<br />
  IrSender.sendNEC(0x00, sCommand, sRepeats);<br />
  Serial.printf("send by pin: %d&#92;n", 47);<br />
  delay(2000);<br />
<br />
  IrSender.setSendPin(48);<br />
  IrSender.sendNEC(0x00, sCommand, sRepeats);<br />
  Serial.printf("send by pin: %d&#92;n", 48);<br />
<br />
  delay(2000);<br />
  vTaskDelete(NULL);<br />
}<br />
<br />
void loop() {<br />
  if (IrReceiver.decode()) {<br />
      Serial.println("recv data");<br />
      if (IrReceiver.decodedIRData.protocol == UNKNOWN) {<br />
          Serial.println(F("Received noise or an unknown (or not yet enabled) protocol"));<br />
          // We have an unknown protocol here, print extended info<br />
          IrReceiver.printIRResultRawFormatted(&amp;Serial, true);<br />
<br />
          IrReceiver.resume(); // Do it here, to preserve raw data for printing with printIRResultRawFormatted()<br />
      } else {<br />
          IrReceiver.resume(); // Early enable receiving of the next IR frame<br />
<br />
          IrReceiver.printIRResultShort(&amp;Serial);<br />
          IrReceiver.printIRSendUsage(&amp;Serial);<br />
      }<br />
  } else {<br />
    // Serial.println("no data");<br />
  }<br />
}</code></div></div> arduino ino file download:  <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/zip.png" title="ZIP File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=10200" target="_blank" title="">SimpleSendReceiver.zip</a> (Size: 1.62 KB / Downloads: 27)
<!-- end: postbit_attachments_attachment --><br />
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download:  <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/zip.png" title="ZIP File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=10201" target="_blank" title="">SimpleSendReceiver.ino.merged.zip</a> (Size: 194.06 KB / Downloads: 23)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[arduino code examples for MT4]-05 RS485 communication test]]></title>
			<link>https://www.kincony.com/forum/showthread.php?tid=9613</link>
			<pubDate>Sat, 11 Jul 2026 10:19:54 +0800</pubDate>
			<dc:creator><![CDATA[<a href="https://www.kincony.com/forum/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.kincony.com/forum/showthread.php?tid=9613</guid>
			<description><![CDATA[<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 />
 * RS485 Communication Test<br />
 *<br />
 * This program is a simple test for RS485 communication using ESP32-S3.<br />
 * It will send a message over RS485 and then read incoming messages.<br />
 * The TXD pin is defined as GPIO 16 and RXD pin is defined as GPIO 17.<br />
 */<br />
<br />
#include &lt;HardwareSerial.h&gt;<br />
<br />
// Define RS485 pins<br />
#define RS485_RXD 7<br />
#define RS485_TXD 6<br />
<br />
// Create a hardware serial object<br />
HardwareSerial rs485Serial(1);<br />
<br />
void setup() {<br />
  // Start serial communication for debugging<br />
  Serial.begin(115200);<br />
  while (!Serial);<br />
<br />
  // Initialize RS485 Serial communication<br />
  rs485Serial.begin(9600, SERIAL_8N1, RS485_RXD, RS485_TXD);<br />
  <br />
  Serial.println("RS485 Test Start");<br />
}<br />
<br />
void loop() {<br />
  // Send a test message<br />
  rs485Serial.println("Hello from KinCony");<br />
<br />
  // Wait for a short period<br />
  delay(1000);<br />
<br />
  // Check if data is available to read<br />
  if (rs485Serial.available()) {<br />
    String receivedMessage = "";<br />
    while (rs485Serial.available()) {<br />
      char c = rs485Serial.read();<br />
      receivedMessage += c;<br />
    }<br />
    // Print the received message<br />
    Serial.print("Received: ");<br />
    Serial.println(receivedMessage);<br />
  }<br />
<br />
  // Wait before sending the next message<br />
  delay(2000);<br />
}</code></div></div> arduino ino file download:  <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/zip.png" title="ZIP File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=10198" target="_blank" title="">RS485-Test.zip</a> (Size: 754 bytes / Downloads: 31)
<!-- end: postbit_attachments_attachment --><br />
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download:  <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/zip.png" title="ZIP File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=10199" target="_blank" title="">RS485-Test.ino.merged.zip</a> (Size: 185.84 KB / Downloads: 36)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[<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 />
 * RS485 Communication Test<br />
 *<br />
 * This program is a simple test for RS485 communication using ESP32-S3.<br />
 * It will send a message over RS485 and then read incoming messages.<br />
 * The TXD pin is defined as GPIO 16 and RXD pin is defined as GPIO 17.<br />
 */<br />
<br />
#include &lt;HardwareSerial.h&gt;<br />
<br />
// Define RS485 pins<br />
#define RS485_RXD 7<br />
#define RS485_TXD 6<br />
<br />
// Create a hardware serial object<br />
HardwareSerial rs485Serial(1);<br />
<br />
void setup() {<br />
  // Start serial communication for debugging<br />
  Serial.begin(115200);<br />
  while (!Serial);<br />
<br />
  // Initialize RS485 Serial communication<br />
  rs485Serial.begin(9600, SERIAL_8N1, RS485_RXD, RS485_TXD);<br />
  <br />
  Serial.println("RS485 Test Start");<br />
}<br />
<br />
void loop() {<br />
  // Send a test message<br />
  rs485Serial.println("Hello from KinCony");<br />
<br />
  // Wait for a short period<br />
  delay(1000);<br />
<br />
  // Check if data is available to read<br />
  if (rs485Serial.available()) {<br />
    String receivedMessage = "";<br />
    while (rs485Serial.available()) {<br />
      char c = rs485Serial.read();<br />
      receivedMessage += c;<br />
    }<br />
    // Print the received message<br />
    Serial.print("Received: ");<br />
    Serial.println(receivedMessage);<br />
  }<br />
<br />
  // Wait before sending the next message<br />
  delay(2000);<br />
}</code></div></div> arduino ino file download:  <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/zip.png" title="ZIP File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=10198" target="_blank" title="">RS485-Test.zip</a> (Size: 754 bytes / Downloads: 31)
<!-- end: postbit_attachments_attachment --><br />
BIN file (you can use esp32 download tool download to ESP32-S3 with address 0x0 then directly to use) download:  <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.kincony.com/forum/images/attachtypes/zip.png" title="ZIP File" border="0" alt=".zip" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=10199" target="_blank" title="">RS485-Test.ino.merged.zip</a> (Size: 185.84 KB / Downloads: 36)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
	</channel>
</rss>