DIY Reef Controller

I have to tell ya....the former computer geek is totally on board (no pun intended) with this. Would LOVE to get the knowledge to be able to do this on my own...well with a little (lot) of help from the folks here who know what they are doing. Wouldnt want to control/monitor much as of yet, so hopefully it would be simple for me
 
megadeth,

That looks very interesting, although the price may end up being pretty high as the mega is already around $50/$60 bucks.

I've been reading about the raspberry pi lately and for roughly $40 seems to be the best bet in 32-bit computers. Although this is more a mini-computer than a microcontroller like the arduino is. You run specific forms on linux on the board and are then able to write programs for it using the I/O pins, etc. It comes with a 700Mhz 32-bit ARM processor, HDMI audio/video output, plus onboard ethernet and an sd card slot built in.

If I were to buy a new board to replace my mega for this project it would be the raspberry pi. It would probably be overkill, but it would look really nice.
 
I would like to Replicate it sort of. Looking for a guid line on how yours was written with the background pic and menus which i really like they way they are set up. however i understand that i will have to change it to suit me anyways. I plan on using the 5" TFT. http://www.emartee.com/product/42176/TFT 5" 800*480 With SD Touch Module (Arduino Compatible). Im still new at arduino and the programing so i hope i can get it to work. Im trying to research and slowly buy the parts need. hoping i will have the tft by the end of the month.

Hello!
Henning's libraries is compatible with 5 "TFT Iteadstudio.
You can find it here:

http://imall.iteadstudio.com/display/tft-lcm/im120419008.html

Best regards.
Fernando Garcia
 
fefegarcia,

Thanks for that, thats good to know.

Megadeth,

I can't find much on the arduino Duo, do you have a link?


So, unfortunately I made a pretty dumb mistake with my first homemade PCB. I forgot to mirror the image so everything is backward. ::headwally:

Anyway, I figured that this would work in my favor as now I can do it again and actually post a little tutorial on how I did it with some pictures. So check back tonight for that.
 
fefegarcia,

Thanks for that, thats good to know.

Megadeth,

I can't find much on the arduino Duo, do you have a link?

duo was just announced, it should be for sale by the end of the month. The rasberry pi is nothing like an arduino, you would have to add in IO, it has 1 pwm stock, and no analog at all

the nice thing about the duo is the existing code should all work, just switch your board from mega to duo and it should compile and upload
 
True, it is completely different. But I was thinking of connecting an arduino to the raspberry pi, so the arduino can easily handle all the analog, pwm, sensors, etc. while the pi can handle all the graphics, using either hdmi or the composite video/audio output. This would free me to use larger screens, better looking graphics, and with the 700Mhz easily use plenty of nice animations.

I was under the impression that all the libraries for the standard 8-bit arduinos wouldn't be compatible with the new duo since its 32-bit. Is this not true? If not and they will all work, I would definitely be waiting for one.
 
So I finally have had some time to work this and got a good amount done so far today. Unfortunately i am still having problems with my tank so a lot of my time has been going to that.

Update:

I decided that the one thing I hated about the neptune apex was their text entry system, so I made a keyboard screen for entering text for the reminders, alarms, and notes.

IMG_2470.jpg


Here are the two relay boards.

relays.jpg


and here is the 12" Etape SS liquid level controller.

IMG_2471.jpg


IMG_2472.jpg
 
Okay, so I have some pictures from when I remade the shift register breakout boards to control my 16 outlets. I just hooked them up for the first time and they are working quite well. I'm currently working on a basic sketch to make sure they work well before I integrate it into my main projects code.

This time I used about 2 cups of almost boiling water, 1/2 cup of HCL (Muriatic acid) and about a cup of common 3% H2O2 (Hydrogen Peroxide). It took about 30 minutes to fully etch this time which I attribute to the dilution the hot water.

The boards were drawn with a Faber-Castell Art marker.

Here are the boards right after being put into the solution.

start.jpg


10 Minutes,

half.jpg


20 Minutes,

done.jpg


30 Minutes later with the maker removed using standard acetone nail polish remover,

dry.jpg


Here are the boards after drilling the holes, soldering, and covering the tracks with clear nail polish to prevent oxidation.

soldered.jpg


The holes aren't very straight as I just used a 1/16 in drill bit and a standard drill. A drill press would make things a lot easier as I had to tap each hole beforehand with a nail to keep the bit from slipping around.

