I'm looking for a programmable Linux controller for home automation and general fun projects.


  • Controlling electric appliances - On/Off switches and dimmers (perhaps using relays)
  • Receive analogue and digital data from sensors (switches, temperatures, etc.)
  • USB connection
  • Running Linux


  • Network connection / Web interface
  • Python support
  • Small display screen
  • Keyboard and VGA support

I used to have a lot of fun with a Handy Board, but it broke down a few months ago, and it lacks many vital features.

alt text

  • 3
    How much are you willing to spend? – Pretzel Aug 16 '10 at 16:53
  • 1
    Also, what are your power requirements? – Pretzel Aug 16 '10 at 17:00
  • And what are these vital features? – XTL Apr 3 '12 at 11:42
  • @Pretzel a. 50$- 100$. Batteries or 220v are OK. – Adam Matan Apr 4 '12 at 5:23
  • @XTL Linux (and Python) were missing. – Adam Matan Apr 4 '12 at 5:23

Is not so powerfull as a normal PC, but you should try arduino platform.

You can buy a great and cheap unit here: http://www.libelium.com/

Google a little bit about arduino and you will find a lot of references and a big community

| improve this answer | |
  • 2
    I don't think adrduino runs with linux? – echox Sep 16 '10 at 13:37
  • 1
    not sure whether anyone would want to fit Linux into 256 kilobytes flash memory... (see en.wikipedia.org/wiki/Arduino#Arduino_board_models). Not unsurprisingly, with 2 kilobytes RAM these microcontrollers don't have a memory management unit either... – Andre Holzner Aug 10 '11 at 8:25

Not knowing your price range, I suggest Gumstix.

The boards are quite expensive, but very powerfull, especially with the ATmel Robostix expansion board.

I suggest the Robostix Starter Pack, this should get you going programming with Gumstix.

| improve this answer | |

Various routers and home electronics devices run linux and can be reflashed, the WRT54G wireless router is a popular example of this with the OpenWRT distro.

The SheevaPlug is another example of a micro-linux system, although I think it's lacking in A/D inputs.

| improve this answer | |

The ALIX system board comes to my mind (I haven't tried it myself though).

Although it does not have A/D converters on board, some models have an on board connector for serial and/or parallel ports (to which one could interface e.g. this temperature sensor etc.)

| improve this answer | |

I am using an Arduino in combination with a Pandaboard for my home automation needs - it does meet all your requirements if you connect it to some external screen via HDMI or DVI.

The Pandaboard - while a bit more expensive - is very powerful and it replaces my wireless-router (802.11n), acts as a storage and media server with its HDMI output connected to my TV and external USB hard drives attached (power switched with the Arduino). Together with the Arduino, it monitors all the sensors in my home, controls the switches and runs fanless on stock Linux. You can control it with standard USB/Bluetooth input devices or over the LAN respectively Internet.

The whole system consumes only about 5W (~10W with the hard drives powered up).

| improve this answer | |

There's Chumby that's easy to re-purpose, but doesn't have much low level IO, and the slightly more hardwarey CHB.

RaspberryPI is also out. If you can get one, the price point is excellent.

Various Android and Maemo devices may also be re-purposable and do run some kind of Linux. Hardware connectivity is rarely very hack-friendly.

There may be other boards around as well, but I haven't looked into any.

Combining smart-ish Linux box with a real microcontroller or several and a communications interface between them (async serial by usb serial adapter most easily, or bluetooth serial module or even ethernet) may give the best of both worlds. Make your own peripherals out of the microcontrollers.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.