The biggest problem I’ve had with trying to finish the aquarium controller is how I was going to update the Arduino after I buttoned up the box that it’s all housed in.
I was finally able to get a method working to flash the Arduino from the PI itself. I went through 3 different possible ways of doing it before finally finding one that worked.
What I settled on was using PlatformIO. While working through the various methods, I landed on a bug report for Arduino 1.6 where someone mentioned successfully using PlatformIO from the command line on a headless system.
I took a look at PlatformIO and found that they had a version that worked on the ARM processor. I installed it and quickly learned how to use it. I re-flashed my Arduino using my existing code and everything still worked.
The only downside to flashing the Arduino is that all the relays shut off while everything is updating. This will not be something I want to do very often.
Right now the Electronics stack is running on my workbench monitoring the parameters in a 5 gallon bucket. I put some pool Alk-up into the water so that I can watch the pH slowly rise. I still need to write the code for calibrating the pH probes, but everything else appears to be working.