Using Atlas EZO-PMP Peristaltic Pump with node-red-contrib-ezo

Hi, I want to use my Raspberry Pi to control the pH of the water in my tank. I have followed the online tutorial using an Arduino which showed that the pumps work, but I want to do it all through the Pi using Node Red because I already use it to control water height, pumps and lighting. I know that I2c works in some capacity because I use a 4-20 mA ads1115 sensor to interpret the 4-20 mA signal coming from the pH transmitter.

The pumps are wired into the SCL and SDA GPIO pins of the Pi and getting Vcc from a power supply which has common ground with the Pi, the same way as the ads1115.

I am trying to use node-red-contrib-ezo but I'm really not sure how to use it correctly. I have tried using an inject node with
image
into the ezo node by trying to follow some of what is discussed here update of Node.js v16 for node-red breaks the node-red-contrib-ezo · Issue #7 · MaddyTP/node-red-contrib-ezo · GitHub
I have also tried inserting a boolean true into the ezo node with D,[1] as the topic. With both I keep getting the error "Error: EREMOTEIO: remote I/O error, write"

I am not really sure if that means it's an issue with my wiring or with what I've done on node red.

Please can anyone help me

Thanks
Cai

The error you’re receiving comes from the i2c library and is likely related to an communication issue. Did you change each of your pumps so they have distinct i2c addresses? Does any of the other devices on your assembly use the same address?

I ran into a similar issue with the HUM sensor conflicting with another device on my assembly and received the same error. If it was communicating properly and the format was wrong you would receive a message from the Ezo node - “Invalid syntax!”

1 Like

Hi MaddyP, thanks for your reply. I have really enjoyed reading your threads on other forums about your reef automation project, it's so cool. Bigup yourself for creating the EZO node too!

I have changed the each of the pumps to have distinct i2c address using an Arduino and I have tested both pumps as working Arduino, one if them has address 104 and the other is 11.
The only other thing I have connected to i2c is the 4-20mA sensor which has a different i2c address which is 70.

They are not connected using the T3 hat but are wired to a breakout proto board. Not sure if I'm being stupid but I haven't connected the blue wire of the pump to anything as it wasn't shown to be connected to anything in the i2c page and my other i2c device communicates using only two wires.

Hi, I am really sorry but I have just noticed the problem, dyslexic me! I accidentally wired the SCL and SDA wires the wrong way round!

Sorry for taking your time, I am really embarrassed to have done such a stupid mistake.

Thanks again MaddyP for creating the node :slight_smile:

1 Like

Glad you got it figured out!