Software, software, software

I guess you can tell the last week or so has been dedicated to the software for my Aquarium Controller.

20140722-202638-73598667.jpgThe DS1307 Real-Time-Clock has been a pain since I put it together. After countless checks and rechecks, lots Googling and moving back and forth from the Arduino Uno where it was working to the Arduino Mega where it was not working, I found the solution.

On the Uno, the SDA is wired to Analogue A4 and the SCL is wired to Analogue A5. With the Mega, the SDA needs to go to 20 and the SCL goes to pin 21.

Some of the other things I have included:

      • Restart in previous status after reboot
      • Temperatures are now read in real time
      • pH is read in real time
      • Event timmers
      • Feeding pause, on timmer or manual
      • Dossing on timmer or manual
      • Auto Top up including float switch
      • Alarm system

The dossing function is working great except it is using delays to do the servo swing and this prevents the controller from doing anything else during that time.

I have also managed to get Python to talk to PushBullet and send me updates which could include anything. The big problem here is when I use Python to talk to the Arduino, as the serial connection is established, the Arduino resets. There are a few methods to prevent this that I must still try.

I removed the DFRobots LCD panel with buttons and replaced it with the simple 16×2 LCD. I am not going to use the buttons so have rather used my own buttons for certain tasks.

I was looking at a menu system but my brain couldn’t take it and my ultimate aim is to install a touch screen so will implement a menu structure then. For now, all settings are hard coded at upload time.

I did run a live test using the temperature probe and pH probe on my current tank over the weekend and all seemed to be 100%. I now need to look at a housing and such like and then take the controller live.

Software, software, software was originally published on TechRoss’ Blog

Main Display

Last night I spent some time tweaking my code for the controller’s Feeding Pause and did a general clean up on the code. I then started work on what will be the main display when the controller is running.


I am quite happy with the layout. The only real problem I am having is with the RTC. The time always seems to be doing something funny. If I want the seconds to be only 2 digits, then somehow the time changes to 10:11:##.

Anyway, so at a glance you can see the main temp sensor readings (which in my case will be in the sump), and you can see the pH values.

The three little characters in the top right are a heart to show that no alarms are active and that the system is in good shape. The little ‘H’ is showing that the heater is active. The little fish is there to show that the feeding pause is active. You can also see I have added a degree symbol next to my temp reading.

The LCD custom character or gylph is made up of up to eight characters of 5×8 pixels. Each custom character is specified by an array of eight bytes, one for each row. The five least significant bits of each byte determine the pixels in that row. To display a custom character on the LCD you need to write() its number.

Assuming you have your LCD up and running and can display information, this is the code I used for my gylphs:

uint8_t heatericon[8] = {0×0,0xa,0xa,0xe,0xa,0xa,0×0};
uint8_t degicon[8] = {0×0,0xe,0xa,0xe,0×0,0×0,0×0};
uint8_t hearticon[8] = {0×0,0xa,0×15,0×11,0xa,0×4,0×0};

Then in setup() you need to create the character:


and to display it:


I use the heater char to display if the heater is active or not. This is the code I am using in my main display section:

if(heaterActive == true){

The ‘heaterActive’ flag is just a boolean value that I set to true when the heater is activated.

Main Display was originally published on TechRoss’ Blog

Aquarium Controller Update

I have been working hard on my Arduino based aquarium controller and not taken any time to keep this page up to date. I actually can’t believe how far I have gotten and also how much fun I am having with the Arduino.

So at this stage, I have the following working:

    • LCD Screen installed as a shield and working. I am able to write to it and use the on-board buttons.  (I don’t have a menu system working yet and will probably be my weekend goal)
    • Real-Time-Clock kit built and installed.
    • Temperature sensors installed and working.  I am using the DS18B20 sensors. They are great because you can run multiple sensors of one pin. I have one waterproof probe that will be for the sump and be the main heater control and then 2 bare sensors.
    • pH probe is working but I have not calibrated it yet. I would rather leave it sealed up until I am going to  use it.
    • Servo basses dosing system is in place and working, I now need to build the hardware part and will defiantly need a stronger servo.
    • I am using a 8 port relay board to control switches and this is working nicely.  I have a temp setup that turns the ‘heater’ relay on and off depending on the temperature form the main temp sensor.
    • I have program in a feeding pause button
    • I also have a manual dossing button installed.

Below are some of the pics I have taken over the last week or so showing my progress.

IMG_0833Humble beginnings. A single LM35 temperature sensor.

LCD Screen tests with temperature display. I have replaced this screen for now.

IMG_0921New Arduino Mega, LCD Screen shield and full size bread-board. Two of the new DS18B20 temperature sensors can be seen on the right of the bread-board.

IMG_0931Real-Time-Clock kit.

IMG_0933 Working Real-Time-Clock. It took forever to get the code for this to work. Very very frustrating.

IMG_0940Current state of affairs. Main temp probe and pH probe not in the picture.

Aquarium Controller Update was originally published on TechRoss’ Blog

Help stop Kendall Jones from hunting in Africa.

I don’t normally go for this whole on-line partitioning and voting thing but I really think this bitch need to be stopped.


Kendall Jones is an American born hunter who has entered the continent and has been hunting African wildlife under the facade of conservation. She has publicly stated that she hopes to have a television hunting show and she is using endangered and helpless African animals as a stepping stone to further her popularity on social media platforms.

There is a picture of her as a young girl holding up a Leopard she had just shot… when you start shooting big 5 and endangered species, piss of back to the USA. Trophy hunting should be banned.

kendall-jones-teenage-hunter-14 Kendall-Jones-rhino kendall-jones-leopard kendaljones

Help stop Kendall Jones from hunting in Africa. was originally published on TechRoss’ Blog

FTS 6th July 2014

20140706-200419-72259450.jpgI have added some more color with some new plants and today I added 5 male and 5 female Endlers and 2 Corydoras panda. Unfortunately one of the make Endlers did not make it.

I am still battling BBA and am running out of options. My CO2 was at 8ppm this morning and it is pumping so I must be losing CO2 to the atmosphere. I have cranked the bubbles up so will see what happens. I also removed the spray bar and let the return direct to the centre of the tank. This with the addition of a very small powerhead in the back corner are giving nice circulation and actually blowing the CO2 into the tank rather than letting it get to the surface.

FTS 6th July 2014 was originally published on TechRoss’ Blog


Along with all the other projects and things I have on the go, I want to build a shrimp nano. (I have no idea when I am going to get to this and where I would put it but still)

These are some inspirational tanks that I have seen.

I am not a big fan of the spars planted tank, but this first one just seems balanced to me. Maybe with one corner being a bit more planted.

Insperation was originally published on TechRoss’ Blog

Happy Birthday iPhone

Yip the iPhone is 7 years old, hard to believe that the device that revolutionized the smartphone and started the mobile revolution is 7 years old. Came with a simple user interface that anybody who could touch a picture could use, no keyboard or styles and sold 1 million units in 74 days.


I have to be honest, I was never a big fan, I just thought the device was locked down to heavily and then I decided to try one and have never looked back.

It started with the ‘original iPhone’


Then came the 3GS. This was where I got hooked.


The iPhone 4 (I know friends that are still using this device without and issue)


iPhone 4S

iphone4siPhone 5


and the current iPhone 5S. It is obvious the newest device is the best so far but this is my current phone and I love it.


and then the awesome 5C. Fantastic move on Apple’s part.


So many rumors about the new device. The iPhone 6 I guess, in a 4.7 and maybe a 5.5. We will just have to wait and see.

Happy Birthday iPhone was originally published on TechRoss’ Blog