redtop's Ferduino controller

redtop03

moved slow
I know nothing about writing code for these DIY controllers but with a lot of help from the creator of the Ferduino, Fernando Garcia and in spite of the language barrier, with help from google translator and pestering the crap out of Fernando, I've managed to convert his code to read Fahrenheit instead of Celsius and get it to connect to the web....for some of you, that's probably not all that hard, for me is was a major accomplishment LOL

I've been using the Jarduino for a couple years now and it is working great for me but being the DIYer I am and wanting to learn more about these Arduino controllers, I wanted to tackle a much larger project, now I have 2 projects going with this and the Chauvet16 as well LOL

I've been messing with Fernando's code for a while now and decided I wanted to build a controller using his code, what I've found is that this code pretty much covers everything I could ever hope to have in a controller and much more, with the use of the Xively web site to monitor all the parameters and it even has a feature to monitor the power consumption of your reef tank....I'll save that feature for later but thought it was pretty cool since when I was using halide lighting my tank was power hungry LOL

I've been sourcing out all the components and trying to shop wisely and save as much as I could, most of the pieces have taken a while to get, a lot I'm still waiting on from all over the world, Amazon had some pieces, the rest are from Ebay

I found a nice looking project case on Amazon and thought it would hold most of the controller brains, the relays to operate the pumps and whatnot as well as the LEDs will be connected using the DB9 serial cables and remotely mounted....

I'll be using the 3.5mm stereo headphone connectors for all the float sensors, temperature probes, and the PWM control for the Jebao pumps, I'm still waiting on the stereo connectors and once I have those, as with everything else so far, I made need more stuff to make them work LOL

I'll try to explain more about what I'm doing with photos as I progress, since this is nowhere near finished and is just a pile of wires and flashing LEDs at the moment, though I do already have it communicating with Xively :)

pics to come later :)
 
and now for a few pics

IMG_3129_zps4af67491.jpg


IMG_3138_zps10d9f629.jpg


IMG_3139_zps80f40192.jpg


IMG_3140_zps25a806df.jpg


IMG_3141_zps12046797.jpg


the last few pics are subject to change, I really don't know yet how I'll have to mount the 3.5mm connectors so I may have to redo the pH circuitry to accommodate everything else
 
Last edited:
What all is in that stack

the Arduino on the bottom, the Ethernet shield next, a proto board next to connect all the wiring to, which had to be trimmed to fit around the Ethernet port, and the LCD shield on top...

I'll post pics of everything taken apart later and show more detail of what's going on in there...I was just so excited to finally get it working I wanted to start a thread and post a few quick pics LOL
 
looks good!! you got a lot of stuff going on in there do you have a break down of everything in the build?

thank you, no not yet on the parts break down but I will post everything in greater detail later, hopefully supplying links to all the parts :)
 
I don't know if anybody noticed in the first pic but the display screen is cracked, ol' fumble fingers dropped it taking it out of the box and cracked the screen, I have a replacement ordered but the crack doesn't seem to be hindering it's operation any :)

I'll keep it around for experimenting with but don't really trust it long term with my controller
 
I'll try to do a parts break down here since I've relocated most of the links

the Ethernet shield : http://www.ebay.com/itm/181229572768?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

the TFT LCD 3.2WD screen here: http://www.ebay.com/itm/221343348573?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

the screen shield here: http://www.ebay.com/itm/321347794446?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

the RTC here: http://www.ebay.com/itm/221403480973?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

the proto board here: http://www.amazon.com/gp/product/B006SJSBBM/ref=oh_details_o02_s00_i03?ie=UTF8&psc=1

relay board here: http://www.amazon.com/gp/product/B00C8O9KHA/ref=oh_details_o08_s00_i04?ie=UTF8&psc=1

the project case here: http://www.amazon.com/gp/product/B005FMY5FE/ref=oh_details_o04_s00_i00?ie=UTF8&psc=1

pH stamp here: http://www.amazon.com/gp/product/B00641R1PQ/ref=oh_details_o08_s00_i00?ie=UTF8&psc=1

