Ltkenbo's DIY Reef Controller

ltkenbo

Reefing newb
So I've been thinking about this project for a couple of years now. A little background first. I got in the reef hobby about 4 years ago when I was electrical engineering student. I went into electrical engineering because I've always enjoyed taking things apart to figure out how they work and building and designing things. I had this idea floating around back a little bit after I started into the hobby but never got around to actually planning it out real well. Now, I work as an electrical design engineer and so I have more experience now with the kind of things so I'm going to try to implement it now.

I've seen several DIY reef controllers out there and a lot of them use Arduino (http://www.arduino.cc/). Many of you may already know what Arduino is but if you don't, it's basically a microcontroller (http://en.wikipedia.org/wiki/Microcontroller) development board you can program very quickly and easily. It's great for people trying to learn about electronics and microcontrollers because lots of examples are provided and there are all kinds of "shield" boards you can buy to add things like ethernet, wifi, motor control, etc. allowing people to get projects going quickly and easily. Arduino is great for beginners but it not the best thing necessarily performance or at times price wise. What I would like to do is choose a better and more powerful microcontroller, develop my own circuit boards for the controller and program them to end up in the end with a more professional project.

I want to take a modular approach (like most do) to this project. I've decided for a microcontroller I will probably be using a Atmel SAM D20 ARM Cortex M0+ on each module. These are around $2 each and are much more powerful than what is on an Arduino board. It also has cheap programming and development tools and all software needed to develop the code is free. http://www.atmel.com/products/microcontrollers/arm/sam_d20.aspx

I've made a very basic block diagram for each along with an overall system diagram:

DisplayampControlModuleInitialBlockDiagram.png


Display & Control: The display and control module will be the main one for user input (via a keypad) and a monochrome graphical LCD display (as seen on most reef controllers). This module will be the brains or master of the operation as well and will communicate to all the other modules via a RS-485 port (http://en.wikipedia.org/wiki/RS-485).


MeasurementModuleInitialBlockDiagram.png


Measurement Module: The measurement module will take care of measuring pH and temperature and reporting this back to the display unit.


I-OModuleInitialBlockDiagram.png


I/O Module: The I/O (input/output) module will have several features. The first will be an array of 8 individually switched outlets. It will also have 2 general purpose open or close contact inputs (for things such as float switches) and 2 relays used switch lower voltage devices. I plan to make the system capable of supporting several of these modules.



ReefControllerSystemDiagram.png

As mentioned above the system will be hooked up via RS-485 communication connection. The display and measurement will have "wall wart" type power supplies and the I/O will be powered (and power plugged in devices) via a 120VAC plug (just like a power strip).


So that's all I have so far. Let me know what you think of the features I ave included and if you think there should be others. What I've outlined here is the hardware features. Software features and capability will be decided later so don't really need to be discussed yet as the hardware must come first. I've also thought about ethernet and wifi functionality as a future module but for the intial build I will only be doing the above modules as ethernet and wifi is more complicated and usually requires a more powerful system (usually a board running Linux OS on it).

Open to comments and suggestions!
 
Hope you can build this for real. :)

If you can do PH and temperature on the measurement module. Can you also add salinity to it? or that would be too hard to do.
 
Hope you can build this for real. :)

If you can do PH and temperature on the measurement module. Can you also add salinity to it? or that would be too hard to do.

Yes I plan to but the time to get there will depend on how much time I can devote to it and money as well. Once I develop this I plan to post the PCB files, programming files and code needed to build this so other could as well if they wanted.

A salinity probe input could probably be done. I just need to look into how a standard one works, that's a good idea. Thanks! :)

Edit: Just starting to read some things I found on google, it seems a salinity sensor acts like a variable resistor (makes sense since most likely it is just looking for conductivity like a TDS meter does by passing a small current), this would be very easy to read and require very little additional circuitry.
 
Last edited:
Yes I plan to but the time to get there will depend on how much time I can devote to it and money as well. Once I develop this I plan to post the PCB files, programming files and code needed to build this so other could as well if they wanted.

A salinity probe input could probably be done. I just need to look into how a standard one works, that's a good idea. Thanks! :)

Edit: Just starting to read some things I found on google, it seems a salinity sensor acts like a variable resistor (makes sense since most likely it is just looking for conductivity like a TDS meter does by passing a small current), this would be very easy to read and require very little additional circuitry.
These are good news! :thumbsup:
 
So an update, right now I'm deciding what software I'm going to use to make the schematic and circuit boards. Since I want to make this somewhat of an instructional or shared/community DIY project, I do plan to share the files for the boards so that if someone else wanted to build this, they could order or modify the boards as they please (kind of like an open source type project -- http://en.wikipedia.org/wiki/Open_source).

In doing that there are a couple of good choices out there for FREE PCB (Printed Circuit Board) design software. I've listed them below and included some pictures in case anyone wants to see them or isn't familiar with what PCB design programs do.

One of the big ones is Eagle by cadsoft:

http://www.cadsoftusa.com/

Eagle_Schematic_Editor.png


dim_cursor_large.jpg


Eagle is a very good and popular program that I am familiar with, and they have a nice free version. It has lots of support online and in the electronic hobbyist community. The problem is, it does have some limitations to the board size and number of schematic sheets. Also if I so desired to ever sell these boards, technically according to the terms of use you can't use the free version to do that, you need to buy the $1000+ version.


One of the other FREE popular PCB design programs is KiCad:

http://www.kicad-pcb.org/

schema.png


F6VLJBIFQR1H9AV.LARGE.jpg



The nice thing about KiCad is it is completely free (and open source) and therefore has no terms of how it is allowed to be used. It can be shared, modified and used in any way the user sees fit. I believe this is going to be my choice for this project. I am not as familiar with it but I always like learning how to use new design programs.


There are other free layout programs out there, but the two above run on all 3 big computer OSs (Windows, Linux, Mac) and since I have Linux and want a totally free program I choose KiCad.

Let me know what you think!
 
Man, this is something I want to learn about. There are just too many things that I want to learn about and this is a few rungs down that ladder.
 
Back
Top