Skip to content

Infinity Protocol Hardware

nebulous edited this page Mar 20, 2024 · 17 revisions

Carrier's proprietary "ABCD" port is really just RS485 serial (ABC) and 24VAC (CD).

Port Suggested Color Function
A Green RS-485 D+
B Yellow RS-485 D-
C White RS-485 Common and 24v AC Neutral
D Red 24v AC Hot

The RS-485 bus runs at 38400 bps 8N1.

Years ago this thread hosted discussion of the protocol. People have moved on but you could try to restart discussion.

DTECH USB RS-485 adapter with CP2102 These adapters are cheap, in stock, and work seamlessly with Raspbian Buster (and probably many other devices).
Waveshare USB to RS232, RS485, & TTL with FTDI FT232RL Low cost industrial adapter and built off well supported FTDI FT232RL chipset. Jumper on board to enable or disable 120ohm termination resistor. Additional data available on product website
USR-TCP232-410s Ethernet RS-485 adapter These are more expensive and require setup, but they also work well and they don't require you to put a computer near your furnace. You can even use a PoE splitter to power it.
Waveshare Ethernet RS-485 adapter Lower cost version of above with similar features. Additional data available on product website *this is what @nebulous currently uses
CH340T USB adapter Cheap ch341/max485 based RS485 adapters like this one are known to work, but with limited reliability.
FTDI USB adapter This FTDI adaptor also works and has the advantage of a better-supported USB->serial chipset, a ground connection, removable terminal block, and easy-to-access intermediate TTL points

High quality RS-485 adapters will have three terminals, A(D+), B(D-), and Common/Ground. You should connect those to A, B, and C, respectively, on the ABCD bus. You should connect C to RS-485 Common/Ground -- it may work without it but don't risk it. You must not connect D to anything on your adapter.

According to section 3 of TI's RS-485 Design Guide RS-485 devices ideally should be connected in a single loop ("daisy chain") with no star or stub connections. Sometimes you can get by with a stub connection a foot or two long, but a stub may cause unreliable communication between all devices on the bus (not just your adapter). Some people have had issues if the wire gauge is not consistent across the entire system. Some people have had issues if the wires are not twisted (though because RS-485 is differential that should matter only for long runs in noisy environments).

The author has also gotten a cheap MAX485-based rs485/ttl converter working along with an esp8266 board (nodemcu)to provide a wifi/telnet serial bridge to rs485 data. The esp8266 can also decode/encode frames in real time. Seen here lovingly mounted, hanging in mid-air, from its own wiring: nodemcu and max485 module connected to infinitude

It's far simpler, and only slightly more expensive to use an auto-sensing module however.

Be aware that cheap RS485 adapters (especially older ones) may use RS232 lines to drive the transceiver mode. If this is true, disconnecting the software on the PC may drive the RS485 chip to transmit mode and stop all communication on the bus. If this happens an error will show on the thermostat, but will go away if you remove the RS485 adapter from the bus.

Miswiring can also cause the same fault. By disconnecting the adapter from the bus, the fault will be cleared.

Serial data is 38400 8N1 and is mostly the thermostat sending requests for data and the air handler/outdoor units replying with it.

Please submit your own logs and contribute to the list of devices and registers in this wiki.