MP3 Player

Hardware Home Software Download

Read all about the MP3 Player Project in the October and November 2005 issues of Nuts & Volts Magazine!!

Not long ago, building your own MP3 player would have been a major undertaking.  Today the technology has reached the point where you can buy a single chip that does all the hard work for you.  The STA013 is a complete MPEG Layer III Level 2.5 decoder - all you have to do is feed it the bits from an MP3 file, fast enough to keep it happy, and music comes out the other end.  Well, pretty much ...

In real life it's a little harder than that, but this project will allow you to put together your own MP3 player platform.  The software is open source and the hardware is intentionally left generic to allow you to customize it for your needs.  This MP3 player was the subject of a two part feature article in the October and November 2005 issues of Nuts & Volts Magazine and, if you don't already have it, we recommend that you visit the nice people at Nuts & Volts and order a reprint of those issues.

On the whole I'm pretty happy with Nuts and Volts, but I have to say that their postage stamp sized rendition of this photo was a big disappointment.  Photographer Dan and I worked hours on this image!  Click on the image to the left for a bigger version...

And as if that wasn't enough, N&V left out the dedication too!  Here's what it should have said - Last but never least, thanks to my wife Debee who ported the firmware from the very expensive Keil C51 compiler to the free (!!) SDCC compiler, all the while enduring endless repetitions of Sheryl Crow as I debugged the hardware.
 

Support

There is a Spare Time Gizmos group on Yahoo! specifically for discussing this project and all other Gizmos.  Anybody interested is welcome to join, and if you do elect to build the MP3 player we strongly suggest you do.  Any updates, errors, offers, or other information concerning this project will be announced there!

Click here to join sparetimegizmos
Click to join Spare Time Gizmos

Errata

There are currently no known errors in the Nuts & Volts article, but if any are found we'll describe them here.

Hints

If we have any tips or hints to help you build your MP3 Player, you'll find them here!

Firmware

Is it just me, or are projects that involve music the most fun? Picture
this - you write a boatload of software, stuff it into this little plastic
chip, push the RESET button and - if nothing screws up - music comes out.  Computers don't impress me anymore, but that's still magic to me.

The MP3 Player firmware source code is Copyright 2005 by Spare Time Gizmos and is released under the terms of the GNU General Public License.  You're welcome to download it, modify it, and re-distribute it within the terms of that license.  If you do something cool with it, let us know - we'd like to include it in our sources!  But before you click that DOWNLOAD button, listen to a couple of things, please.

First, if you're looking for the source to an MP3 decoder algorithm that runs on an 8 bit micro, forget it.  There's no such thing and you haven't been paying attention either - all the MP3 decoding in this project is done by hardware in the form of the STA013 chip.  The only thing this firmware knows about the insides of an MP3 file is how to find the ID3 tag, and that isn't very exciting.

Second, if you only want to program your player and don't plan to modify the source code, then download the Binaries archive.  The hex files in this image were built by the Keil C51 compiler, which generates much smaller, faster and more responsive code than the free SDCC compiler.  I guess there has to be some reason why C51 costs $3,000, after all.

Downloads

bulletPurchase the full text of the Nuts'Volts articles
bulletDownload the complete MP3 Player Schematics
bulletDownload the MP3 Player Firmware Binaries and Sources

Parts

A few words on locating some of the harder to find parts:

bulletYou can purchase the STA013 and P89C664 chips from DigiKey and the CS4334 from Newark.
bulletThe exact rotary encoder used in the article is a Grayhill 61C22-01-04-02 which you can purchase from DigiKey for around $20.  There are many other cheaper encoders which will undoubtedly work too, but you'll need to decide for yourself which ones are compatible.
bulletThe current firmware will work with a simple mechanical rotary encoder in addition to the optical version.  Digi-Key P/N CT2999 (CTS P/N 288V232R161B2) is a suitable mechanical encoder.  The advantage to the mechanical encoder is that it's cheaper - something like $5 vs. $20!
bulletThe Optrex DMC20481 4x20 LCD display can be purchased new from DigiKey for approximately $30.  This model has an LED backlight but is otherwise identical to the one used in the article.  You can usually purchase 4x20 LCD displays from other surplus sources for considerably less, but your results may vary.  Pretty much any 4 line by 20 column LCD display with a HD44780 controller can be used; other display geometries (for example, 2x40) can be used but will require firmware modifications.
bulletThe CU20045SCPB-T28A VFD display is commonly sold on eBay and other surplus stores for around $20, however I don't currently know of any source that sells them new.  If you find one, write me and tell me.  You probably wouldn't want to buy one new, though - they'd cost over $100!
bulletNote that the Noritake Itron W5J suffix displays sold by Digikey and others are not the same as the T28A.  The W5J displays are actually LCD replacements and might possibly work with the MP3 Player if you connect them to the LCD port and use the LCD firmware.  I haven't tried this, though, so no promises.

The display interface in the MP3 Player is fairly generic and there are a great number of surplus LCD and VFD displays that could be made to work with minor firmware and/or hardware (e.g. special cables) hacks.  If you get one to work, or if you're interested in trying, please join the Yahoo Spare Time Gizmos Group and tell us about it!

Purchase

Please read the Spare Time Gizmos store policies before ordering.  Shipping charges shown are for the US only - international customers please inquire before ordering.  Sales tax must be charged on all shipments to California addresses.

21-Oct-2005 - The PC boards are here (!!), and we should have all outstanding orders shipped by the end of next week.

P/N Description Price  
MP3 Player Schematics and Firmware (Binaries and Sources)
MP32B MP3 Player bare PC board only
Etched and drilled, double sided, with solder mask and silk screen.
$18

If you do not wish to pay by PayPal, please contact us with your needs and we'll be happy to accept payment by personal check or money order.


Free counters provided by Andale.

Visit these Spare Time Gizmos

AC Frequency Monitor Stereo 6T9 KY11 Interface Panda Display Panel Radiation Monitor Life Game COSMAC Elf 2000 EPROM Emulator BASIC-52 Explorer TU58 Emulator Contest Station Tactile VU Meter SBC6120 Sound Card Buddy MP3 Player Video Terminal

Click to join the Spare Time Gizmos Yahoo! Group.[logo: created and managed with Microsoft Front Page 2000]Copyright 2000-2006 by Spare Time Gizmos.  All rights reserved.  Last modified October 05, 2011.
Send mail to webmaster@sparetimegizmos.com with questions or comments about this web site.