Cool gadgets

May 06, 2013

BeagleBone Black vs Arduino Uno

Arduino | BeagleBone | Cool gadgets

I just received my BeagleBone Black from Adafruit. It's a very sweet board and the price is just right. US $45 will get you a 1GHz ARM processor with 512MB RAM and 2GB flash, built-in Ethernet (10/100Mbps), video graphics card with HDMI output port, 65 I/O ports, 4 hardware UARTs. A very capable board for driving the various small projects I have in mind.

The first project I will work on is to replace a Guruplug+Arduino-based project that was driving my projection screen. The setup I had was quite nice, but it appears the Guruplug died after running great for the past few years.

Posted by ovidiu at 05:44 PM | Comments (0) |

June 02, 2009

Maker Faire 2009 - the best festival so far

Cool gadgets | Hardware

I finally had some time to go through the pictures from this year's Maker Faire. By far this was the best one so far! Lots of people participated with very interesting projects, and the variety was huge.

What was striking this year was the quality of the projects and how much time people put in them. The list of projects, sorted by type can be found at the Maker Faire's web site.

Here are some of the cool projects I liked:

  • Bike wheel display. Uses LEDs controlled by a small computer to show images on a moving wheel. By Monkeylectric.
  • Bill Buzbee's Magic-1 computer. The CPU is built entirely from 74 series TTL chips. Bill now works at Google on the Android team.
  • Kinetic sculptures. These were incredibly detailed mechanical assemblies custom made from metal by few talented artists. Though artist in this context is an understatement: these guys have knowledge of mechanics, electronics, and are very good at building things.

There were a lot more interesting projects that I won't talk about in this post. Check out the Maker Fair's website for a list of participants. Also check out my Picasa album containing more pictures from the event.

Posted by ovidiu at 11:17 PM | Comments (1) |

May 08, 2009

Oppo BDP-83 review - true universal player: Blu-ray, DVD, CD, SACD and DVD Audio

Cool gadgets

This week I got delivery of the fantastic Oppo BDP-83 player. This unit is the first true universal player on the market: it can play not only Blu-ray and DVD movies, but also CD, SACD and DVD Audio discs.

The unit replaces my former Marantz DV-9500 player that I owned. This was a great player but surprisingly developed a problem with the tray loading mechanism after 3 years of usage: the rubber belt used in the drive mechanism worn out and had to be replaced. In the process of replacing it, I accidentally destroyed the small sensor that detects whether the tray is opened or closed. Calling the Marantz customer support was not helpful: I couldn't manage to get the part that broke even after 4 calls. I decided it's not worth taking it to a repair shop and pay few hundred bucks to have it fixed, so I waited until the new Oppo player was released.

I could not be happier with this decision. The player is smaller and with a much cleaner user interface than the Marantz player it replaces. So far the image and sound quality are very much on par with that of the Marantz player, at a quarter of the price. I got the player for $500 and picked it up directly from Oppo, in Mountain View, CA.

I decided to get the player with the RS-232 option, so I could control it remotely with a computer. The serial port was not originally mentioned in the specs of the player, but it is now an option that can be added to the player for $89.

I am pretty impressed with the way the company decided to release this player. They had an Early Adoption Program (EAP) in which they released the player to a limited number of customers, so they can collect feedback from customers that use it on a daily basis. They collected the feedback and displayed it on their web site, for everybody to see, which is quite impressive in itself. After the first round of customer testing, they fixed whatever problems occurred, released a firmware upgrade and asked EAP customers to test the unit again, this time also asking whether people think the player should be released or not. At the end of this phase, 88% of the customers voted for the player to be released. The company decided to release the player, since most of the remaining problems were pretty minor and could be fixed in future firmware upgrades. I think this a great way to release a product like this and can only applaud the company for doing it!

Check out the gallery of pictures of the player in my current home setup.

Posted by ovidiu at 08:13 PM | Comments (5) |

May 11, 2007

