<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>OMS Modbus on OrangeHorse</title><link>https://orangehorsetech.com/open-source/oms-modbus/</link><description>Recent content in OMS Modbus on OrangeHorse</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Tue, 11 Aug 2026 10:35:15 +0800</lastBuildDate><atom:link href="https://orangehorsetech.com/open-source/oms-modbus/index.xml" rel="self" type="application/rss+xml"/><item><title>CRC-16 at 16 Nanoseconds: Performance Optimization in oms-modbus</title><link>https://orangehorsetech.com/open-source/oms-modbus/crc-performance/</link><pubDate>Tue, 11 Aug 2026 00:00:00 +0000</pubDate><guid>https://orangehorsetech.com/open-source/oms-modbus/crc-performance/</guid><description>&lt;p&gt;Every Modbus frame ends with two CRC-16 bytes. The polynomial is &lt;code&gt;0xA001&lt;/code&gt;, the algorithm is CRC-16-IBM, and the reference implementation has been in the public domain since 1979. Sixty billion Modbus transactions happen every day across the world's industrial infrastructure, and every single one runs this CRC check. If you can make it faster, you make the entire industrial internet faster.&lt;/p&gt;</description></item><item><title>Generic Transport in Rust: Modbus RTU over TCP, Serial, and Beyond</title><link>https://orangehorsetech.com/open-source/oms-modbus/generic-transport/</link><pubDate>Tue, 11 Aug 2026 00:00:00 +0000</pubDate><guid>https://orangehorsetech.com/open-source/oms-modbus/generic-transport/</guid><description>&lt;p&gt;Modbus is 46 years old. When it was designed in 1979, there was one physical layer: RS-485 (or RS-232 for point-to-point). Today, Modbus runs over serial ports, TCP sockets, USB virtual COM ports, Bluetooth SPP, Zigbee, and RS-485-to-Ethernet gateways. The protocol is the same. The transport is not.&lt;/p&gt;</description></item><item><title>Passive Bus Monitoring with WireTap: A Hardware Engineer's Guide</title><link>https://orangehorsetech.com/open-source/oms-modbus/wiretap-bus-monitor/</link><pubDate>Tue, 11 Aug 2026 00:00:00 +0000</pubDate><guid>https://orangehorsetech.com/open-source/oms-modbus/wiretap-bus-monitor/</guid><description>&lt;p&gt;Most Modbus debugging follows the same frustrating pattern: your sensor reports a CRC error, but you cannot see the bytes that caused it. You unplug the sensor, connect a USB-to-RS485 converter, fire up a serial monitor, and the error vanishes — because the act of observing changed the bus. This is the observer effect in industrial form.&lt;/p&gt;</description></item><item><title>The 3.5T Rule: Modbus Timing Requirements That Kill RS-485 Networks</title><link>https://orangehorsetech.com/open-source/oms-modbus/3-5-char-timing/</link><pubDate>Tue, 11 Aug 2026 00:00:00 +0000</pubDate><guid>https://orangehorsetech.com/open-source/oms-modbus/3-5-char-timing/</guid><description>&lt;p&gt;The Modbus Serial Line Protocol specification has exactly one hard timing requirement: &lt;strong&gt;section 1.4&lt;/strong&gt;, the 3.5-character silent interval between frames. It is the rule that separates a reliable Modbus implementation from one that works in the lab and fails in the field. And it is the rule that almost every open-source Modbus library ignores.&lt;/p&gt;</description></item><item><title>Why We Built a Modbus Library in Rust</title><link>https://orangehorsetech.com/open-source/oms-modbus/why-rust-modbus/</link><pubDate>Tue, 11 Aug 2026 00:00:00 +0000</pubDate><guid>https://orangehorsetech.com/open-source/oms-modbus/why-rust-modbus/</guid><description>&lt;p&gt;OrangeHorse manufactures industrial sensors. Most of them speak Modbus over RS-485. To test those sensors — to verify register maps, measure response latency, stress-test bus timing, and capture the raw bytes flying across the wire — we needed a diagnostic tool. Not a simple Modbus client. A proper industrial diagnostic IDE.&lt;/p&gt;</description></item></channel></rss>