PCBs and component kits comming soon. Please register your interest by emailing me at buy_pcbs@brokentoaster.com. Construction instructions, pictures and videos are available here. 18 May 08
Hardware Rev F and previous designs are available for download from SourceForge. Support for SD and MMC cards in this version.


The main goal of this project is to create an open design for a portable MP3 player, in both hardware and software. The secondary goal of this project is to make it as simple to construct, and as cheap, as possible.

The design is based around the AVR Butterfly from Atmel. The use of this module greatly simplifies the hardware design and construction and packs plenty of punch for $19.99 USD. The remaining hardware can be easily placed on a single sided PCB ($10-$20). The MP3 decoding is handled by a VS1001K decoder chip from VLSI Solution Oy ($20). This chip also has an onboard DAC with enough power to drive headphones, simplifying the board design even further.

I am currently investigating demand for purchasing PCBs and components Kits. Please register your interest by emailing me at

Click for 
			larger image

A Nokia 3310 LCD based ButterflyMP3 with Li-Ion battery and USB charging.

The current prototype makes use of either a Nokia 3310 LCD screen or the original alphanumeric LCD. This was used initially because I dropped my original Butterfly and broke the screen, but it also frees up a lot of IO on the Butterfly which I hope to use in the future for implementing a ATA/ CF interface.

The cost of this project is around $50-$100 depending on what type of screen you use and other components. This project will never compete with any mass produced products but is aimed at anyone wanting to learn about MP3 Players, Electronics, PCB design or Firmware design. The firmware can easily be adapted to work with other Atmel AVR micro-controllers and your own custom designs.

Current Status

A basic PCB has been designed and manufactured; and software has been written to test the hardware capabilities of the device. The current firmware is fully functional to the point of selecting songs on the MMC and playing them, pausing or skipping to the next song. In future releases it is hoped to enhance these features.

The current focus of development is on a revised hardware design with a newer VS1011 or VS1053 decoder chip and an SD card socket. The latest version for the hardware is Revision F. This adds an SD connector so the project can use both SD and MMC media. I have recently developed better documentation to show construction from start to end. You can find the new documentation here

The development has been branched into an ATA development branch and MAIN development branches. The main branch is the original design with an SD/MMC card and alpha numerical or graphical LCD. In the CVS the last release version is tagged STABLE.

The last firmware release (0.6) was 4 June 2007. This is added a number of new features including:

  • Directory browsing support
  • Doxygen documentation online here
  • Serial remote control interface
  • Accurate battery usage indication
Please check the release notes and logs for more detail.

Hardware was designed and partially debugged for work to begin on a HDD version using 2.5" drives with USB 2.0 connection but active development on this branch has stalled due to the low cost of high capacity SD cards. The work done so far is available from CVS under the ATA branch. The case designs for the basic SD/MMC versions are complete.

The Rev D PCB is complete and adds support for li-ION polymer batteries and USB charging. The Rev E PCB uses less power due to using a different voltage regulator. The MMC card socket is no longer stocked by Farnell. The Rev F PCB uses an SD/MMC card socket stocked by Farnell.

Road Map

The planned developments for this device (in rough order of priority) are:



  • Develop a version for VS1003 and later generation decoders
  • Add ata/cf support Rev ATA-A
  • Add USB bootloading / remote control. Rev G
  • Add tunable FM transmitter output to design Rev G?
  • Add an accelerometer for UI and freefall detection.
  • Fast forward and rewind controls
  • Smooth fade in/outs
  • Add random playback
  • Add playlist support
  • Add basic MMC access over USB
  • Add software for selecting FM frequency
  • Bloat with games and extended alarm clock functions ;)


Here are some web pages which I have found useful during my time working with AVR microcontrollers and MP3 Players. If you would like to contribute or have any questions please visit the project page and forums here.

Powered by WebRing.
Project Page Support This Project SourceForge.net Logo