Open-Source Professional-Grade Aquacontroller

GT_Engineering

Member
Market
Messages
54
Reaction score
73
Location
Suwanee
All,
Due to the state of global affairs, I've taken advantage of my downtime to start a project I've been wanting to work on for a long time: A replacement for my Neptune Apex!
Using the P1AM-100 module from AutomationDirect.com ($49) I created a platform with a collaborative task scheduler, Asynchronous MQTT messaging system for IOT integration, Micro-SD datalogger, NTP time synchronization of the internal clock, and a few other nifty tools.
I wasn't terribly excited about a lot of the existing open-source aquacontrollers for a few reasons: Hobby-grade hardware, potential for the controller to "hang" on certain operations and block critical functionality, and you were limited to the 3.3V-5V digital and analog IO on the Raspberry Pi/Arduino. The P1AM is a HUGE improvement in terms of durability, longevity, and expandability of hardware (e.g. 120/240V relays, Sinking vs. Sourcing inputs and outputs, high-power IO) especially when you consider the price point is just barely above the arduino (~$25 for an Arduino vs. $49 for the P1AM).
Note that this does require a certain level of technical understanding, but I will definitely be working on "lowering the bar" in future updates with better documentation and eventually compatibility with graphical programming languages (Ladder Logic).
Link: https://github.com/JohnnyG89/SeaDragon
Deuces,
-TheReefySeaDragon
 
I've been in the industrial controls field for over 10 years now and it's *just* now that the P1AM is out that there's really an affordable industrial-grade expandable and programmable controller on the market. I'm not "in love with it" compared to some of the higher-end PAC systems I've worked with (B&R, Siemens) but they'll easily cost $2500+ just for the controller and IO modules, and you have to go through a salesman and worry about lead times and hardware life cycle.
 
I have one word..."DUH!" :) But it sounds both promising and interesting! Following your progress.
 
Allen Bradley is about all we have at work. Very seldom do we ever have to mess with them.
 
I have absolutely HATED every interaction I've had with Rockwell - especially Allen Bradley. It's about time someone came on the scene and disrupted their model of selling $25 worth of electronics for $8,000, and that's before you even consider a support contract.
 
I have absolutely HATED every interaction I've had with Rockwell - especially Allen Bradley. It's about time someone came on the scene and disrupted their model of selling $25 worth of electronics for $8,000, and that's before you even consider a support contract.
My company has also used automationdirect PLCs before. I'm actually in the process of ordering one for a customer.
 
I haven't really wanted to use their PLC's before the P1AM because I was always afraid that they'd deprecate and it would be a pain to get the random IO modules and terminal blocks. I feel a lot better with the P1AM because its open-source status means that you won't be pigeonholed into using Automation Direct exclusively if you need advanced functionality that Rockwell and others would really gouge you for.

The most attractive part to me is that they expand to all types of electrical signals - Inputs/Outputs, Digital/Analog, Sinking/Sourcing, Reed Relay/SS Relay, RTD/Thermocouple, etc. With how different everyone's tank is, it's absolutely crucial to use a platform with expandable IO. The MQTT library also simplifies integrating the unit into the IOT sphere without having to include a full-scale OS like Win10 IOT Enterprise.

I'd eventually like to turn this into a side business.
 
I have absolutely HATED every interaction I've had with Rockwell - especially Allen Bradley. It's about time someone came on the scene and disrupted their model of selling $25 worth of electronics for $8,000, and that's before you even consider a support contract.
You are correct 100% I dont have any say in the matter I just to work with what's there
 
Yeah im working with an Allen Bradley Mirco 820 controller.
Is this what you're using for your aquarium? I've never used their Micro/Pico platforms. My main decision selecting the P1AM-100 is that, since it's just an Arduino MKRZERO with an extra IO controller, you won't be pigeon-holed into using any one brand of controller or IO, rather you'd have a platform to begin with and then can branch out from there. I don't really see you being able to do that with the MicroLogix platform.

I'm not completely enamored with the P1AM-100 but it's miles ahead of anything that was on the market 1 year ago. Price-wise $50 for the P1AM vs. ~$300+ for the Micro seems like a no-brainer, and I don't believe there's any expandable IO on the Micro? I got the P1AM with the 8ch Sourcing Output, 8ch Relay Output, and 8ch Input for $250 total, so it's definitely what I'll be standardizing on.

I'd love to make this my full-time 9-5 (half days lol).
 
Is this what you're using for your aquarium? I've never used their Micro/Pico platforms. My main decision selecting the P1AM-100 is that, since it's just an Arduino MKRZERO with an extra IO controller, you won't be pigeon-holed into using any one brand of controller or IO, rather you'd have a platform to begin with and then can branch out from there. I don't really see you being able to do that with the MicroLogix platform.

I'm not completely enamored with the P1AM-100 but it's miles ahead of anything that was on the market 1 year ago. Price-wise $50 for the P1AM vs. ~$300+ for the Micro seems like a no-brainer, and I don't believe there's any expandable IO on the Micro? I got the P1AM with the 8ch Sourcing Output, 8ch Relay Output, and 8ch Input for $250 total, so it's definitely what I'll be standardizing on.

