Recommended embedded linux device for light server and learning [closed]

Imagine the following situation: I want to have a tiny, light server that is able to run some services like basic Web, ftp, printing servers and pluging hard drives via usb.

I would like to use it as a tool for learning about embedded devices and programming for those architectures. I have the intention to test a home-security system with a webcam also...

What would be a good architecture, specific device, brand or any recommendation for a beginner? I have experience with both linux and C programming.

Limited budget proposals preferred! ;)


I've done a reasonable amount of hobbyist embedded hacking, and I've got two suggestions:

  1. Linksys WRT600N (which has usb) or Linksys WRT54GL with dd-wrt or some other custom firmware. Get the cross-compiling setup on your desktop and start porting some open-source software that you might want to run on them. Once you're comfortable with the build environment, you can move to develop your own apps. If you feel adventurous you can google around for some of the hardware hacking projects for the WRT54GL. For example, mine has a serial port sticking out the side. Another project adds an SD card slot to it, which should give you enough storage to perhaps not need a USB hard drive for file serving.

  2. Digium AA50 or the Free Telephony IP04 these are really fun embedded telephony platforms that run on the Blackfin processor. The blackfin has built-in DSP capabilities which opens up a lot of interesting media-processing possibilities in the telephony side of things. I know you wanted a file-server, but you'd be surprised how much you'll learn if you build your own embedded PBX.


If it's limited budget you want, you want the Sheevaplug. Mine has just been delivered a few hours ago and I can't wait to get home and start checking it out.

Basically, it's an ARM processor with 512MB of RAM, some flash memory, a USB port, a NIC. All built into a powerplug(!). Hence the name.

A very cool device, low power, low cost (less than $100).

There's a whole lot of Linux distributions that run on the ARM architecture. Debian, for instance, has a complete ARM port. It's a bit different that IA32, but it'll do the jobs you mentioned just fine.


Here are some interesting cards

  • Atmel NGW100 - http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4102
  • BeagleBoard - http://beagleboard.org/
  • LinuxStamp - http://www.opencircuits.com/Linuxstamp
  • Gumstick - http://www.gumstix.com/

Maybe you can have some fun with one of those?