BeagleBoard as wireless music player, how easy is it?

I have been doing some research into how I can stream my music from my
laptop and have it played on a set of speakers in my room, I just want
it to act as a separate sound card I can route my audio to. The
solution I have arrived at (for various reasons) is this:

1 BeagleBoard-xM
1 Wireless USB-adapter
1 USB sound card with good audio quality and 5.1 output
1 SD-card

I will boot Ångström from the SD-card, which connects to my LAN via
the wireless adapter and starts a pulseadio daemon configured as an
RTP receiver. The BeagleBoard will run headless.

My question is this: Before I invest too much money, time and energy
into this, can anyone with beagleboard experience tell me if this is
easy to do or if I should expect to spend hours or days googling,
compiling, configuring, debugging etc? Any kind of indication would be
helpful, even if you don't have experience with this exact setup - can
I expect any hardware that works in Ubuntu x86 to also work on
Ångström ARM? If not, how do I find the best hardware to use (sound
card and wireless)?

I am a software engineer and have been using various linux
distributions full time for the last 10 years, but the days when I
enjoyed recompiling the kernel just to try a new scheduling agorithm
are over :slight_smile:

I have been doing some research into how I can stream my music from my
laptop and have it played on a set of speakers in my room, I just want
it to act as a separate sound card I can route my audio to. The
solution I have arrived at (for various reasons) is this:

1 BeagleBoard-xM
1 Wireless USB-adapter

Make sure there are Linux drivers for the adapter.

1 USB sound card with good audio quality and 5.1 output

Make sure there are Linux drivers for the sound card.

1 SD-card

I will boot Ångström from the SD-card, which connects to my LAN via
the wireless adapter and starts a pulseadio daemon configured as an
RTP receiver. The BeagleBoard will run headless.

My question is this: Before I invest too much money, time and energy
into this, can anyone with beagleboard experience tell me if this is
easy to do or if I should expect to spend hours or days googling,
compiling, configuring, debugging etc?

If you pick the right adapters, it should be pretty easy.

Any kind of indication would be
helpful, even if you don't have experience with this exact setup - can
I expect any hardware that works in Ubuntu x86 to also work on
Ångström ARM?

Pretty much. USB drivers for x86 will compile fine for ARM. You can search for already built modules using http://www.angstrom-distribution.org/repo. You can also look at using Ubuntu for ARM.

Great, thanks for the input! I will go with the BeagleBoard solution.

/Anders

If you can locate a ZipIt Z2 you will be very happy. They have built-
in wifi and an excellent sound chip. It would also cost a fraction of
the beagle solution.

Thanks for the tip, I do need USB for another hack of mine that I want
to connect + an external sound card however. A second hand netbook
would also be cheaper but I want a small form factor and I like the
beagleboard concept. The ultimate hardware for this project would be a
BeagleBoard Lite: something that runs linux and has network, usb and
SD connectivity but I don't need display output, advanced dsps and all
the processing power and RAM.

Your in luck! The ZipIt has quite a few available ports. It has a
pxa270, which is a bit smaller CPU but runs Linux well and has USB.
Both host and client. You need to make your own cables, but that is
really quite easy.

I have a ZipIt connected to the Beagle as a usb client and share the
ZipIt's wifi with the Beagle. Also gives me a little mini terminal
and keypad.

The ultimate hardware for this project would be a
BeagleBoard Lite: something that runs linux and has network, usb and
SD connectivity but I don't need display output, advanced dsps and all
the processing power and RAM.

So maybe this one could be considered as an alternative:

In fact, I have been looking for something of a ‘Beagleboard Lite’ with somewhat similar requirements. SheevaPlug / GuruPlug seemed like a very promising option at first, but then the reports of excessive overheating, some unusual design issues (egonomics), and reported poorer performance (relatively speaking, compared to some other ARM based systems at similar clock-rate), took the charm away.

At the moment, the Samsung S3C6410 (ARM11) @533MHz based Mini6410 (from FriendlyARM) seems very compelling, and I’ve ordered mine, awaiting delivery. uCLinux is the more popular/common OS, but there is ample instruction on getting Linux running on it (and it’s little brother mini2440). Of course (well, my impression at-least), the community support around this board is not as good as Beagleboard.

Plan is to play around with Mini6410 enough, get comfy with ARM development, and then move to Beagleboard (possibly).

~Jay

Really? You don't like fork(), virtual memory or shared libs?

What I meant is, uCLinux is the more popular/common OS on that particular platform, as it began it’s life with support for only WinCE and uCLinux, from what I read.

Personally, I’d love to be able to do fork(), use virt-mem and shared libs, but apparently (from a performance standpoint) there are some performance penalties (but functionality/feature gains) of moving from uCLinux to Linux.

There are obviously lots of devices out there. I am more short on time
than on money so the cost of the BeagleBoard is not a big issue. I
just want to be able to hook up power and USB peripherals, download a
linux distribution to the SD-card, boot it up, login using ssh and use
a package manager to install what I need so a well supported platform
is important. Googling a bit more I found the Gumstix which also looks
interesting.