Convert iTunes playlists to Slimserver m3u playlists

Cool gadgets | XSLT

I own few Slimdevices Squeezeboxes, which provide a great way to listen to your digital music. Through a regular remote control and the VCD screen you can choose the album, song or playlist that you want to listen to.

I rip all my music from CDs and organize and store it in iTunes. (By the way, the reason I never buy music from the iTunes Music Store is that I cannot play the DRM crippled songs on my squeezeboxes.) I then copy all the music to the hard disk of a small machine, which runs slimserver that serves the music to my squeezeboxes.

One thing that kind of bothered me for a long time was that iTunes playlist support for the slimserver software was somewhat broken. So I wrote a small script to convert the iTunes playlists into m3u playlists, the format used by slimserver. Below are the details.

Update (May 21st, 2008): Mike Hudson writes that the latest version of SqueezeCenter can now read iTunes XML, playlists included. However one still needs to change the location of the files within the XML file.

iTunes stores information about your music library into an XML file. Its format is the so-called plist, a rather unusual XML format. Its biggest flaw is that name value pairs are consecutive XML elements, rather than being associated. For example, this is an excerpt from the description of a song:

  <key>Track ID</key><integer>585</integer>
  <key>Name</key><string>Hells Bells</string>

The problem of is that you have to rely on the position of elements to figure out what they mean. An alternative would have been to represent the value as an attribute of the key element or as a child element, if it was a complex structure. Like this:

<key name="585">
    <key name="Track ID" integer="585"/>
    <key name="Name" string="Hells Bells"/>
    <key name="Artist" string="AC/DC"/>

In any case, the format is what it is, so I had to deal with it. I wrote a small XSLT program to extract the playlist information and generate the m3u playlists. It is called iTunes-to-m3u.xsl, and you can run it like this to generate the m3u playlists:

java -jar saxon8.jar ~/Music/iTunes/iTunes\ Music\ Library.xml iTunes-to-m3u.xsl

The XSLT engine used above is Saxon 8, an excellent XSLT 2.0 implementation. You might be able to use other engines too, including 1.0 ones. However if you do that you need to change the xsl:result-document to xsl:document, and make sure the engine support outputting to multiple files.

Depending on your setup, you might need to translate %20 sequences in file names to regular blanks. Since the location of the files on the slimserver box is different than that on my Mac, I also have to translate file paths. The following shell commands do it for me (I have everything packaged nicely in a shell script):

