Tuesday, October 13, 2009

How-To: Make your own MP3 player


We got a whiff of MAKE's Daisy a while back, but now we've finally managed to get our hands on one of these open source MP3 player kits. Today we'll whip out our soldering iron and show you how things shake out. The kit isn't dirt cheap at $115 each, but it's completely open source and flexible - making it ideal for a SunDIY afternoon (har), or for that soldering-iron-weilding open source fanatic in your life. Read on!



We grabbed our usual assortment of tools to make the board. Our fine tip 15 watt soldering iron, a set of "helping hands," a tube of solder some pliers and pair of diagonal or flat cutters. Of course, we always keep a multi-meter handy.


Take a few minutes to lay out all of your parts. Grab the instruction sheet and make sure you got everything. Once it's all accounted for, you'll be ready to start building. The instructions include just enough information to get you going. The big chip is the PIC controller that runs the show; it provides the control interface and feeds the data to the decoder chip. The Daisy is an odd marriage of SMD decoder chip and monstrous PIC controller.


The real star is this little guy. It's a MP3 / WAV decoder and headphone amp all in one. Soldering this chip to the board is the single most difficult, but important part of the build.


To mount the SMD chip, we tinned the solder pads with some solder. If you've got some liquid flux, your life will be easier later on. If you don't, just don't cook the solder too much as you tin the pads. Be sparing, it doesn't take much.


Yeah, yeah, we know this looks ugly, but we prettied it up later. Place the chip on the pads and heat each pin to melt the solder onto it. While the rest of the board is clear, make sure you've got a solid connection at each pin. You can check them with your multimeter - we put one probe on the top of the lead, and the other at the tip of the solder pad. If you're picky, you can use some desoldering braid to remove some of the excess solder.


There are two crystals in the kit. The marked crystal is 24.576Mhz, while the unmarked is 10Mhz. They're not polarized, so they can be mounted in either direction, just be sure to put them in the right locations.


After each component is soldered on, we trim each lead. We've found that flat cutter like these leave duller edges and help reduce flying bits.


If you haven't worked with resistor networks before, you'll be missing a vital bit of information. The dot on the end indicates the common lead. This corresponds with the bar on the resistor nets in the instruction diagram.


With long components, we usually solder one lead, and position the part while it's still hot. After that, finishing the job is easy. (To ensure good connections, make sure you heat the lead, then melt the solder on the hot tip/part lead.)


The headphone jack has fairly large leads. Since it's another surface mount component, we tinned the pads before mounting it. You can get away without doing it -- in fact, we didn't bother when we installed the SD card jack.


Make note of the position of the notch on the DIP jack for the PIC controller. It won't effect operation, but the notch indicates the pin numbering. It's good to be in the habit of following the standard.


The symbol for a diode looks like a triangle with a bar across one corner. The bar indicates the cathode of the diode -- the line on the end of the diode also indicates the cathode. Make sure you orient these in the proper direction before soldering them down.


The shape of the leads on the .01uf capacitors is by far the most annoying part of the build. They are too wide for all of the mounting holes.


The fix is simple enough. Grab a pair of pliers and carefully straighten the leads. Just don't torque on the lead near the body of the capacitor!


Once that's done, the biggest pain in the neck is placing all the caps in the various board locations. We noted a botched stencil mask job here - the labels for c11 and c12 overlap with the solder pads for the decoder chip. Ah well, we got the idea.


Mounting the voltage regulator is easy, just spread the leads a bit and insert it. The flat face corresponds with the stencil on the board.


This 10uf capacitor requires a bit of a bending job. Make sure to orient the leads correctly before you bend them.


The cap doesn't quite fit between the resistor net and the chip socket. We bent the network over a bit and made sure it didn't interfere with chip insertion.


The biggest flaw in the instructions has to do with the LEDs. LEDs are polarized - The instruction sheet only notes the flat side of the LED to indicate polarity -- but the small LEDs that come with the kit lack a flat side. The short lead on the LED also indicates the cathode. So insert the LEDs with the short lead at the flat notation of the LED on the board. Careful now!


When you try to install the PIC controller chip, you'll find that the leads are a bit wider than the socket. This is always the case with DIP hardware. To fix it, place the edge on a flat surface and push down gently. The idea is to bend all the pins uniformly.


We powered our Daisy up with 5v from our bench top PSU. (Modified PC power supply) We noted some noise from the PSU in the sound output - battery power prevents this.

To use the Daisy, you'll have to format either a SD / MMC card or a miniSD or microSD card in a SD adapter. (We scored a 256MB miniSD with adapter for $10, but you internet ferrets can probably do better.) Once we formatted the card to FAT32 with an external card reader, we loaded up some MP3s and powered the Daisy up in it's default configuration (no jumpers -- it would have been nice if the kit included some in the kit). The player started playing immediately at a decent volume. The sound quality is actually very good. We'd say that the kit is a medium difficulty build -- the SMD chip is the hardest part. After that, it's pretty easy.


The most interesting feature of this mp3 player is the flexibility of the configuration. Thanks to all the inputs and jumper configurations, the player can be customized to perform in most ways you can think of. We wish it included a USB port to allow the memory card to be easily accessed. For now you'll need something else to load your songs with. The various d-pins are temporarily grounded to tell the player what to do: track, volume, pause, etc.

Alright, we built it, now we'll tell you what we think about it.

The good:
  • Open source -- you can modify the firmware (especially with in-circuit programming).
  • Lots of room to grow with that monstrous new PIC controller.
  • The decoder chip sounds great.
  • Serial controllable.
  • Flexible from the get go -- you can choose the right mode and integrate it with other projects.
The bad:
  • You need a PC and a card reader to format your card to FAT32
  • No USB interface for loading data.
  • Should include jumpers for the price -- they're cheap, but can be a pain to hunt down.
  • No display interface.
What we'd love from Daisy 2:
If it was a full on surface mount project. The board would be smaller and the component cost could be reduced. Include a die cut transparency to apply solder with and cook it on some aluminum foil over the stove. In it's current state it's a neat project, but if all you want is music, a first-gen generation iPod nano doesn't cost much more -- and has serial control available through the dock connector. But you didn't buy this thing because you wanted a nano, obviously, you bought it because you wanted to build your own MP3 player just like Jobs and Gates. Well, now you can!