I'd love to make this my full-time 9-5 (half days lol).
Yes this is what i am using on my aquarium. I can get most of everything i need to make my controller from work for free. The Micro 820 controller that we use at work has 11 inputs and 8 relay outputs. It also has 2 expansion slots. Im using one of the slots for a RTD module for two temp probes. For the 110v stuff I am running the outputs from the PLC to some Wago relays just so that if they die it will be easy to replace.

You can check out my thread here....
https://atlantareefclub.org/boards/index.php?threads/building-your-own-apex.1174416/

I havent updated in a while because i really have not done anything with it. Right now I am just using it as a ATO and temp controller. I plan on doing more with it and using a touch screen PC to run a Visual Basic interface to control everything.
 
All,

I've made some more progress on my Aquacontroller "SeaDragon". Some of the noteworthy changes are:

-Completely new file structure that sequesters each tasks' variables, libraries, initialization, and cyclic programs

-MQTTS using adafruit.io. Takes ~8s to authenticate so more than likely you'll just want to use a local bridge that authenticates directly to the cloud. In the future I plan on making an ESP8266 shield from AD's proto kit which has the ECCX hardware accelerator chip.

-Gratuitous use of compiler flags for debug vs. deployment configurations

-Pretty awesome header

I've worked in the PLC programming industry for 10 years now so I hope you all are able to garner some wisdom from how I've broken my code down into discrete units that are all independent of one another.

something something something it's open source so copy at your own risk, I'm not responsible something something something


-JohnnyG89 (TheReefySeaDragon)
 
Have you thought about teaming up with the guys over at reef2reef?

 
I'm going a little bit of a different direction as they are. The RPi is cool, but ultimately it's constrained by the lack of on-board connectivity for the variety of sensors, actuators, and motors that run our tanks. You're just not going to put a 2A DC return pump through a single board computer-the platform just wasn't designed for what they're trying to do with it.
 
I'm going a little bit of a different direction as they are. The RPi is cool, but ultimately it's constrained by the lack of on-board connectivity for the variety of sensors, actuators, and motors that run our tanks. You're just not going to put a 2A DC return pump through a single board computer-the platform just wasn't designed for what they're trying to do with it.
No controllers are doing that though - right?.

They are all using low voltage signals to trigger equipment that is capable of handling a 2A DC return pump (power bars for instance - which is what the reef-pi is doing).
 
No - The P1AM has configurable IO slices (Voltage, Current, Digital, Analog, Temperature, AC, DC, etc.) which each have their own power supply. This protects the CPU from having to handle large currents and voltages. There's something called a backplane that runs serial communications through each of the modules. There's like 20 different electrical signal modules and you can fit up to 15 total modules on a single CPU. The problem with the Reef Pi is that EVERY peripheral now needs its own relay or specialty driver module (i.e. for a pH probe you can't just use a standard Analog Input unless you have a signal driver since it's an active signal).

I like the software they've written for connectivity, but running a full Linux machine introduces more issues than it solves. Things like Dynamic Heap Allocation are indeterministic algorithms and could easily crash the whole controller. Just run a plain "bitbanger" and offload the important data to a MQTT bridge where it can be accessed globally (I have a Windows IOT server on a Lenovo ThinkCentre next to it to handle these things).
 
No - The P1AM has configurable IO slices (Voltage, Current, Digital, Analog, Temperature, AC, DC, etc.) which each have their own power supply.

How is that any different than a RPi send a simple on/off signal via 3.3v or 5v over a serial connection to the API of a power strip - where you have individual power supplies plugged in?


but running a full Linux machine introduces more issues than it solves.
I agree - but it's solves problems all the big names refuse to solve - being married to them and their cloud services, not being able to do whatever in the world I want with my data (they seem to think it's their data - and legally it is since it flows directly to them).

I'm looking forward to your progress - and I wish I was smart enough to contribute.
 
In the case of the RPi, what is it sending the signal "to"? I don't even think the unit has enough power to switch a basic mechanical relay. That means that EVERY device on your aquarium needs an ADDITIONAL solid-state relay, and it also adds a whole new wiring connection for each peripheral.

I agree 100% on the issue of "being married to their services" and that was why I waited until I had something like the P1AM to solve this problem. It's literally just an Arduino (MKRZERO) in an industrial form factor and configurable electrical circuitry.

Also, "connecting to the API of a power strip" is a WHOLE NEW step to integrate control, WHICH IS SOMETHING YOU WOULD HAVE TO DO FOR EVERY ADDITIONAL MODULE!

The P1AM isn't perfect but it's a good basic platform to build SeaDragon on. Soon I'll start working on a ladder-logic API.
 
In the case of the RPi, what is it sending the signal "to"? I don't even think the unit has enough power to switch a basic mechanical relay. That means that EVERY device on your aquarium needs an ADDITIONAL solid-state relay, and it also adds a whole new wiring connection for each peripheral.
In my case - a ULN2803A Darlington transistor to control 12V relays - sends on/off basically to an American DJ SR 8 channel relay system via an old fashioned DB9 cable. Power for the relays comes from a single standalone power supply
 
Back
Top