Sunday, September 11, 2011

MikroMMB for Xmega MP3 Player

This project is created in AVR GCC with 100% my own drivers and libraries , this player can play MP3, WMA and OGG files from micro SD/SDHC memory card fat16/32 formatted.


On this firmware I made some bug fixes and I adding some functions to player:

Bug fixes:

  1. The previous versions has a bug that forces user to put on first location of root directory the volume ID or a file or folder with the short name only.
Function's added:
  1. A progress bar to track the melody, with the same progress bar the user can force the audio player to play file from a specified point.
  2. Player can run now like a thread "Open player" "Close Player" when card is inserted is automatically opened the player, when SD card is removed all resources used by Audio Player will be freed.
  3. Now you can play music from SD/SDHC card's formatted in FAT16 or FAT32(The FAT16 has a little bug, on root directory is displayed only files and directory's from first Page(512Bytes).
On this version you can play: MP3, AAC, OGG, WAV and WMA.


 On this version I made some changes:

  1. I change the navigation from the "next" "previous" button to a list box.
  2. On this version is not capable to display bitmap's because I want to design another interface to view bitmap photo.
  3. The VS chip data is send by a service that work inside the RTC interrupt service, in this case has a high priority to send data to VS chip.

Download V1.2 demo version of this player.


On this version I made huge improvements.

  1. Now you can navigate through the directories when you listen music, you can choose another melody when you listen another melody.
  2. The player has change the listen melody with the next from the current directory, the payback is stopped after the last melody is played.
  3. Now you can see bitmaps images in 8, 24 and 32 bit/pixel with some limitations, maximum size 240x200pixels, the maximum file size 140KB (140000bytes), the 240x200 pixels limitation is implemented to no interference with the player interface, the 140KB limitation is made because I have a bug in the bitmap library, that can't read files bigger than this value.
This version is limited to play only MP3 files, the core clock is 32Mhz.


The controller is running at 16Mhz.

On this version can't manage the power consumption.

This version can play MP3, WMA and OGG.


Christoph said...

Hi! Great work, very impressive. Is there any chance that you release the source code? That would be great.



Morgoth said...

I already modified the source code for my board of Xmega MediaPlayer that can be ready for buy in several weeks I think, now I working to a Framework for him.