Jump to content

The Stellaris-MP3-thing

Recommended Posts



Finally I decided to say a word or two about a project I am currently working on. While this is nothing innovative or really impressive, this is my first invention that actually can be used for something.


This is a MP3 player, with colour LCD screen and touchpanel. I also hope to add some features that an iPod or something like don't have, for example serial console, or AVR programmer.


I have made something like a Booster Pack to connect elements together. While this is a perfboard with a lot of cables, and it looks ugly, it works and I can even say it is portable. I would like to make a real Booster Pack with everything needed, but I have no experience in etching PCBs yet.


My board connects the Launchpad with LCD screen and VS1003b board(which is responsible for sound and MP3/WMA decoding in my project). It also has SD card socket.


I dream of final device with rechargeable battery, VS1053/1063 for FLAC and OGG playback, and a RTC, all enclosed in a nice case.


Now, about the software. I am writing it in Energia IDE, but avoid using things like digitalWrite in parts of code where speed is important. For SD card, I use the FatFs library, the files that I posted before. The code may be a big mess, but it somehow works. Here is the list of what it currently has:

  • A simple menu to select "apps"
  • Screen calibration. Data is stored in EEPROM so don't run my code without modifications if you own the revision of LM4F120 which stops working after EEPROM write attempt. The calibration algorithm is not very smart.
  • The file selector used in below functions. This currently does not check extensions!
  • Picture viewer. Currently it supports only RAW RGB565 bitmaps and it assumes they are 240x320. Support for BMP is coming, and maybe even some JPEG decoding if I finally understand how picoJPEG works.
  • "Slide" is also RAW picture viewer, but it takes longer images(width 240, height longer than 320) and lets user scroll through the image with touch. It uses LCD's ability to do hardware scrolling and this feature looks nice. Code, however is not perfect and there is a bug which I am trying to fix.
  • Minipaint lets user paint on the screen. This is meant for touch panel testing. But if I add saving feature, this may become more useful.
  • Audio player. It plays MP3, WAV and WMA files. If VS1053 was used instead of VS1003b, also FLAC and OGG would be supported. It shows artist and title from ID3 tag, and also bitrate of MP3 and WMA files.
  • Module player. This is ported from PIC32, the same code was used in Stellaris Mod Player presented there some time ago. But I am using the VS1003b for audio output and not PWM. The player needs optimization. It needs a lot of memory for buffers. With current settings I can play some of my mods, but 4 channel mods with large samples don't play properly. With larger buffer and maximum of 4 channels I can play all my 4 channel mods perfectly, but no mods with larger number of channels are supported. I am going to try putting also S3M playback. I think about making the buffers dynamically allocated, so they won't use RAM when MOD player is not in use.
  • Plasma effect. It displays animated plasma, like in old classic intros.

I attached some pictures of the thing. I put that piece of plastic on the Launchpad to diffuse LED lights. They are nasty, aren't they? Also, all my code is available if anybody wants to look at all the mess:



I look forward for any opinions and even criticism. I know everything is far from perfection. I would be pleased for any help and advice :)


I am also sorry if there were any mistakes in my English as this is not my native language.






Link to post
Share on other sites

@@szymekrak Welcome to Stellarisiti. Thanks for sharing your project here. Looks like you have alot of features added.

Is this entirely in Energia? Iff yes, that is impressive. There are a few BoosterPacks made by members if you are interested in them. @@RobG makes one with an sdcard. If you are going ahead to make a BoosterPack, let me know and I'll see if I can sponsor you for the PCBs.

Your English is great! and keep us updated on progress.

Link to post
Share on other sites
  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...