View Full Version : embedded linux controller?

03/15/2006, 10:26 PM
I've been thinking about this for quite some time. I am in the middle of a 29 gal project and wanted to develop a platform to easily automate and monitor the tank and also have enough expandability to easily add off the shelf components for control. Here are some thoughts brewing in my head...

I'm a bit of a unix head so I was looking into using one of these small embedded linux machines to control the whole thing. The one I had in mind was the gumstix controller, it is a base system with expansion boards for analog and digital I/O as well as ethernet for web based control, status and logging. Since it is linux we can easily add support for email (then flip to cellphone/sms or whatever) for alarm reporting and such.

Using the I/O board we can trigger latching relays via shell scripts that run on a cron schedule. The relays would control outlets for lights, pumps and whatever else you can plug in. The analog I/O can be used for taking input from temp probes, ph probes and any other probe that gives a +-V for output.

The serial ports can be used to drive a lcd display which can even be a touch screen if one so desires.

Obviously this is a project of fairly large undertaking but most of the underlying infrastructure is a available for reasonable (for this hobby at least!) pricing. The cost would wind up being in the price range for a commercial controller but it would be allot more flexible, customizable and hackable!

The concepts here are similar to the Premium Aquatics Lighthouse controller. However, I felt that for the price their device was to limiting and did not have enough flexibility for those of us who desire highly robust automation.

I've noticed that there are quite a few people on RC that come from technical backgrounds if we pool our resources this should be doable! The thought of using a embedded linux platform over a PLC could lower the entry barrier for people with enough background to help out.

I'm still a bit confused on the hardware side of things, if there is some who has experience with embedded systems have a look and see if all this is feasible from a hardware aspect.

Some links:

Lighthouse Controller


I/O Expansion Boards:
Breakout GS:



03/26/2006, 10:56 AM
I've spent some time researching hardware like embedded linux systems for a reef controller. I instead decided to go with a standard x86 based motherboard during developement. I will later go with a Mini-ITX system, probably booting from something like a USB memory key. In case of a hardware failure, I can use whatever PC I have laying around the house for a temporary replacement. Instead of shell scripts, I've gone with Java/Apache Derby. I may use Apache Geronimo for when I add the web interface/web service. For hardware I/O, I went with Maxim 1-wire devices. Later I'll get a cheap 15" LCD touchscreen for the display.

The interface to the 1-wire network can be either USB or serial, so it should work with linux embedded. You can use shell scripts with the 1-wire network by using the OWFS.


This allows you to read/write to the various devices on the bus, like temp sensors and switches. There is also a bootable Linux CD with OWFS support built in.

Hobby Boards is a good source for 1-wire stuff

The HVAC board can be used with a pH transmitter and pH probe to handle the pH side. I haven't tried ORP yet, but an ORP transmitter and probe should work the same way.

04/01/2006, 06:47 PM
Have you seen this? Might be just what you wanted..


06/15/2006, 07:10 PM
I have been thinking about the same thing. I am a Linux fan but am choosing to go down the Embedded Windows path. My primary reason for this is the development path. I am a big fan of the .NET framework. PC104 would also be a great option for embedded linux or windows. My biggest challenge is getting the hardware interface available to .NET.

06/15/2006, 08:20 PM
I prefer platform independence whenever possible. If I have a hardware failure on the controller, I can just start it up on some other PC, regardless of what OS it's running. I have that option with java and Geronimo.