and because I tried to DIY this but mine looks like crap compared to these,
I will likely get the Atlas single component board for my pH stamp here: https://www.atlas-scientific.com/product_pages/components/single-carrier.html

or I may get this instead so I can upgrade as I need it to use the ORP and Density features as well as the 2nd pH stamp: https://www.atlas-scientific.com/product_pages/components/multi-uart-carrier.html

I don't run a Ca Rx, yet, but with another pH circuit, I can control the CO2 with this controller to keep it's pH in check

all the connectors and cables are coming from Amazon and Ebay as well, just do a search for DB9 serial straight through cables and chassis mounts connectors, you'll find everything you need,same for the 3.5mm stereo connectors....

if the DB9 ain't enough wires(9 wires), they make a DB15(15 wires) and DB25(25 wires) as well...I may end up having to use one or the other of those as well

and Fernando's code is here: https://github.com/fernandogarcia I used the English version :)
 
Last edited:
what pins do the Ethernet shield uses, because I thought the LCD uses the same pins

I figured it would be easier to post that section of the code than for me to try and remember it......all of these side note comments where written in Portuguese when I started this, I used google translator to convert to English so I could hopefully understand what does what here, it's been a long task LOL

// Pins 0 and 1 reserved for serial port 0.
const byte alarmPin = 0; // Pin to trigger alarm
const byte desativarFanPin = 1; // Pin that disables the fan.
// Pin 2 reserved for the INT RFM12B.
// Pins 3, 4, 5, 6 and 7 reserved for the Touch.
// Pin 5 is also the chip select the SD card.
const byte ledPinUV = 8; // Pin violet LEDs
const byte ledPinGreen = 9; // Pin green LEDs
const byte ledPinWhite = 10; // Pin white LEDs
const byte ledPinRoyBlue = 11; // Pin blue LEDs
const byte ledPinRed = 12; // Pin red LEDs
const byte fanPin = 13; // Pin that controls the fan speed Heatsink
// 14 & 15 pins reserved for serial port 3 that communicates with the "Stamps"
const byte multiplexadorS0Pin = 16; // Pin S0 control of stamps
const byte multiplexadorS1Pin = 17; // Pin S1 control of stamps
// 18 & 19 pins reserved for the RTC.
// 20 & 21 pins reserved for the PCF8575 I2C communication.
// Pins 22 ~ 41 reserved for LCD.
const byte aquecedorPin = 42; // Pin heater
const byte chillerPin = 43; // Pin chiller
const byte ledPinMoon = 44; // Pin moon light
const byte wavemaker1 = 45; // Pin wavemaker 1
const byte wavemaker2 = 46; // Pin wavemaker 2
const byte ozonizadorPin = 47; // Pin ozone
const byte reatorPin = 48; // Pin calcium reactor
const byte sensoresPin = 49; // Pin one wire temperature sensors
// Pins 50, 51, & 52 reserved for SPI communication
// Pin 53 reserved for "slave select the ethernet shield.
const int sensor1 = A0; // Analog pin that checks for voltage from the saltwater mixing tank float. // for the auto water change
const int sensor2 = A1; // Analog pin that checks for voltage at the bottom of the sump float. for the auto water change
const int sensor3 = A2; // Analog pin that checks for voltage at the top of the sump float. for the auto water change
const int sensor4 = A3; // Analog pin that checks for voltage at the reservoir float. // for the ATO container
const int sensor5 = A4; // Analog pin that checks the level of the reef tank. // for the ATO
const int sensor6 = A5; // Analog pin that checks the level of the quarantine. // for the ATO
const int bomba1Pin = 80; // Pump that draws water from saltwater mixing tank....these pumps for the automatic water change system
const int bomba2Pin = 81; // Pump that draws water from the sump........these pumps for the automatic water change system
const int bomba3Pin = 82; // Pump that draws water from the reservoir to put in the sump......these pumps for the automatic water change system
const int dosadora1 = 83; // Dosing pump 1
const int dosadora2 = 84; // Dosing pump 2
const int dosadora3 = 85; // Dosing pump 3
const int dosadora4 = A12; // Dosing pump 4
const int dosadora5 = A13; // Dosing pump 5
const int dosadora6 = A14; // Dosing pump 6
// Pin A15 reserved for SS RFM12B
///**************** PCF8575TS **********************************
const byte temporizador1 = A6; // P0 // Pin for timer 1.
const byte temporizador2 = A7; // P1 // Pin for timer 2.
const byte temporizador3 = A8; // P2 // Pin for timer 3.
const byte temporizador4 = A9; // P3 // Pin for timer 4.
const byte temporizador5 = A10; // P4 // Pin for timer 5.
const byte solenoide1Pin = A11; // P5 // Connects to CO2 tank for Ca Rx.

