OpenSprinkler Forums Hardware Questions OpenSprinkler OS 3.0 Lan Adapter Reply To: OS 3.0 Lan Adapter

#62628

Ray
Keymaster

Ah, ok, yes, that’s correct. Here are the details: previously, with PCF8574, it uses P-channel MOSFET on each output (because 8574 cannot drive high current load), so the logic is reversed. With PCA9555, because it uses Totem output, the output can drive high current load in both high and low states, so there is no such inversion. You can take a look at the source code:
https://github.com/OpenSprinkler/OpenSprinkler-Firmware/blob/master/OpenSprinkler.cpp#L1041
which shows the difference with using PCF8574 vs. PCA9555.

Your relay board is probably active-low type, which explains why it works with PCA8574 out of box, since it matches the reversed logic. There are two solutions for you: one is to modify the source code to reverse the bits for PCA955 in exactly the same way as PCA8574; the other is to replace your relay board by using active-high type.