Thanks, I thought that might be the case.
If someone can give me a hand with some Arduino I2C code I have a very stable circuit that can mirror the Atlas so nothing needs to be done with Reef-pi.
This uses an ATtiny85, when I saw
@Michael Lane circuit description mentioned a microcontroller I thought maybe it's the same thing?
It works like the Atlas, everything is done on board and it sends the pH value to the controller when asked. I wanted to mirror the commands that Atlas uses but was unable to as the Wire library for the ATtiny didn't support what I was trying. So I ended up doing my own thing which works fine but obviously won't work with Reef-pi which is sad because I worked so hard on this thing and now I have nothing to use it on.
I've been using it about a year on my tank and it's more stable than the Atlas. On my controller I setup a half auto calibration feature, when you put the probe in a buffer you had to wait until the reading didn't shift more than +/- 0.003 in 60 seconds, if it got to 50 seconds and the pH changed by more than the threshold the timer would start over. This circuit can do it in about 2 minutes over and over on a $70 probe, the Atlas never did it once and I tried a lot. I had to add a 5 minute timeout otherwise it would run forever trying to hit the goal.
The circuit can do temp compensation, 1, 2 or 3 point temperature compensated calibration, output the probe slopes and calibration offsets in mV so you know when to replace the probe and as a bonus the circuit is cheaper, all parts are $12.75 vs $21.62.
Downside is the ATtiny needs programming but it's easy to do and the code will be available.
I attached the Arduino sketch if anyone wants to see if they can match the I2C Atlas codes.
Reef-pi will be sending an R to get the pH so the I2C in sketch needs to respond to that and send the pH variable, should be so easy but I couldn't get it work on the ATtiny, it works on a Due when I tried with it but I couldn't put a Due on the pH circuit. So yeah this needs to be compiled for the ATtiny.
Then if Reef-pi is sending calibration values to Atlas that would need to be done as well. There's only two commands being used unless Reef-pi also sends the temperature.
For mid point Reef-pi sends - Cal,mid,7.00
For second point it sends - Cal,high,10.00
The sketch needs to respond to these incoming messages and put the 7.00 in a float and 10.00 in another float. If that's done I can tie it in. Maybe setup new variables and I'll replace with the proper one.
