A survey of low-cost Linux boards for home automation, robotics, and DIY hardware — and why a ~$35 TP-Link MR3220 Wi-Fi router running OpenWrt turned out to be the sweet spot in 2011.
The hardware landscape
Over the past few years I studied several low-cost open-source hardware platforms for home automation:
| Board | Price |
| Beagleboard | $150 |
| Beagleboard xM | $150 |
| Beaglebone | $89 |
| Sheevaplug | $85 |
| Seagate Dockstar | $50 |
| Buffalo Linkstation Live | ~$150 |
| Linksys WRT-54GL | $50 |
| Asus RT-N16 | $90 |
| TP-Link MR3220 | $35 |
| Raspberry Pi | $35 |
Only a few of these are truly open in terms of hardware and software. The rest are commercial products with an option to run open-source Linux.
Requirements
- Decent processor, RAM, and flash — under $40 (2000 INR)
- Off-the-shelf product available locally (India)
- Open-source Linux support (OpenWrt / DD-WRT / Tomato)
- Lightweight with low power consumption
- Easy option to extend I/O peripheral access
Why a Wi-Fi router?
With these requirements, I narrowed down to the TP-Link MR3220. While the Raspberry Pi was the ideal solution on paper, it was extremely hard to get in 2011 due to heavy demand.
A Wi-Fi router makes practical sense: everyone already needs one for home connectivity. Adding basic home automation capabilities with little added cost — while saving you from running a 24/7 power-hungry desktop — is a good bargain at ~$35.
For enthusiasts, hobbyists, and students interested in embedded Linux, robotics, home automation, and DIY hardware, a router with USB + OpenWrt lets you skip hardware development and jump straight into firmware and software.
Demo: Android app controlling LEDs over Wi-Fi
No warranty void: You don't need to open your router. The openUI hardware is a USB add-on board that plugs into the router's USB port.
Hardware photos
openUI hardware specs
- AVR ATtiny2313 — acting as a USB HID device
- LCD display — for status output
- RC5 IR receiver — for remote control input
- PCF8563 RTC — I2C real-time clock with battery backup
- I2C connector — for extending with additional peripherals
- ISP header — in-circuit programming for ATtiny2313
Find the schematic, PCB layout, and source code for the openUI hardware and software in this follow-up post.