Saturday, December 10, 2011

Cheap, hackable Linux box for Robotics, home automation and other DIY H/W stuff

Over the past few years I have been studying several low cost open source h/w platforms to be used for various home automation activities.

During my quest for finding a cheap linux board(right photo: my h/w collection), I have journeyed through several available solutions in the market as listed below,

Beagleboard xM($150)
Seagate Dockstar($50)
Buffalo Linkstation Live(~$150)
Linksys WRT-54GL($50),
Asus RT-N16($90),
TP-Link MR3220($35)
Raspberry PI($35)

In this h/w list, Only few of them are found to be truly open in terms of hardware and software. Rest of them are commercial products with an option to run open source Linux.

Among all the available options, my main objective was to find
1) A cheap h/w with a decent processor+RAM+Flash.
2) An easily available/off-the-shelf product from local market(in India).
3) A Hardware costing less than 2000 Rupees(<40USD).
4) A Hardware which can support open source Linux distribution.
5) A Light weight Hardware with low power consumption,
6) A Hardware with an easy option to extend I/O peripheral access.

with these requirements, I finally narrowed down to TP-Link MR3220 wifi router which seems perfect solution for my needs(though raspberry Pi is the perfect solution with powerful h/w in terms of processor+graphics+ram+SD @35USD, but as of now, its not easy to get hold of this board due to heavy demand among the DIY community).

One of the good reasons for choosing a wi-fi router was,
Normally everyone has an ugly and cheap ADSL modem/router provided by the ISP which is simply acting as a Internet gateway and on top of it, everyone needs a powerful wireless N router(with an opensource firmware like openwrt/dd-wrt/tomato) for home connectivity between PCs,laptops,phones,tablets,NAS and other home-networking devices.

Adding basic home automation capabilities for such a router with 'little' added cost (which can also save you from deploying 24/7 power hungry and noisy desktop )is a best bargain considering its price of 35$USD(~1850Rs).

For enthusiasts,hobbyists and students interested in embedded Linux, Robotics ,home automation, DIY hardware and microcontroller, I would definitely recommend you to try your hands on with MR3220+openwrt(or any other buffalo or asus router with USB port).

This way you can directly jump start your design by skipping the h/w development time and start focusing on your firmware/software on open source Linux platform.

Ok that's it, lets come to the point,
Here is my work based on MR3220 and AVR attiny2313 based USB h/w(I named it openUI). Following video shows my first Android app controlling LED's through wi-fi.

Best part of this h/w hack is, your router's warranty is not going void, you dont need to open your wi-fi router, openUI h/w is an USB add-on board to your router.

photo of openUI h/w
openUI h/w spec is as follows,
1)AVR attiny 2313 acting as a USB HID device
2)LCD display
2)RC5 IR receiver
3)PCF8563 RTC with i2c interface and battery backup.
4)I2C connector for different i2c peripherals.
5)In-circuit programming connector for attiny2313

Here you can find the schematic,layout and source code of OpenUI hardware and software.

Happy hacking.