Here is the board hooked up to the arduino and the sainsmart 8-channel relay module.

running.jpg
 
So I've had some time to work on the controller today and got some of the settings done. As of right now the on screen keyboard is done and you are able to save up to 6, 70 character notes along with a title for the note. You will be able to attach these notes to any of the user defined alarms so they will be displayed at the time of the alarm.

I also got the background settings done. You are now able to select your background from 7 images.

As of right now, all I have left to program is the led functions, ATO functions, outlet functions, and the graphing functions. Then When I get around to ordering the pH and ORP stuff that'll be it for getting a prototype up and running. At which point i'll start trying to optimize the code to save some space, etc.
 
Subscribed! I've been wondering why with the advancement of computers and micro controllers there aren't more DIY projects utilizing these awesome devises... People just are taking computers for granted these days, they aren't that difficult of devises to learn, and with a bit of research I fully believe anyone can do this type of stuff, they just have this stigma around them... Props nkd for taking this project on!
 
I decided after I hit a wall to cut the background selection down to four. FAT16 formatted SD cards can only hold a maximum of around 170 files in the root directory. Since Karlsen's fatTiny library only support FAT16 formatted card I'm kind of stuck.

I found another library from adafruit that allowed loaded pictures to an LCD screen from an sd card but it was significantly more difficult, and as I do not know how to creat my own library atm i'll just cut back on the numbers of background screens.
 
Very nice build you have going on here im defenitly following this one. I have a controller build going on myself. If I new anything about programming I would help but my knowledge is very limited. Good luck and keep use posted

Funky
 
Very nice build. I have tried in the past to do a DIY controller only to have failed. I ended going with an off the shelf one not really happy with it. I am one for never giving up I do put alot of projects on hold and this was one. I really like the looks of your build and am awaiting your final product and write-up. Good luck with your build, subscribed and watching from the edge of my seat.
 
I decided after I hit a wall to cut the background selection down to four. FAT16 formatted SD cards can only hold a maximum of around 170 files in the root directory. Since Karlsen's fatTiny library only support FAT16 formatted card I'm kind of stuck.

I found another library from adafruit that allowed loaded pictures to an LCD screen from an sd card but it was significantly more difficult, and as I do not know how to creat my own library atm i'll just cut back on the numbers of background screens.

Hello!

You can turn images on .c and aggregate them directly to the program. So there's no need to pick them up on the SD card.

On the other hand it will take a few more memory.

I gave up on using images in my program because the process is too slow.

Can show a short video of your controller?

Hug.

Fernando Garcia
 
fefegarcia,

a 320x240px image as a .c file would be roughly 180kb and since the mega only has a 258kB I would be out of room with my current program and a single 320x240 background.

You are correct, it is a little bit slow while loading the pages, roughly 1.25 seconds, but I don't think it is unreasonable for how much nicer the UI is. now that the new arduino due is shipping I am looking into switching over to that as it is 5 times faster than the mega. It just might take some work as it runs on 3.3v instead of 5v and i'm not sure how all the libraries for the 8-bits will work.

I will post a video shortly to show the screens loading time, etc.
 
I just did a quick test to see if the .c file size estimate was correct and it was actually around 700kb per image in the .c format. The 258kb was in .jpg format.

Here is a quick video showing a basic overview of the UI of the controller. It covers the basic screens, although keep in mind it isn't finished and a few of the background screen aren't finished for the clock and settings screen. If you notice the touchscreen sometimes "sticks" which I am thinking is just another issue with the sainsmart touch screens. AS you will also notice, it takes a little while to load as it starts up. This is the time required to load all the user defined settings from the Sd card. As of now it is only a few and takes surprisingly long, so if it gets much longer I may have to use the EEPROM for some of the basic settings.

btw, the temperature glitch is just because the temperature probe wasn't connected at that time.

http://www.youtube.com/watch?v=vKuL14L4AOE&feature=youtu.be
 
Last edited:
my led drivers are the meanwell 48-60P. Are you planning on just replicating the controller I am making or what? Depending on what hardware you use either me or you would have to change the code around. As it is right now, my code wouldn't work with a normal 3.2" touch screen. The one I got from sainsmart had the touch screen put on backwards so I had to change the code to compensate for that.

May i ask what is your Touch Controller ADS7843 or XPT2046? Thanks
 
Back
Top