since I don't have the PFC8575 yet, and may not use the dosing system or the auto water change system anyway, I switched around some of the pins, you'll notice that at the bottom that some of the pins are out of order :)
 
Fernando has used about every available pin on the mega for this, and then used the PFC8575 for even more LOL
 
Fernando just emailed my some awesome news about his Ferduino build, as soon as he gives me the OK, I'll post pics of it too, but he and a couple other guys are working on a web based control for all this, the pics of the screen shots look awesome :)
 
nice would surely be interested in seeing that. Can this be modified for any lighting type? Not sure I am moving to Leds as yet.
 
nice would surely be interested in seeing that. Can this be modified for any lighting type? Not sure I am moving to Leds as yet.

he has the timers 1 through 5 that can be programed to turn other things on and off at specific times, they will work with any lighting system as well, the LED stuff is only for LEDs though...

I renamed the timers to what I have on the screen, under the LED bar graph, return, skimmer,cl pump, etc....they were named timer 1, timer 2, and so on :)
 
nice would surely be interested in seeing that. Can this be modified for any lighting type? Not sure I am moving to Leds as yet.

he has the timers 1 through 5 that can be programed to turn other things on and off at specific times, they will work with any lighting system as well, the LED stuff is only for LEDs though...

I renamed the timers to what I have on the screen, under the LED bar graph, return, skimmer,cl pump, etc....they were named timer 1, timer 2, and so on :)

actually, the PWM LED channels could be rewritten to be on or off and used with relays to turn any light on and off but you wouldn't have the dimming capabilities with that
 
hey thanks for the break downs and such really appreciate your sharing this knowledge!!

you're very welcome,

I've always been pretty good at following directions for wiring things up, but the knowledge for all of this is from much greater brains than mine, these guys who write the code deserve the credit and the thank you's for their hard work...

people like Doughboy with the Chauvet16, Jamie with the Jarduino, and Fernando with the Ferduino, and there's probable a half dozen or so more projects like this out there, but these guys are few and far between.....

you take only a handful of electronic geniuses in this big ol' world, then only a fraction of them are into reefing, electronic and computer savvy minded brains like these guys have are scarce in our hobby...

I've found out that the best way to learn this stuff is to jump in head first and see what happens....I have been reading ""Arduino for dummies"" trying to get a better understanding of what's going on within these codes, it is still way over my head but I am learning a little each day :)

and I've probable already spent enough on all of this Arduino stuff to buy a fully equipped Neptune Apex, but where's the fun in that LOL this is just another hobby for me and I love doing stuff like this and learning as I go and hopefully keeping the Alzheimer disease away :)
 
Fernando just emailed my some awesome news about his Ferduino build, as soon as he gives me the OK, I'll post pics of it too, but he and a couple other guys are working on a web based control for all this, the pics of the screen shots look awesome :)


Hi!

We have much work to do yet but soon we'll release an alpha version to tests.

Some pics.

14030824773_b0f5aea4da_b.jpg


13987703556_f0d71b507c_b.jpg


14010822135_70fb8116bc_b.jpg


14011270074_fd8bc002a8_b.jpg


Thank you Willie by show your controller.

Best regards.

Fernando Garcia
 
Back
Top