(cd /tmp
mkdir -p playlists
cd playlists
rm -f *.m3u *.new
~/bin/saxon ~/Music/iTunes/iTunes\ Music\ Library.xml ~/src/iTunes-to-m3u.xsl;
for f in *.m3u; do
  sed -e 's/%20/ /g' -e 's%/Volumes/BigDisk/Users%/home%g' <"$f" >"$";
  mv "$" "$f"
scp *.m3u music:~/Music/Playlists
Posted by ovidiu at 09:30 PM | Comments (0) |

April 19, 2007

Nokia 6131 review

Cool gadgets

I posted this on Amazon, but few days ago they somehow managed to delete all the reviews for the phone (they seem to be back now). To prevent against such things, I'm reposting it here. Click below for the review.

This is a great everyday use phone. It doesn't have all the bells and whistles of the newer Nokia phones, like integrated WiFi (with VoIP integration) and GPS, but it does very well what is designed to do. I use this phone with T-Mobile with their unlimited Internet plan (using EDGE).


The build quality and materials chosen are top notch. The plastic cover doesn't look and feel cheap, like many other (some expensive) phones out there. I like the fine leathery touch of the battery cover, which provides a good grip of the phone in the hand.

The internal screen is large, with plenty of pixels and colors. Most of the apps look very well. With Google Maps for example it's very easy to read and discern the details.

The phone' sound quality is superb. The earpiece is very clear, and the microphone and voice processing hardware inside the phone makes the other side hear you clearly. The loudspeaker is fairly good too, although I'm not using it very often.

The Bluetooth software stack is perfectly compatible. My car's Bluetooth implementation is very picky and works only a handful of selected phones. The Nokia 6131 phone is not listed as a compatible phone for BMW M3, but it works just fine with it, while the fancier and more expensive Nokia N80ie phone does not.

The included radio is pretty cool when you're bored, although it requires the included proprietary headset to work (it uses it as antena).

Google Maps and GMail work excellent on this phone. They don't come with the device, but they're just a download away from Google.

The phone's camera does a fairly decent job with well lit shots. It also takes videos, which is pretty cool for a phone. Just don't expect the camera to replace your point and shoot or DSLR.

The ability to use MP3s as regular ring tones is a huge bonus. No more buying ridiculously expensive ring tones from your phone company, when you already own the music. Just take the song you want, edit out a 30 second portion of it that is suitable as a ring tone, convert it to MP3 and upload it on your phone. You could assign different ring tones to different people, so you can recognize who's calling you.

The phone now has MacOS X compatibility, with the latest 10.4.9 release. It synchronizes your address book over Bluetooth without any problems, including the people's pictures. When somebody calls you, his/her picture appears on the external display. The picture is scaled up however, making it look a bit ugly. I guess Apple needs to allow for higher resolution pictures to be set in AddressBook.


As many other Nokia phones, the phone cannot use a regular headset, it only works with the proprietary Nokia headset. This is understandable, as the headset is stereo, and doubles as an antenna. It would be nice however to have an extra plug for regular headsets.

The package does not include a MicroSD card. Not too bad, they are quite cheap, but you should be aware of this if you decide to buy the phone.

The camera shutter button is on a side, and it's very easy to press it accidentally while the phone is in your pocket.

Setting up T-mobile Internet on the phone could be a pain. You could find instructions online by googling a bit, but it's not the same smooth "just works" experience as on the N80ie.


Overall, I think this a great phone for everyday use. It is replacing an aging Motorola phone, and so far it's been a refreshing change. I highly recommend this phone.

Posted by ovidiu at 08:19 PM | Comments (0) |

December 17, 2005

Ringtones from your music

Apple | Cool gadgets
Millenium Park, Chicago

It bothers me that the music you legally own, perhaps stored on your computer, is not easy to get on your cell phone and make it available as a ringtone. Moreover, the cell phone companies require you to pay a hefty fee of $2 just to get 30 seconds of a song on your phone. Somehow they make you believe it's something special about their songs, so you have to pay for them.

Now I'm not the kind of person to download ringtones and change them periodically. I'm quite content with the default ones, although I must admit when my wife calls me, the phone's ringtone is AC/DC's Hell's Bells. My daughter however, being the teenager that she is, loves to continually tweak the sounds her phone is making. And the idea of having to pay $2 for a stupid ringtone just drove me nuts, so this evening I investigated a bit what could be done.

It turns out it's fairly easy to install new ringtones on your phone. If your phone has bluetooth, you can pair the phone with the computer and just upload the MP3 with the song on the phone. My Motorola V330 works this way, very easy.

My daughter has a Samsung E315, which has no bluetooth, so the above is not an option. The phone doesn't support MP3, but a format called SMAF/MA-2. In addition, she has a lot of songs bought from the iTunes Music Store, which are of course encrypted. So to get them on the phone is quite challenging. Here are the steps I followed and the programs used to accomplish the task (programs are MacOS X specific, I have no clue about Windows, as I don't run it at home):

  • Get WireTap Pro. This program will record the sound sent to your computer's audio output by various programs, including iTunes. With this program recording, play the portion of song you're interested in in iTunes.
  • When you're done recording, open the resulting .aifc file in QuickTime Pro and convert the file to a .wav file. I used Quicktime Pro version, but you could most likely find a free AIF to WAV converter.
  • Once you have the WAV file, open it up in Audacity and select the exact portion from the song you want to become the ringtone. This allows you to really fine tune how the ringtone will sound. Then save the selection as WAV under a new name.
  • You now need to convert this final WAV file to a SMAF/MA-2 file. Download the Wave to SMAF Converter from Yamaha, and convert the file. You'll end up with a .mmf file. For the file to be recognized by the Samsung E315 phone, I had to rename it to have a .mid extension. Also make sure the file is under 40Kb or so, and it has no more than 20 seconds.

    The WAV->SMAF converter allows you to choose either 4KHz or 8KHz as sampling rate. Both will work on the phone, but the sound for the 4KHz version is just terrible, so I ended up using 8KHz. This reduced in half the length of the ringtone, compared to the 4KHz version.

  • Once you have the .mid file, upload it on a web site in a known location (you do have one, don't you?), and send the phone an SMS message containing the link to the .mid file. For T-Mobile, I just send an email to containing the link.
  • Once you receive the message, follow the link and download the ringtone. If you get error messages like Bad Gateway or something else, the file might be too large, or the song lasts too long. Experiment a bit with the sizes and see which ones work for you.

Using the above, my daughter and I created few ringtones from some of the songs she likes. Needless to say, she was very excited about it! You get the ringtone exactly the way you want them to be, and you don't get stuck with choices made by somebody else. Not to mention I was happy I avoided paying the hefty ringtone tax imposed by the cell phone company.

Posted by ovidiu at 11:08 PM | Comments (2) |

November 11, 2005

Remote controlled projection screen

Cool gadgets | Hardware

After spending two months researching, designing and implementing, I finally finished my home project: a remote controlled projection screen system. Here are some pictures of the whole system, as well as two videos, of the system extending and retracting.

What was interesting in this project is that it required a lot of mechanics, electronics and programming to be implemented. Since I've never studied mechanics or electronics (OK, I actually took some basic classes in high school and university), these have been the most challenging and fun parts of the project.

The basic requirement was to have the screen sit on top of the multimedia cabinet, slightly retracted. When I want to make a slide film projection, the system would extend the screen about 10" in front of the cabinet, and allow the screen to drop. The whole system would need to be remote controlled through a regular IR remote, as the cabinet is pretty tall.

The basic design started by choosing the projection screen. I chose a Draper Salara matte white 84" x 84". This was the only projector I found that had the screen attachments flexible, all others had them on either side of the screen. I got the screen from, the only company that allowed me to get the very basic package (screen only, no remote controls whatsoever).

The next step was to design the system to perform the horizontal movement. After investigating linear actuators, I decided to go with a much simpler, home-made rack and pinion mechanism. This needs to move the projection screen horizontally about 15" (~38cm), and is powered by a small DC motor. Here is a small program in bc that I used to size the motor. The actual mathematics used in the program comes from here (look for motor selection and sizing). I bought the parts from, an excellent source for mechanical parts. The DC motor, as well as most of the wires, electronic components and others I bought from

To control the movement of the whole system, I chose to use a BasicStamp system. This component receives inputs from an IR sensor from the remote control, two limit switches to indicate when a horizontal movement should stop, and an IR emitter/receiver to limit the movement of the vertical screen. Here is the program to control the whole system.

Posted by ovidiu at 08:40 AM | Comments (0) |

September 14, 2005

Custom hardware parts on demand

Cool gadgets | Hardware

If you want to design your own parts, and have them machine-made for you, this is very interesting: You design the part using a program they provide, upload the design to their site and have the part shipped to you later. Really cool!

Posted by ovidiu at 10:33 PM | Comments (0) |

July 16, 2005

(Not so) well done Linux-based consumer device - TomTom Go 700

Cool gadgets | Linux

Yesterday I got a TomTom GO 700 portable GPS system. A friend of mine showed me an older version in action a while ago, and I was impressed by how user-friendly the device was. It's small and easy to carry around, has a touch screen to enter all the data, uses an internal 2.5Gb hard disk to store the map information, and the routing information is easy to read and understand. The device can connect to your cell phone via Bluetooth to download weather and traffic information (not for US though). It also has a built-in microphone and speaker so that calls received on your cell phone can be accepted by simply touching a button on the screen. You can also make phone calls through it, but it's a bit more complicated to scroll through the address book; a voice activated method would be much better.

The biggest surprise was when I connected TomTom to my MacOS X laptop through the provided USB cable. The device showed up as a hard-disk, and I could see a bunch of shell scripts very similar to those in Linux. Sure enough, there is a licenses directory containing the GPL and a bunch of other free software licenses. A readme file points to describing all the pieces of free software they're running.

So Linux can be made very user friendly too, very cool!

Update (October 19, 2005): After using the device for a while, there are few usability issues that drive me nuts:

  • You cannot lookup a point of interest by name. You first need to identify its category, only then look it up by name. Trying to find Davies Symphony Hall in San Francisco is not easy: it's neither a Cultural Center, nor a Museum, Tourist Attraction, etc. I contacted customer service about this, and the answer they gave was so-so: [looking up a POI by name] would slow down the unit. BUT, a lot of customers have requested this feature so our engineers and Product Management are working on this so it will be available in future application updates..
  • I cannot get live traffic information in the San Francisco Bay Area because the device cannot connect to the Internet using my T-Mobile GPRS service. I have a Motorola V330 GSM phone but apparently this phone is not supported by TomTom. I tried with no luck changing the ppp connect script on the device, it simply doesn't work. If anyone knows how to make this work, I would appreciate knowing it.
  • Getting on the right entrance on a highway can sometimes be challenging. The only indication you get is to take the exit that comes up in a specified number of feets/meters, but it doesn't tell you the direction on the highway (north, south etc.). It can be very confusing, and several times now I took the wrong entrance. You can avoid this by looking on the provided map, but that's really inconvenient, especially at highway speeds.
  • There are cases when two highways merge, and to continue on the one you already are you need to take an exit. An example is driving south on I280. At the merge with hwy 1, I280 continues if you take the first exit on the right. The continuation of what I280 becomes hwy 1 really. The device doesn't tell you this, and so you can easily miss the exit. This seems to be a maps data problem, rather than the device, but nevertheless is frustrating.

Update (December 9, 2005): I found what the problem was. When asked what phone you have, I chose Motorola V557. For the Internet provide I chose T-Mobile (III), but I think any of the T-Mobile options would work. The crucial setting seems to be whether to allow incoming phone calls while accessing the internet. Choosing the default option (Cannot be accepted while accessing the internet) seems to make things work. If I allow incoming calls, TomTom can no longer connect to the phone. Presumably the connect script is different, making the phone's modem not recognize the options.

More updates: I played some more with the options. Instead of choosing the v557 as described above, I chose v635, and then chose the option to allow incoming phone calls to be made. The internet is active and I can still receive and make phone calls! I'll give this feature a try and post updates on how this works.

I forgot to mention, but all these happened after I upgraded to the latest 5.42 version of their software.

Posted by ovidiu at 11:34 AM | Comments (7) |

April 01, 2005

iPod Photo Connector is slow

Cool gadgets

About a month ago I bought the latest iPod photo with the hope it will be able to act as a backup for the pictures I take with my digital camera. I just got the new Photo Connector and connected it to my EOS 20D camera to see how fast the downloads happen.

Downloading 47 pictures occupying 345Mb takes 12 minutes, eating a lot of iPod's battery in the process. Based on the battery level, I estimate it uses about 1/6th of the battery.

By contrast, downloading the same pictures directly from the camera into the computer takes 2 minutes (the camera has USB 2.0), 6 times faster!

Another comparison I did was to transfer the pictures from the iPod to the computer directly. I mounted the iPod as a disk and copyied the pictures on the computer using cp in Terminal. This process takes about 40 seconds using a dock connected via Firewire to the computer!

This is really disappointing, I was hoping for a much higher transfer rate between camera and iPod. Judging by the difference in speed, 6 times slower camera <-> iPod than the camera <-> computer connection, it appears the Photo Connector uses USB 1.1 instead of USB 2.0.

Hopefully Apple will improve this connector in a future release. As it is, the current version is fairly unusable. If you just want to carry the camera and iPod with you, downloading a 1Gb memory card would take about 35 minutes, in which time you cannot take any shots.

Posted by ovidiu at 10:41 PM | Comments (0) |

March 26, 2005

Apple mini as print server

Apple | Cool gadgets

I just got an Apple Mini, it's simply adorable! Installing it was a breeze: I just copied my files and settings from a Powerbook via Firewire. I got the machine to have it act as a server for the printers, to replace an aging HP JetDirect 500x server. But it's so small that I'll probably leave it hooked up to the LCD screen, for my young boy to play games from time to time.

I need to figure out how to make the printers visible to an old Redhat 6.2 laptop, running LPRng. So far I tried the regular LPR settings, but the CUPS server on the mini complains that there's no file being posted for printing. I've also investigated Samba printing, for which I had to enable sharing the printers on samba. I cannot find the exact instructions I followed, but I had to add few lines in /etc/smb.conf, like below:

In the [global] section, add these lines:

  load printers = yes
  printing = cups
  printcap name = cups

Then add a new section, reading like this:

  path = /var/spool/samba
  printable = yes
  public = yes
  guest ok = yes
  writeable = no
  printer admin = root, @admin, @staff

I found these instructions to also be quite helpful in how to set things up so that older Linux systems can access the printers on the server.

Posted by ovidiu at 11:50 PM | Comments (1) |

March 21, 2005

Playing AAC files on slimserver: faad2 problems

Cool gadgets | Linux

The Seagate Barracuda 200Gb hard-disk of my music system decided to die about a week ago. I'm going to send it out to the manufacturer for an exchange, but in the meantime I went out got a Maxtor 250Gb hard-disk instead.

As if this was not painful enough, reinstalling the slimserver software was not as easy as I had expected. After getting Linux and the slimserver software installed, playing AAC files would produce nothing but a disturbing hiss in the speakers. Searching on google for a fix revealed that there might be a problem with different endianess of the bytes being outputted by faad2, the AAC decoding software.

The proposed solution was not pretty: pipe faad2's wav output to lame, which would correctly re-encode the file as mp3. The problem with this solution is that the machine I'm using to serve the music is not beefy, it has only a meager 600MHz Via processor. So I wrote instead a very simple program to swap the order of bytes from stdin and print them out in the correct order at stdout.

Get the program from here, and compile it like this on your machine:

cc -o swab swab.c

Copy the resulting swab binary in /usr/local/bin, or some other location in your path. If you're on linux where mov123 does not exist, carefully comment out all the lines that refer to it in your slimserver's convert.conf file. Then add the following at the end of the file:

mov wav squeezebox *
    [faad] -w -f 2 $FILE$ | swab

The above did the trick for me, and I'm again a happy squeezebox user!

Posted by ovidiu at 06:44 PM | Comments (5) |

October 02, 2004

Small computers: mini-ITX

Cool gadgets | Linux

After I got the Squeezebox, I realized I need a machine to serve the music. Unfortunately a regular computer makes a lot of noise, and having it running all the time eats a lot of power. So I started looking around for a smaller system.

A colleague from work suggested going with a low-power alternative, running on a VIA Eden processor. The 533MHz and 600MHz of these processors run without the need for a cooling fan. The 800MHz and 1GHz processors, although still low-power do need a cooling fan on them. But the 533MHz processor has enough CPU capabilities for serving files to the squeezebox, so there's no need to go with a more powerful processor.

I ended up getting this system with the M6000 motherboard and processor. I wanted the ability to add external hard-disks over USB 2.0 or Firewire, otherwise I would have gotten the lower-cost EPIA 533MHz.

The Travla C158 case is very small, nowhere close to the ugly tower cases of today's PC computers. The power supply is external and supports up to 60W. The case does have a small fan at the bottom, which makes a lot of noise. Because the motherboard runs pretty cool, I decided to take out the fan. The only other source of heat is the hard-disk, but it's not too bad.

One thing about the case is that is so small, it needs a memory less than 28mm height to fit inside. Since a regular DDR memory is too big, I had to get a low-profile memory sold by CaseOutlet. I also got a 200Gb Seagate hard-disk from Fry's for $70 after a mail-in rebate, which should be able to lots of music.

At first I tried installing Fedora Core 2, but it failed right after starting the installation. I decided to try Knoppix, a distribution that can run entirely from a CDROM. The system booted just fine, and recognized all the devices inside. After I logged in, I installed the system on hard-disk and rebooted from it. The setup was incredibly smooth, with no major problems or incompatibilities. A really good distribution, highly recommended!

The Knoppix distribution is based on Debian, and this is the first time I have to administer a system based on Debian. The package management is quite different from RPM based system, even though it has similar features.

I copied the music from my powerbook, setup slimserver on it and reconfigured the squeezebox to get the music from the new server.

All of the operations took about 5 hours, including setting up the hardware appropriately, downloading and installing Knoppix, copying the music and setting up the slimserver software. I was quite impressed how smooth everything was.

Posted by ovidiu at 05:46 PM | Comments (0) |

September 25, 2004

SqueezeBox by SlimDevices

Cool gadgets

Today I decided to go out and buy a Squeezebox, a superb device that allows you to play over WiFi your entire music collection that's stored on a computer. Since the company was only minutes away from where I work, I just drove by their office.

The device itself is nothing else than a small wireless computer that's able to hook up in a network (wired or wireless). It connects to a server that streams the music to it. It has audio output connectors for connecting it to an amplifier. The nice thing about it is that you access the device with a plain remote, much like a CD player or any other audio system. You can browse your entire music collection and play it on the squeezebox instead of your computer.

In terms of installation, I had no problems to hook it up in the wired network. I did have issues connecting it in the wireless network. I use WEP with 128bit keys, and my wireless router (an older 3Com AirConnect) does not advertise the name of the network. The squeezebox would display a bogus linksys network, even with no such network in range. Manually entering the name of the network would not do any good: after entering the WEP key, the device would still search for the linksys network, and completely forget about the network I entered. To make it work, I had to modify the settings of wireless router to have it advertise the name of the network. Only then the squeezebox remember my network name and connected to it. After this worked, I reset the wireless router back to its original settings. What a pain though, especially since it took a while to figure it out.

The server is a piece of software that receives commands either from the device or via a Web interface, and streams the music to the device(s) connected to it. I couldn't find any authoritative answer to this, but it appears the server does all the work of decoding the various formats, and encodes the music in a simple protocol for the device to consume. I'm not sure I entirely agree with this approach, as it puts the load on the server, rather than on the box.

You can also use the web interface to control the squeezebox. It feels weird though and much slower to use than the regular iTunes interface I use - which is normal with web applications. Managing playlists tends to be quite painful, especially if you want to play only one song rather than a whole album.

The server software is free software, however the one running on the device is not, as well as the one running on the device (except for a bootloader, for which I haven't seen the source code). I was hoping I could remote login into the device to play around with things, but all the ports seem to be blocked on the device. But this is normal though, this is where slimdevices' bread-and-butter is. There is no need to login on the device, the server side maintains all the updates; very ingenious! It suffices to update the bits on the server side, and the squeezebox picks them up. All the menu navigation and squeezebox functions are written in Perl.

Overall I'm impressed, even if the usability is a bit rough around the edges. If you're tired of carrying your computer or iPod with you in the living room, squeezebox is highly recommended!

Posted by ovidiu at 12:05 AM | Comments (1) |
Cool stuff
  Arduino TinyWebServer: part 3 and part 2
More from me
Picture gallery
Copyright © 2002-2016 Ovidiu Predescu.