Web controlled project


I am new to all this but have a project in mind and am trying to way up the best way to go about it. I want to make a web controlled aquarium controller.

The idea is that every aquarium process is automated from the device, and can also be controlled over the web.

I want to take temperature, orp and ph readings and log them.
Control the pump (with the ability to stop the pump for 5 minutes for feeding)
Control the lights on a scheduled basis and with manual control.
I want a web cam that can be viewed over the web.
Control the temperature and switch off the heater when the pump is off for feeding.
Control pumps and valves for automated water changes.

I want some processes to run on the board constantly e.g. controlling the lights, but I also want a web interface that will allow me to preform tasks and monitor the aquarium remotely.

I would appreciate if you could advise me on what hardware I would need to do this, I have seen phidgets sbc and some of their addon modules, I wanted to know if there is an alternative and whether arduino would be better and cheaper?

An important point is like the phidget sbc I don't want to have a pc running constantly, I want the board connected directly to the network via wireless or ethernet cable. Also ideal I would be able to write my programmes directly to the chip via usb.

Also can you direct me or advise me on the summarised steps to programming both the avr to control the project (including if this can be done on the board like the phidgets or how I would go about flashing the chip). And how I would go about creating a web interface? (software required etc)

My programming ability is currently limited to vb but the idea behind the project is to start learning C#.

I hope you can give me some advice.

Thanks in advance,


I think to have the webcam, I think your pc would have to be online all the time.

You can do what you want with an Arduino and an Ethernet shield (and some Cat5 wire). There are quite a few examples of aquarium controllers based on arduino, have a google and see what you can find (although I don't think many have added web control).

Which arduino will depend on exactly what you want to do but an Uno will probably do; but I have seen people use a Mega for aquarium control as they needed the extra inputs/outputs.

I suggest you buy an Uno (or mega) and spend a little time working through a few examples on the homepage. All of the technical aspects of uploaded the code to the AVR is done by the arduino IDE, so you really don't have to understand it. Just press the upload button and its done. The language is pretty simple too, If you have done and C/C++ (or similar) then you will pick it up pretty fast. Once your happy programming the board on its own then you can start playing with the ethernet shield.

It shouldn't be long before you can start writing your own code from scratch (or taking clues from others code). Just remember to post it all when your done.

Thank you for the advice I will have a look at the various options you've given me in some detail. Also how many digital/analogue ins/outs can the mega have?

I'm sorry to keep referring to phidgets sbc but thats only thing I've seen and understand what it can do. The sbc allows you to plug devices such as web cams directly in to the sbc board and use them. For example other interface boards e.g. relays temperature interfaces, wifi dongles and web cams, is this type of functionality possible with arduino. Useful functions would be plugging a pen drive in for storing any logged data and the web cam as mentioned earlier.

The sbc also is a self contained computer hence the debian environment is present allowing some of the functions, does arduino have a single board computer type product?

Thanks again I will look at the uno and mega as mentioned.


The uno has 14 digital in or outputs (6 of which can be used as PWM or analgue out) and 6 analogue inputs
The mega has 54 digital in or outputs (14 of which can be used as PWM or analgue out) and 16 analogue inputs

If you need more inputs or outputs you can also multiplex (but I leave that until you get the basics)

You can use the inputs and outputs for anything you want. But to answer your questions specifically; yes you can control relays, measure temperature, connect to wifi (although that's quite expensive), log data to a SD memory card (or flash drive) and/or send the data to a database server (either local or web based). The webcam could be controlled by the arduino but it would need to be plugged into a computer (as far as I know).

Try googling arduino datalogging, arduino relays or arduino wifi etc and you will find there is a great deal of info out there.

Thanks targettio that answers most of my questions. I really like the arduino platform as it seems to have a far larger community supporting it. My only issue is that I want to try and cut out the computer entirely, hence I was hoping to get the webcam to run directly through the arduino out to a wifi or ethernet shield. This is a function on the phidget sbc as far as I can tell, but they seem to have a very small community and are a lot more pricey.

Does arduino have any similar single board computer devices that for example I could run Lenny on?

Thanks again, I'm pretty close to making my decision now. Also finally would you suggest getting the Ethernet shield straight away as I want it web controlled, or work on the functions first such as temp, relay control , led lighting etc?

If you search the old forum for aquarium you should find some previous web controlled aquarium projects. As to vision, you probably need to consider a network cam similar to the below cam.