Apr 14, 2007

Of Robots, mp3 and Ogg

Today I went to a robotics fair, here in São Paulo, as my 6 years old son just LOVES robots.


For him, even seeing an enormous soldering robot (a big mechanical red arm) drawing a Betty Boop character on a sheet of paper clamped to a flip chart, is something really marvelous.


Obviously, the Lego NXT robot kit was the thing that made he throw a "Can you help me buy that (finance), daddy?" look, which I have to counter with some fast math on how it would take him nearly two years without any money just to pay me the cost of such a 'toy' (I give him US$ 5,00/week, and with import taxes such kit would cost over US$ 550,00, here).


Anyway, after walking all around the booths, seeing the competitions, and son on, we were walking back to where I parked my car (half-a-mile away, under a torrid sun), and I remembered the other high cost 'toy' he wanted to buy, just yesterday, and iPod (or at least some mp3 player), and I was foolish to propose him why we wouldn't project an hybrid walking-robot/mp3-player, so that it would follow him around the house (or at least walk-around) playing some tunes.


Yeah, I really have a BIG mouth... Only because lately, I've been programming PICs, ARMs and such other embeddedable things...


Nevertheless, coming back home I researched a bit (Google, of course) and found some robot projects, but none really in the way may son would like. Yet I've found some interesting pieces:


First, I found the OpenServo project, what could make for cheaper servos to give precise movement capabilities to the robot (http://www.openservo.com/).


Another interesting site, full of kits is http://www.eidusa.com/Electronics_Kits.htm

Then I've stumbled on the always interesting Make Magazine, what do I find there? An open-source mp3-player hardware module, the Daisy MP3 Player. But as someone commented in the associated Step-By-Step Tutorial (in another site) for this kit, it is a little too bulky and costs too much just to play mp3 files.


Warning: the 'open-sourcedness' of such projects is acquired by the fact that they have the decoder in hardware (some specialized DSP-based chip) and you are already paying the royalties for the MP3 patents, when you buy the chip.


Someone pointed me, in the same stream of comments, to a really small mp3-player project. the MintyMp3 player (http://web.media.mit.edu/~ladyada/make/minty/index.html) housed on an Altoids Peppermints box.


This is a truly interesting project, and hast come to plug some curious extras like an FM transmitter, to allow to play on your car stereo...


Well to put some limit on this babbling, all of that is nice, and ok, but hey, I'm a Linux user/dev and all my music is in the Ogg format (and I want to keep it that way), so I needed to find if such chips could help play ogg files, instead of mp3. Some of them, specially some more recent ones (the ones used in those projects are some 3 to 5 years old), are Multiformat, but that really means MultiProprietaryFormats (MP3/WMA/AAC), some chips in the Micronas line even come with builtin DRM features (argh!!!).


But at the end I've found something really, really interesting and recent. From Finland (again) comes a full Ogg Player on a chip, courtesy of the fine engineers at VLSI Solutions (http://www.vlsi.fi/vs1000/vs1000.shtml).


The VS1000, is a complete solution, you just add the Oscillator Crystal, some NAND-Flash memory, an AAA battery, some buttons and connectors (USB/earphones) and voilá, you have fully working very small Ogg Player.


In truth it does a bit too much for my needs, but you can hook into the DSP code to change bits a little (for example, the default ROM behaves as a Storage Device [stop playing musics] when connect in and USB port, and I would like to be able to control things with the robot microcontroller (possibly an ATMEL ARM, like in the Lego NXT, or maybe some of the bigger PICs).


Well lots of things to play with... in my mind at least.